From 7b0d1bea22f524e859b36ba4e6db588d743d68e5 Mon Sep 17 00:00:00 2001 From: lihenggui Date: Tue, 15 Oct 2024 12:12:20 -0700 Subject: [PATCH] Migrate bookmarks module to multiplatform --- feature/bookmarks/build.gradle.kts | 2 ++ .../apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt | 5 ++--- .../nowinandroid/feature/bookmarks/BookmarksViewModel.kt | 2 -- .../feature/bookmarks/navigation/BookmarksNavigation.kt | 7 ++++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/feature/bookmarks/build.gradle.kts b/feature/bookmarks/build.gradle.kts index 30d87a42a..a5d2e8ec5 100644 --- a/feature/bookmarks/build.gradle.kts +++ b/feature/bookmarks/build.gradle.kts @@ -18,6 +18,7 @@ plugins { alias(libs.plugins.nowinandroid.cmp.feature) alias(libs.plugins.nowinandroid.android.library.jacoco) alias(libs.plugins.roborazzi) + alias(libs.plugins.kotlin.serialization) } android { @@ -33,6 +34,7 @@ kotlin { implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) + implementation(libs.kotlinx.serialization.core) } commonTest.dependencies { diff --git a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt index 87be463f7..f238a5375 100644 --- a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt +++ b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt @@ -67,7 +67,6 @@ import com.google.samples.apps.nowinandroid.core.ui.TrackScreenViewEvent import com.google.samples.apps.nowinandroid.core.ui.UserNewsResourcePreviewParameterProvider import com.google.samples.apps.nowinandroid.core.ui.collectAsStateWithLifecycle import com.google.samples.apps.nowinandroid.core.ui.newsFeed -import me.tatarka.inject.annotations.Inject import nowinandroid.feature.bookmarks.generated.resources.Res import nowinandroid.feature.bookmarks.generated.resources.feature_bookmarks_empty_description import nowinandroid.feature.bookmarks.generated.resources.feature_bookmarks_empty_error @@ -79,14 +78,14 @@ import org.jetbrains.compose.resources.painterResource import org.jetbrains.compose.resources.stringResource import org.jetbrains.compose.ui.tooling.preview.Preview import org.jetbrains.compose.ui.tooling.preview.PreviewParameter +import org.koin.compose.viewmodel.koinViewModel @Composable -@Inject internal fun BookmarksRoute( onTopicClick: (String) -> Unit, onShowSnackbar: suspend (String, String?) -> Boolean, modifier: Modifier = Modifier, - viewModel: BookmarksViewModel, + viewModel: BookmarksViewModel = koinViewModel(), ) { val feedState by viewModel.feedUiState.collectAsStateWithLifecycle() BookmarksScreen( diff --git a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModel.kt b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModel.kt index e89dbb6a4..3f60efd96 100644 --- a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModel.kt +++ b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModel.kt @@ -32,9 +32,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import me.tatarka.inject.annotations.Inject -@Inject class BookmarksViewModel( private val userDataRepository: UserDataRepository, userNewsResourceRepository: UserNewsResourceRepository, diff --git a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt index 001520d97..ea8d525ab 100644 --- a/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt +++ b/feature/bookmarks/src/commonMain/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt @@ -19,6 +19,7 @@ package com.google.samples.apps.nowinandroid.feature.bookmarks.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions +import androidx.navigation.compose.composable import com.google.samples.apps.nowinandroid.feature.bookmarks.BookmarksRoute import kotlinx.serialization.Serializable @@ -31,7 +32,7 @@ fun NavGraphBuilder.bookmarksScreen( onTopicClick: (String) -> Unit, onShowSnackbar: suspend (String, String?) -> Boolean, ) { -// composable { -// BookmarksRoute(onTopicClick, onShowSnackbar, viewModel) -// } + composable { + BookmarksRoute(onTopicClick, onShowSnackbar) + } }