From 8506958fb1f0a1fabe469068f1d8957849389839 Mon Sep 17 00:00:00 2001 From: Don Turner Date: Fri, 21 Oct 2022 21:15:24 +0100 Subject: [PATCH] Resolve conflict with navigation changes from main --- .../samples/apps/nowinandroid/ui/NiaApp.kt | 4 ++- .../apps/nowinandroid/ui/NiaAppState.kt | 14 +++++--- app/src/main/res/values/strings.xml | 1 + .../navigation/BookmarksNavigation.kt | 2 +- .../feature/foryou/ForYouScreen.kt | 1 - .../feature/foryou/ForYouViewModel.kt | 1 - .../foryou/src/main/res/values/strings.xml | 1 - .../feature/foryou/ForYouViewModelTest.kt | 1 - .../navigation/InterestsNavigation.kt | 2 +- .../navigation/SettingsDestination.kt | 35 ------------------- 10 files changed, 15 insertions(+), 47 deletions(-) delete mode 100644 feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/navigation/SettingsDestination.kt diff --git a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt index ec2f38551..be9713f61 100644 --- a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt +++ b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaApp.kt @@ -66,6 +66,8 @@ import com.google.samples.apps.nowinandroid.core.designsystem.icon.NiaIcons import com.google.samples.apps.nowinandroid.feature.settings.R as settingsR import com.google.samples.apps.nowinandroid.navigation.NiaNavHost import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination +import com.google.samples.apps.nowinandroid.R +import com.google.samples.apps.nowinandroid.feature.settings.SettingsDialog @OptIn( ExperimentalMaterial3Api::class, @@ -131,7 +133,7 @@ fun NiaApp( val isOffline by appState.isOffline.collectAsStateWithLifecycle() // If user is not connected to the internet show a snack bar to inform them. - val notConnected = stringResource(R.string.for_you_not_connected) + val notConnected = stringResource(R.string.not_connected) LaunchedEffect(isOffline) { if (isOffline) snackbarHostState.showSnackbar( message = notConnected, diff --git a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaAppState.kt b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaAppState.kt index c2687d738..a1638e416 100644 --- a/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaAppState.kt +++ b/app/src/main/java/com/google/samples/apps/nowinandroid/ui/NiaAppState.kt @@ -35,13 +35,12 @@ import androidx.navigation.compose.rememberNavController import androidx.navigation.navOptions import androidx.tracing.trace import com.google.samples.apps.nowinandroid.core.data.util.NetworkMonitor -import com.google.samples.apps.nowinandroid.core.designsystem.icon.Icon.DrawableResourceIcon -import com.google.samples.apps.nowinandroid.core.designsystem.icon.Icon.ImageVectorIcon -import com.google.samples.apps.nowinandroid.core.designsystem.icon.NiaIcons -import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationDestination import com.google.samples.apps.nowinandroid.core.ui.TrackDisposableJank +import com.google.samples.apps.nowinandroid.feature.bookmarks.navigation.bookmarksRoute import com.google.samples.apps.nowinandroid.feature.bookmarks.navigation.navigateToBookmarks +import com.google.samples.apps.nowinandroid.feature.foryou.navigation.forYouNavigationRoute import com.google.samples.apps.nowinandroid.feature.foryou.navigation.navigateToForYou +import com.google.samples.apps.nowinandroid.feature.interests.navigation.interestsRoute import com.google.samples.apps.nowinandroid.feature.interests.navigation.navigateToInterestsGraph import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination import com.google.samples.apps.nowinandroid.navigation.TopLevelDestination.BOOKMARKS @@ -77,7 +76,12 @@ class NiaAppState( .currentBackStackEntryAsState().value?.destination val currentTopLevelDestination: TopLevelDestination? - @Composable get() = topLevelDestinations[currentDestination?.route] + @Composable get() = when(currentDestination?.route){ + forYouNavigationRoute -> FOR_YOU + bookmarksRoute -> BOOKMARKS + interestsRoute -> INTERESTS + else -> null + } var shouldShowSettingsDialog by mutableStateOf(false) private set diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6d5202b99..cd92f3977 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,4 +16,5 @@ --> Now in Android + ⚠️ You aren’t connected to the internet diff --git a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt index 0d530019d..188c948e4 100644 --- a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt +++ b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/navigation/BookmarksNavigation.kt @@ -22,7 +22,7 @@ import androidx.navigation.NavOptions import androidx.navigation.compose.composable import com.google.samples.apps.nowinandroid.feature.bookmarks.BookmarksRoute -private const val bookmarksRoute = "bookmarks_route" +const val bookmarksRoute = "bookmarks_route" fun NavController.navigateToBookmarks(navOptions: NavOptions? = null) { this.navigate(bookmarksRoute, navOptions) diff --git a/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt b/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt index 75320caea..19d3c1e6b 100644 --- a/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt +++ b/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt @@ -107,7 +107,6 @@ internal fun ForYouRoute( @Composable internal fun ForYouScreen( - isOffline: Boolean, isSyncing: Boolean, interestsSelectionState: ForYouInterestsSelectionUiState, feedState: NewsFeedUiState, diff --git a/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModel.kt b/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModel.kt index 8eedf40f0..f88cd9d39 100644 --- a/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModel.kt +++ b/feature/foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModel.kt @@ -51,7 +51,6 @@ import kotlinx.coroutines.launch @OptIn(SavedStateHandleSaveableApi::class) @HiltViewModel class ForYouViewModel @Inject constructor( - networkMonitor: NetworkMonitor, syncStatusMonitor: SyncStatusMonitor, private val userDataRepository: UserDataRepository, private val getSaveableNewsResourcesStream: GetSaveableNewsResourcesStreamUseCase, diff --git a/feature/foryou/src/main/res/values/strings.xml b/feature/foryou/src/main/res/values/strings.xml index 5a66a0645..8f109ef69 100644 --- a/feature/foryou/src/main/res/values/strings.xml +++ b/feature/foryou/src/main/res/values/strings.xml @@ -23,7 +23,6 @@ Updates from topics you follow will appear here. Follow some things to get started. Now in Android Search - ⚠️ You aren’t connected to the internet You are following diff --git a/feature/foryou/src/test/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt b/feature/foryou/src/test/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt index 9549ecb90..4a6ce9c12 100644 --- a/feature/foryou/src/test/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt +++ b/feature/foryou/src/test/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt @@ -76,7 +76,6 @@ class ForYouViewModelTest { @Before fun setup() { viewModel = ForYouViewModel( - networkMonitor = networkMonitor, syncStatusMonitor = syncStatusMonitor, userDataRepository = userDataRepository, getSaveableNewsResourcesStream = getSaveableNewsResourcesStreamUseCase, diff --git a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt index 19e04b8b5..f0604e46f 100644 --- a/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt +++ b/feature/interests/src/main/java/com/google/samples/apps/nowinandroid/feature/interests/navigation/InterestsNavigation.kt @@ -24,7 +24,7 @@ import androidx.navigation.navigation import com.google.samples.apps.nowinandroid.feature.interests.InterestsRoute private const val interestsGraphRoutePattern = "interests_graph" -private const val interestsRoute = "interests_route" +const val interestsRoute = "interests_route" fun NavController.navigateToInterestsGraph(navOptions: NavOptions? = null) { this.navigate(interestsGraphRoutePattern, navOptions) diff --git a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/navigation/SettingsDestination.kt b/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/navigation/SettingsDestination.kt deleted file mode 100644 index 3eb9a6c92..000000000 --- a/feature/settings/src/main/java/com/google/samples/apps/nowinandroid/feature/settings/navigation/SettingsDestination.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.samples.apps.nowinandroid.feature.settings.navigation - -import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi -import androidx.navigation.NavGraphBuilder -import androidx.navigation.compose.dialog -import com.google.samples.apps.nowinandroid.core.navigation.NiaNavigationDestination -import com.google.samples.apps.nowinandroid.feature.settings.SettingsDialog - -object SettingsDestination : NiaNavigationDestination { - override val route = "settings_route" - override val destinationId = "settings_destination" -} - -@OptIn(ExperimentalLifecycleComposeApi::class) -fun NavGraphBuilder.settingsDialog(onDismiss: () -> Unit) { - dialog(route = SettingsDestination.route) { - SettingsDialog(onDismiss = onDismiss) - } -}