diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 2ba1356c..6a1d1432 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { kapt(libs.dagger.hilt.compiler) implementation(projects.api) implementation(projects.common) + implementation(libs.accompanist.sysuicontroller) implementation(libs.androidx.activity.compose) implementation(libs.androidx.appcompat) implementation(libs.androidx.paging.compose) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index 45c26b08..3d8d2283 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -8,14 +8,17 @@ import androidx.compose.foundation.layout.size import androidx.compose.material.CircularProgressIndicator import androidx.compose.material.MaterialTheme import androidx.compose.material.Scaffold +import androidx.compose.material.primarySurface import androidx.compose.material.rememberScaffoldState import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.paging.LoadState import androidx.paging.Pager import androidx.paging.compose.collectAsLazyPagingItems +import com.google.accompanist.systemuicontroller.rememberSystemUiController import dev.msfjarvis.claw.api.model.LobstersPost import dev.msfjarvis.claw.common.theme.LobstersTheme import dev.msfjarvis.claw.common.urllauncher.UrlLauncher @@ -25,8 +28,15 @@ fun LobstersApp( pager: Pager, urlLauncher: UrlLauncher, ) { + val systemUiController = rememberSystemUiController() val scaffoldState = rememberScaffoldState() LobstersTheme(darkTheme = isSystemInDarkTheme()) { + val useDarkIcons = MaterialTheme.colors.isLight + val systemBarsColor = MaterialTheme.colors.primarySurface + + SideEffect { + systemUiController.setSystemBarsColor(color = systemBarsColor, darkIcons = useDarkIcons) + } val items = pager.flow.collectAsLazyPagingItems() Scaffold( scaffoldState = scaffoldState, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f03f5ecc..90efe5c7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,4 +1,5 @@ [versions] +accompanist = "0.18.0" coroutines = "1.5.2" hilt = "2.38.1" moshix = "0.14.1" @@ -11,6 +12,8 @@ kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } kotlin-coroutines-jvm = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", version.ref = "coroutines" } +accompanist-sysuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" } + androidx-activity-compose = "androidx.activity:activity-compose:1.4.0-alpha02" androidx-appcompat = "androidx.appcompat:appcompat:1.4.0-alpha03" androidx-browser = "androidx.browser:browser:1.4.0-alpha01"