Skip to content

Commit

Permalink
Moved Android code to shared
Browse files Browse the repository at this point in the history
  • Loading branch information
Antoine Robiez committed Mar 15, 2024
1 parent 9d8a02c commit f707089
Show file tree
Hide file tree
Showing 25 changed files with 172 additions and 569 deletions.
Original file line number Diff line number Diff line change
@@ -1,25 +1,12 @@
package fr.paug.androidmakers

import android.app.Application
import com.androidmakers.di.viewModelModule
import fr.androidmakers.di.DependenciesBuilder
import fr.androidmakers.domain.interactor.GetAfterpartyVenueUseCase
import fr.androidmakers.domain.interactor.GetAgendaUseCase
import fr.androidmakers.domain.interactor.GetConferenceVenueUseCase
import fr.androidmakers.domain.interactor.OpenCocUseCase
import fr.androidmakers.domain.interactor.OpenFaqUseCase
import fr.androidmakers.domain.interactor.OpenXAccountUseCase
import fr.androidmakers.domain.interactor.OpenXHashtagUseCase
import fr.androidmakers.domain.interactor.OpenYoutubeUseCase
import fr.androidmakers.domain.interactor.SyncBookmarksUseCase
import fr.androidmakers.domain.repo.BookmarksRepository
import fr.androidmakers.domain.utils.UrlOpener
import fr.androidmakers.store.local.createDataStore
import fr.androidmakers.store.local.BookmarksDataStoreRepository
import fr.paug.androidmakers.di.viewModelModule
import fr.paug.androidmakers.di.androidViewModelModule
import io.openfeedback.android.OpenFeedback



class AndroidMakersApplication : Application() {

lateinit var openFeedback: OpenFeedback
Expand All @@ -29,7 +16,7 @@ class AndroidMakersApplication : Application() {
super.onCreate()

DependenciesBuilder(this).inject(
listOf(viewModelModule)
listOf(androidViewModelModule, viewModelModule)
)

openFeedback = OpenFeedback(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,17 @@ package fr.paug.androidmakers.di

import fr.paug.androidmakers.ui.MainActivityViewModel
import fr.paug.androidmakers.ui.components.AgendaLayoutViewModel
import fr.paug.androidmakers.ui.components.PartnersViewModel
import fr.paug.androidmakers.ui.components.agenda.AgendaPagerViewModel
import fr.paug.androidmakers.ui.components.session.SessionDetailViewModel
import fr.paug.androidmakers.ui.components.speakers.SpeakerViewModel
import fr.paug.androidmakers.ui.components.speakers.details.SpeakerDetailsViewModel
import fr.paug.androidmakers.ui.components.venue.VenueViewModel
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module

val viewModelModule = module {
val androidViewModelModule = module {
viewModel { MainActivityViewModel(get(), get(), get(), get(), get(), get(), get(), get()) }
viewModel { PartnersViewModel(get()) }
viewModel { AgendaPagerViewModel(get(), get(), get()) }
viewModel { AgendaLayoutViewModel(get()) }
viewModel { SpeakerViewModel(get()) }
viewModel { SpeakerDetailsViewModel(get(), get()) }
viewModel { SessionDetailViewModel(get(), get(), get(), get(), get(), get())}
viewModel { VenueViewModel(get(), get()) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.core.view.WindowCompat
import androidx.lifecycle.lifecycleScope
import com.androidmakers.ui.about.AboutActions
import com.google.android.gms.auth.api.signin.GoogleSignIn
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
Expand All @@ -30,9 +31,7 @@ import fr.androidmakers.domain.model.Partner
import fr.androidmakers.store.firebase.toUser
import fr.paug.androidmakers.R
import fr.paug.androidmakers.ui.components.MainLayout
import fr.paug.androidmakers.ui.components.about.AboutActions
import fr.paug.androidmakers.ui.theme.AndroidMakersTheme
import fr.paug.androidmakers.util.CustomTabUtil
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,34 +42,31 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import at.asitplus.KmmResult
import com.androidmakers.ui.about.AboutActions
import com.androidmakers.ui.about.AboutScreen
import com.androidmakers.ui.speakers.SpeakerListViewModel
import com.androidmakers.ui.speakers.SpeakerScreen
import com.androidmakers.ui.sponsors.SponsorsScreen
import fr.androidmakers.domain.interactor.GetPartnersUseCase
import fr.androidmakers.domain.model.PartnerGroup
import fr.androidmakers.domain.model.SpeakerId
import fr.androidmakers.domain.model.User
import fr.androidmakers.domain.repo.PartnersRepository
import fr.paug.androidmakers.AndroidMakersApplication
import fr.paug.androidmakers.BuildConfig
import fr.paug.androidmakers.R
import fr.paug.androidmakers.ui.MR
import fr.paug.androidmakers.ui.components.about.AboutActions
import fr.paug.androidmakers.ui.components.about.AboutLayout
import fr.paug.androidmakers.ui.components.agenda.AgendaLayout
import fr.paug.androidmakers.ui.components.speakers.SpeakerScreen
import fr.paug.androidmakers.ui.components.speakers.SpeakerViewModel
import fr.paug.androidmakers.ui.components.sponsors.SponsorsScreen
import fr.paug.androidmakers.ui.navigation.AVANavigationRoute
import fr.paug.androidmakers.ui.util.stringResource
import fr.paug.androidmakers.ui.viewmodel.LceViewModel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.launch
import moe.tlaster.precompose.koin.koinViewModel
import org.koin.androidx.compose.koinViewModel

/**
Expand Down Expand Up @@ -262,42 +259,30 @@ private fun AVANavHost(

composable(route = AVANavigationRoute.SPEAKERS.name) {

val speakerViewModel: SpeakerViewModel = koinViewModel()
val speakerViewModel: SpeakerListViewModel = koinViewModel()
SpeakerScreen(
speakerViewModel = speakerViewModel,
viewModel = speakerViewModel,
navigateToSpeakerDetails = navigateToSpeakerDetails
)
}

composable(route = AVANavigationRoute.ABOUT.name) {
AboutLayout(
AboutScreen(
versionCode = BuildConfig.VERSION_CODE.toString(),
versionName = BuildConfig.VERSION_NAME,
aboutActions = aboutActions
)
}

composable(route = AVANavigationRoute.SPONSORS.name) {
val partnerList by koinViewModel<PartnersViewModel>().values.collectAsState()
SponsorsScreen(
partnerList = partnerList,
onSponsorClick = aboutActions.onSponsorClick
)
}

}
}

class PartnersViewModel(
private val getPartnersUseCase: GetPartnersUseCase
) : LceViewModel<List<PartnerGroup>>() {
override fun produce(): Flow<KmmResult<List<PartnerGroup>>> {
return getPartnersUseCase()
}

init {
launch(false)
}
}

@Preview
@Composable
private fun AVALayoutPreview() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,15 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavHostController
import androidx.navigation.NavType
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.androidmakers.ui.about.AboutActions
import fr.androidmakers.domain.model.SpeakerId
import fr.androidmakers.domain.model.User
import fr.paug.androidmakers.ui.components.about.AboutActions
import fr.paug.androidmakers.ui.components.session.SessionDetailLayout
import fr.paug.androidmakers.ui.components.session.SessionDetailViewModel
import fr.paug.androidmakers.ui.components.speakers.details.SpeakerDetailsRoute
Expand Down

This file was deleted.

Loading

0 comments on commit f707089

Please sign in to comment.