refactor(android): simplify system bars color setup

This commit is contained in:
Harsh Shandilya 2023-10-09 01:32:19 +05:30
parent 3883160234
commit d3d3a6af09
No known key found for this signature in database
2 changed files with 28 additions and 1 deletions

View file

@ -6,6 +6,7 @@
*/
package dev.msfjarvis.claw.common.theme
import android.app.Activity
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
@ -16,7 +17,12 @@ import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.ProvidedValue
import androidx.compose.runtime.SideEffect
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.core.view.WindowCompat
import com.halilibo.richtext.ui.material3.SetupMaterial3RichText
val LightThemeColors =
@ -97,6 +103,14 @@ fun LobstersTheme(
}
else -> if (darkTheme) DarkThemeColors else LightThemeColors
}
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
window.statusBarColor = Color.Transparent.toArgb()
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
}
}
CompositionLocalProvider(*providedValues) {
MaterialTheme(colorScheme = colorScheme, typography = AppTypography) {
SetupMaterial3RichText { content() }