diff --git a/android/build.gradle b/android/build.gradle index 8724029..8a28900 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,7 @@ buildscript { ext.kotlin_version = "1.9.22" ext.kotlin_compose_version = "1.5.10" + ext.accompanist_version = "0.34.0" repositories { google() @@ -88,7 +89,8 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0' implementation 'androidx.activity:activity-compose:1.8.2' - implementation "com.google.accompanist:accompanist-permissions:0.34.0" + implementation "com.google.accompanist:accompanist-permissions:$accompanist_version" + implementation "com.google.accompanist:accompanist-systemuicontroller:$accompanist_version" // Navigation dependencies. def nav_version = "2.7.7" diff --git a/android/src/main/java/com/tailscale/ipn/ui/theme/Theme.kt b/android/src/main/java/com/tailscale/ipn/ui/theme/Theme.kt index 22d4d41..695b1e3 100644 --- a/android/src/main/java/com/tailscale/ipn/ui/theme/Theme.kt +++ b/android/src/main/java/com/tailscale/ipn/ui/theme/Theme.kt @@ -17,8 +17,10 @@ import androidx.compose.material3.Typography import androidx.compose.material3.darkColorScheme import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.sp +import com.google.accompanist.systemuicontroller.rememberSystemUiController @Composable fun AppTheme(useDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable() () -> Unit) { @@ -39,6 +41,13 @@ fun AppTheme(useDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable bodyMedium = MaterialTheme.typography.bodyMedium.copy(fontSize = 16.sp, lineHeight = 26.sp)) + val systemUiController = rememberSystemUiController() + + DisposableEffect(systemUiController, useDarkTheme) { + systemUiController.setSystemBarsColor(color = colors.surfaceContainer) + onDispose {} + } + MaterialTheme(colorScheme = colors, typography = typography, content = content) }