From 1f226dda64ee3146e0b992fee2d0ee08df7b2947 Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:25:14 +0700 Subject: [PATCH] android: fix status bar color after hiding call (#4928) * android: fix status bar color after hiding call * dark status bar in call --- .../main/java/chat/simplex/app/SimplexApp.kt | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt index 6adaa1d4e0..40e8ffa9bc 100644 --- a/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt +++ b/apps/multiplatform/android/src/main/java/chat/simplex/app/SimplexApp.kt @@ -287,13 +287,23 @@ class SimplexApp: Application(), LifecycleEventObserver { // Blend status bar color to the animated color val colors = CurrentColors.value.colors val baseBackgroundColor = if (toolbarOnTop) colors.background.mixWith(colors.onBackground, 0.97f) else colors.background - window.statusBarColor = baseBackgroundColor.mixWith(drawerShadingColor.copy(1f), 1 - drawerShadingColor.alpha).toArgb() - val navBar = navBarColor.toArgb() + var statusBar = baseBackgroundColor.mixWith(drawerShadingColor.copy(1f), 1 - drawerShadingColor.alpha).toArgb() + var statusBarLight = isLight + // SimplexGreen while in call + if (window.statusBarColor == SimplexGreen.toArgb()) { + statusBarColorAfterCall.intValue = statusBar + statusBar = SimplexGreen.toArgb() + statusBarLight = false + } + window.statusBarColor = statusBar + val navBar = navBarColor.toArgb() + if (windowInsetController?.isAppearanceLightStatusBars != statusBarLight) { + windowInsetController?.isAppearanceLightStatusBars = statusBarLight + } if (window.navigationBarColor != navBar) { window.navigationBarColor = navBar } - if (windowInsetController?.isAppearanceLightNavigationBars != isLight) { windowInsetController?.isAppearanceLightNavigationBars = isLight } @@ -313,11 +323,13 @@ class SimplexApp: Application(), LifecycleEventObserver { backgroundColor } }).toArgb() + var statusBarLight = isLight // SimplexGreen while in call if (window.statusBarColor == SimplexGreen.toArgb()) { statusBarColorAfterCall.intValue = statusBar statusBar = SimplexGreen.toArgb() + statusBarLight = false } val navBar = (if (hasBottom && appPrefs.onboardingStage.get() == OnboardingStage.OnboardingComplete) { backgroundColor.mixWith(CurrentColors.value.colors.onBackground, 0.97f) @@ -327,8 +339,8 @@ class SimplexApp: Application(), LifecycleEventObserver { if (window.statusBarColor != statusBar) { window.statusBarColor = statusBar } - if (windowInsetController?.isAppearanceLightStatusBars != isLight) { - windowInsetController?.isAppearanceLightStatusBars = isLight + if (windowInsetController?.isAppearanceLightStatusBars != statusBarLight) { + windowInsetController?.isAppearanceLightStatusBars = statusBarLight } if (window.navigationBarColor != navBar) { window.navigationBarColor = navBar