android: integrate AndroidX Navigation

This commit is contained in:
Harsh Shandilya 2021-10-04 15:12:13 +05:30
parent e053ca2028
commit e85e25aa50
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
3 changed files with 19 additions and 9 deletions

View file

@ -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)

View file

@ -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),
)
}
}
}
}
}

View file

@ -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" }