Provide nav controller as composition local
This commit is contained in:
parent
4ad3ec049b
commit
5783cfe97e
@ -21,6 +21,7 @@ import com.google.accompanist.insets.ProvideWindowInsets
|
|||||||
import de.mm20.launcher2.ui.LauncherTheme
|
import de.mm20.launcher2.ui.LauncherTheme
|
||||||
import de.mm20.launcher2.ui.locals.LocalAppWidgetHost
|
import de.mm20.launcher2.ui.locals.LocalAppWidgetHost
|
||||||
import de.mm20.launcher2.ui.locals.LocalColorScheme
|
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.locals.LocalWindowSize
|
||||||
import de.mm20.launcher2.ui.screens.LauncherMainScreen
|
import de.mm20.launcher2.ui.screens.LauncherMainScreen
|
||||||
import de.mm20.launcher2.ui.theme.WallpaperColors
|
import de.mm20.launcher2.ui.theme.WallpaperColors
|
||||||
@ -88,11 +89,12 @@ class ComposeActivity : AppCompatActivity() {
|
|||||||
LocalAppWidgetHost provides widgetHost,
|
LocalAppWidgetHost provides widgetHost,
|
||||||
LocalWindowSize provides windowSize,
|
LocalWindowSize provides windowSize,
|
||||||
LocalColorScheme provides colorScheme,
|
LocalColorScheme provides colorScheme,
|
||||||
|
LocalNavController provides navController
|
||||||
) {
|
) {
|
||||||
LauncherTheme {
|
LauncherTheme {
|
||||||
NavHost(navController = navController, startDestination = "home") {
|
NavHost(navController = navController, startDestination = "home") {
|
||||||
composable("home") {
|
composable("home") {
|
||||||
LauncherMainScreen(navController)
|
LauncherMainScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package de.mm20.launcher2.ui.locals
|
|||||||
import android.appwidget.AppWidgetHost
|
import android.appwidget.AppWidgetHost
|
||||||
import androidx.compose.runtime.compositionLocalOf
|
import androidx.compose.runtime.compositionLocalOf
|
||||||
import androidx.compose.ui.geometry.Size
|
import androidx.compose.ui.geometry.Size
|
||||||
|
import androidx.navigation.NavController
|
||||||
import de.mm20.launcher2.ui.theme.WallpaperColors
|
import de.mm20.launcher2.ui.theme.WallpaperColors
|
||||||
import de.mm20.launcher2.ui.theme.colors.ColorScheme
|
import de.mm20.launcher2.ui.theme.colors.ColorScheme
|
||||||
import de.mm20.launcher2.ui.theme.colors.DefaultColorScheme
|
import de.mm20.launcher2.ui.theme.colors.DefaultColorScheme
|
||||||
@ -13,4 +14,6 @@ val LocalAppWidgetHost = compositionLocalOf<AppWidgetHost?>(defaultFactory = { n
|
|||||||
|
|
||||||
val LocalWallpaperColors = compositionLocalOf<WallpaperColors?> { null }
|
val LocalWallpaperColors = compositionLocalOf<WallpaperColors?> { null }
|
||||||
|
|
||||||
val LocalColorScheme = compositionLocalOf<ColorScheme> { DefaultColorScheme() }
|
val LocalColorScheme = compositionLocalOf<ColorScheme> { DefaultColorScheme() }
|
||||||
|
|
||||||
|
val LocalNavController = compositionLocalOf<NavController?> { null }
|
||||||
@ -36,7 +36,7 @@ import kotlinx.coroutines.launch
|
|||||||
InternalCoroutinesApi::class
|
InternalCoroutinesApi::class
|
||||||
)
|
)
|
||||||
@Composable
|
@Composable
|
||||||
fun LauncherMainScreen(navController: NavController) {
|
fun LauncherMainScreen() {
|
||||||
|
|
||||||
val systemUiController = rememberSystemUiController()
|
val systemUiController = rememberSystemUiController()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user