android: set system bar colors

This commit is contained in:
Harsh Shandilya 2021-09-23 21:27:54 +05:30
parent a5b04b9530
commit 6bbd236203
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
3 changed files with 14 additions and 0 deletions

View file

@ -12,6 +12,7 @@ dependencies {
kapt(libs.dagger.hilt.compiler) kapt(libs.dagger.hilt.compiler)
implementation(projects.api) implementation(projects.api)
implementation(projects.common) implementation(projects.common)
implementation(libs.accompanist.sysuicontroller)
implementation(libs.androidx.activity.compose) implementation(libs.androidx.activity.compose)
implementation(libs.androidx.appcompat) implementation(libs.androidx.appcompat)
implementation(libs.androidx.paging.compose) implementation(libs.androidx.paging.compose)

View file

@ -8,14 +8,17 @@ import androidx.compose.foundation.layout.size
import androidx.compose.material.CircularProgressIndicator import androidx.compose.material.CircularProgressIndicator
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold import androidx.compose.material.Scaffold
import androidx.compose.material.primarySurface
import androidx.compose.material.rememberScaffoldState import androidx.compose.material.rememberScaffoldState
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.paging.LoadState import androidx.paging.LoadState
import androidx.paging.Pager import androidx.paging.Pager
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import dev.msfjarvis.claw.api.model.LobstersPost import dev.msfjarvis.claw.api.model.LobstersPost
import dev.msfjarvis.claw.common.theme.LobstersTheme import dev.msfjarvis.claw.common.theme.LobstersTheme
import dev.msfjarvis.claw.common.urllauncher.UrlLauncher import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
@ -25,8 +28,15 @@ fun LobstersApp(
pager: Pager<Int, LobstersPost>, pager: Pager<Int, LobstersPost>,
urlLauncher: UrlLauncher, urlLauncher: UrlLauncher,
) { ) {
val systemUiController = rememberSystemUiController()
val scaffoldState = rememberScaffoldState() val scaffoldState = rememberScaffoldState()
LobstersTheme(darkTheme = isSystemInDarkTheme()) { 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() val items = pager.flow.collectAsLazyPagingItems()
Scaffold( Scaffold(
scaffoldState = scaffoldState, scaffoldState = scaffoldState,

View file

@ -1,4 +1,5 @@
[versions] [versions]
accompanist = "0.18.0"
coroutines = "1.5.2" coroutines = "1.5.2"
hilt = "2.38.1" hilt = "2.38.1"
moshix = "0.14.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-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" } 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-activity-compose = "androidx.activity:activity-compose:1.4.0-alpha02"
androidx-appcompat = "androidx.appcompat:appcompat:1.4.0-alpha03" androidx-appcompat = "androidx.appcompat:appcompat:1.4.0-alpha03"
androidx-browser = "androidx.browser:browser:1.4.0-alpha01" androidx-browser = "androidx.browser:browser:1.4.0-alpha01"