mirror of
https://github.com/bitwarden/android.git
synced 2025-12-10 00:06:22 -06:00
Fix statusbar color when display is turned off (#6006)
This commit is contained in:
parent
7ea87505a4
commit
62f76a4f8b
@ -3,13 +3,13 @@ package com.bitwarden.ui.platform.base.util
|
||||
import android.app.Activity
|
||||
import android.view.View
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.lifecycle.Lifecycle
|
||||
|
||||
/**
|
||||
* Sets the appearance of the StatusBars to the [isLightStatusBars] value and clears the value once
|
||||
* disposed.
|
||||
* lifecycle is stopped.
|
||||
*/
|
||||
@Composable
|
||||
fun StatusBarsAppearanceAffect(
|
||||
@ -18,13 +18,24 @@ fun StatusBarsAppearanceAffect(
|
||||
) {
|
||||
if (view.isInEditMode) return
|
||||
val activity = view.context as Activity
|
||||
DisposableEffect(Unit) {
|
||||
val insetsController = WindowCompat.getInsetsController(activity.window, view)
|
||||
val originalStatusBarValue = insetsController.isAppearanceLightStatusBars
|
||||
insetsController.isAppearanceLightStatusBars = isLightStatusBars
|
||||
val insetsController = WindowCompat.getInsetsController(activity.window, view)
|
||||
val originalStatusBarValue = insetsController.isAppearanceLightStatusBars
|
||||
LifecycleEventEffect { _, event ->
|
||||
when (event) {
|
||||
Lifecycle.Event.ON_START -> {
|
||||
insetsController.isAppearanceLightStatusBars = isLightStatusBars
|
||||
}
|
||||
|
||||
onDispose {
|
||||
insetsController.isAppearanceLightStatusBars = originalStatusBarValue
|
||||
Lifecycle.Event.ON_STOP -> {
|
||||
insetsController.isAppearanceLightStatusBars = originalStatusBarValue
|
||||
}
|
||||
|
||||
Lifecycle.Event.ON_CREATE,
|
||||
Lifecycle.Event.ON_RESUME,
|
||||
Lifecycle.Event.ON_PAUSE,
|
||||
Lifecycle.Event.ON_DESTROY,
|
||||
Lifecycle.Event.ON_ANY,
|
||||
-> Unit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user