From 5783cfe97ee0c9a1a32884eec0891b7ec3e0f110 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sat, 25 Sep 2021 20:02:15 +0200 Subject: [PATCH] Provide nav controller as composition local --- .../java/de/mm20/launcher2/ui/activity/ComposeActivity.kt | 4 +++- .../java/de/mm20/launcher2/ui/locals/CompositionLocals.kt | 5 ++++- .../java/de/mm20/launcher2/ui/screens/LauncherMainScreen.kt | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/activity/ComposeActivity.kt b/ui/src/main/java/de/mm20/launcher2/ui/activity/ComposeActivity.kt index 8e31403f..d14ff42d 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/activity/ComposeActivity.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/activity/ComposeActivity.kt @@ -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() } } } diff --git a/ui/src/main/java/de/mm20/launcher2/ui/locals/CompositionLocals.kt b/ui/src/main/java/de/mm20/launcher2/ui/locals/CompositionLocals.kt index bc4fb7f5..112bbcdb 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/locals/CompositionLocals.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/locals/CompositionLocals.kt @@ -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(defaultFactory = { n val LocalWallpaperColors = compositionLocalOf { null } -val LocalColorScheme = compositionLocalOf { DefaultColorScheme() } \ No newline at end of file +val LocalColorScheme = compositionLocalOf { DefaultColorScheme() } + +val LocalNavController = compositionLocalOf { null } \ No newline at end of file diff --git a/ui/src/main/java/de/mm20/launcher2/ui/screens/LauncherMainScreen.kt b/ui/src/main/java/de/mm20/launcher2/ui/screens/LauncherMainScreen.kt index 8d74c60b..4a9d1d70 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/screens/LauncherMainScreen.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/screens/LauncherMainScreen.kt @@ -36,7 +36,7 @@ import kotlinx.coroutines.launch InternalCoroutinesApi::class ) @Composable -fun LauncherMainScreen(navController: NavController) { +fun LauncherMainScreen() { val systemUiController = rememberSystemUiController()