From e85e25aa504c71193761ef6276dbc83d5b2f745f Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 4 Oct 2021 15:12:13 +0530 Subject: [PATCH] android: integrate AndroidX Navigation --- android/build.gradle.kts | 1 + .../msfjarvis/claw/android/ui/LobstersApp.kt | 26 ++++++++++++------- gradle/libs.versions.toml | 1 + 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 2526dd68..1c558ec8 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -20,6 +20,7 @@ dependencies { implementation(libs.androidx.appcompat) implementation(libs.androidx.coreKtx) implementation(libs.androidx.lifecycle.compose) + implementation(libs.androidx.navigation.compose) implementation(libs.androidx.paging.compose) implementation(libs.dagger.hilt.android) implementation(libs.sqldelight.extensions.coroutines) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index 763f0656..a18a440d 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -20,6 +20,9 @@ import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.NestedScrollSource import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.lifecycle.viewmodel.compose.viewModel +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import androidx.paging.compose.collectAsLazyPagingItems import com.google.accompanist.insets.ProvideWindowInsets import com.google.accompanist.insets.navigationBarsPadding @@ -40,6 +43,7 @@ fun LobstersApp( val systemUiController = rememberSystemUiController() val scaffoldState = rememberScaffoldState() val listState = rememberLazyListState() + val navController = rememberNavController() var isFabVisible by remember { mutableStateOf(true) } val nestedScrollConnection = remember { object : NestedScrollConnection { @@ -79,15 +83,19 @@ fun LobstersApp( ) }, ) { - HottestPosts( - items, - listState, - viewModel::isPostSaved, - viewModel::toggleSave, - viewModel::reloadPosts, - urlLauncher::launch, - Modifier.nestedScroll(nestedScrollConnection), - ) + NavHost(navController, startDestination = "hottest") { + composable("hottest") { + HottestPosts( + items, + listState, + viewModel::isPostSaved, + viewModel::toggleSave, + viewModel::reloadPosts, + urlLauncher::launch, + Modifier.nestedScroll(nestedScrollConnection), + ) + } + } } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 07e135b0..b8c9ffc0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,6 +23,7 @@ androidx-appcompat = "androidx.appcompat:appcompat:1.4.0-beta01" androidx-browser = "androidx.browser:browser:1.4.0-beta01" androidx-coreKtx = "androidx.core:core-ktx:1.7.0-beta02" androidx-lifecycle-compose = "androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0-rc01" +androidx-navigation-compose = "androidx.navigation:navigation-compose:2.4.0-alpha10" androidx-paging-compose = "androidx.paging:paging-compose:1.0.0-alpha13" aurora-component = { module = "org.pushing-pixels:aurora-component", version.ref = "aurora" }