From c5cfd5bac7d98417a8089f907681272766e90003 Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Tue, 2 May 2023 10:18:57 +0300 Subject: [PATCH] Fix flickering screen --- .../java/com/sadellie/unitto/MainActivity.kt | 17 +++++++++++++++++ .../main/java/com/sadellie/unitto/UnittoApp.kt | 7 +------ .../com/sadellie/unitto/UnittoNavigation.kt | 6 +++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/sadellie/unitto/MainActivity.kt b/app/src/main/java/com/sadellie/unitto/MainActivity.kt index 6c494018..19a38897 100644 --- a/app/src/main/java/com/sadellie/unitto/MainActivity.kt +++ b/app/src/main/java/com/sadellie/unitto/MainActivity.kt @@ -18,9 +18,14 @@ package com.sadellie.unitto +import android.app.Activity +import android.content.Context import android.os.Bundle +import android.util.AttributeSet +import android.view.View import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import androidx.core.view.WindowCompat import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint @@ -33,4 +38,16 @@ internal class MainActivity : ComponentActivity() { UnittoApp() } } + + override fun onCreateView( + parent: View?, + name: String, + context: Context, + attrs: AttributeSet + ): View? { + if (parent != null) { + WindowCompat.setDecorFitsSystemWindows((parent.context as Activity).window, false) + } + return super.onCreateView(parent, name, context, attrs) + } } diff --git a/app/src/main/java/com/sadellie/unitto/UnittoApp.kt b/app/src/main/java/com/sadellie/unitto/UnittoApp.kt index e386ba9e..67292ce5 100644 --- a/app/src/main/java/com/sadellie/unitto/UnittoApp.kt +++ b/app/src/main/java/com/sadellie/unitto/UnittoApp.kt @@ -18,7 +18,6 @@ package com.sadellie.unitto -import android.app.Activity import androidx.compose.animation.core.tween import androidx.compose.material3.DrawerValue import androidx.compose.material3.MaterialTheme @@ -34,8 +33,6 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.luminance -import androidx.compose.ui.platform.LocalView -import androidx.core.view.WindowCompat import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.NavDestination.Companion.hierarchy @@ -44,8 +41,8 @@ import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.sadellie.unitto.core.base.TopLevelDestinations -import com.sadellie.unitto.core.ui.model.DrawerItems import com.sadellie.unitto.core.ui.common.UnittoDrawerSheet +import com.sadellie.unitto.core.ui.model.DrawerItems import com.sadellie.unitto.core.ui.theme.AppTypography import com.sadellie.unitto.core.ui.theme.DarkThemeColors import com.sadellie.unitto.core.ui.theme.LightThemeColors @@ -109,7 +106,6 @@ internal fun UnittoApp() { typography = AppTypography, animationSpec = tween(250) ) { - val localView = LocalView.current val backgroundColor = MaterialTheme.colorScheme.background val useDarkIcons by remember(backgroundColor) { mutableStateOf(backgroundColor.luminance() > 0.5f) @@ -148,7 +144,6 @@ internal fun UnittoApp() { } LaunchedEffect(useDarkIcons) { - WindowCompat.setDecorFitsSystemWindows((localView.context as Activity).window, false) sysUiController.setNavigationBarColor(Color.Transparent, useDarkIcons) sysUiController.setStatusBarColor(Color.Transparent, useDarkIcons) } diff --git a/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt b/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt index 0de72cbd..6f7fe14f 100644 --- a/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt +++ b/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt @@ -18,7 +18,10 @@ package com.sadellie.unitto +import androidx.compose.foundation.background +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost @@ -49,7 +52,8 @@ internal fun UnittoNavigation( ) { NavHost( navController = navController, - startDestination = startDestination + startDestination = startDestination, + modifier = Modifier.background(MaterialTheme.colorScheme.background) ) { fun navigateToSettings() { navController.navigateToSettings {