Provide nav controller as composition local

This commit is contained in:
MM20 2021-09-25 20:02:15 +02:00
parent 4ad3ec049b
commit 5783cfe97e
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
3 changed files with 8 additions and 3 deletions

View File

@ -21,6 +21,7 @@ import com.google.accompanist.insets.ProvideWindowInsets
import de.mm20.launcher2.ui.LauncherTheme
import de.mm20.launcher2.ui.locals.LocalAppWidgetHost
import de.mm20.launcher2.ui.locals.LocalColorScheme
import de.mm20.launcher2.ui.locals.LocalNavController
import de.mm20.launcher2.ui.locals.LocalWindowSize
import de.mm20.launcher2.ui.screens.LauncherMainScreen
import de.mm20.launcher2.ui.theme.WallpaperColors
@ -88,11 +89,12 @@ class ComposeActivity : AppCompatActivity() {
LocalAppWidgetHost provides widgetHost,
LocalWindowSize provides windowSize,
LocalColorScheme provides colorScheme,
LocalNavController provides navController
) {
LauncherTheme {
NavHost(navController = navController, startDestination = "home") {
composable("home") {
LauncherMainScreen(navController)
LauncherMainScreen()
}
}
}

View File

@ -3,6 +3,7 @@ package de.mm20.launcher2.ui.locals
import android.appwidget.AppWidgetHost
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.geometry.Size
import androidx.navigation.NavController
import de.mm20.launcher2.ui.theme.WallpaperColors
import de.mm20.launcher2.ui.theme.colors.ColorScheme
import de.mm20.launcher2.ui.theme.colors.DefaultColorScheme
@ -13,4 +14,6 @@ val LocalAppWidgetHost = compositionLocalOf<AppWidgetHost?>(defaultFactory = { n
val LocalWallpaperColors = compositionLocalOf<WallpaperColors?> { null }
val LocalColorScheme = compositionLocalOf<ColorScheme> { DefaultColorScheme() }
val LocalColorScheme = compositionLocalOf<ColorScheme> { DefaultColorScheme() }
val LocalNavController = compositionLocalOf<NavController?> { null }

View File

@ -36,7 +36,7 @@ import kotlinx.coroutines.launch
InternalCoroutinesApi::class
)
@Composable
fun LauncherMainScreen(navController: NavController) {
fun LauncherMainScreen() {
val systemUiController = rememberSystemUiController()