summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-03-22 16:07:36 +0100
committerAlbin <albin@mullvad.net>2023-03-22 17:15:58 +0100
commita94067b71427a7b2b640a2272c4c1317bafb5783 (patch)
treecd2dbff8fe7e66ffd3a7d461b17dcf18a337f47b /android/app/src
parent791dd555c6cbaaa317919b865dbb4523eafde4da (diff)
downloadmullvadvpn-a94067b71427a7b2b640a2272c4c1317bafb5783.tar.xz
mullvadvpn-a94067b71427a7b2b640a2272c4c1317bafb5783.zip
Set status/nav bar color in collapsable scaffold
This ensures that the status/navigation bar color matches the background color of the collapsable toolbar scaffold, regardless of previously set color. Previously this would rely on prior views/screens updating the status/nav bar color.
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt3
2 files changed, 10 insertions, 3 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
index 3d23071e94..5020002bc7 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
@@ -1,5 +1,6 @@
package net.mullvad.mullvadvpn.compose.component
+import androidx.compose.foundation.background
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.material.Scaffold
@@ -49,7 +50,8 @@ fun ScaffoldWithTopBar(
@Composable
@OptIn(ExperimentalToolbarApi::class)
fun CollapsableAwareToolbarScaffold(
- modifier: Modifier,
+ backgroundColor: Color,
+ modifier: Modifier = Modifier,
state: CollapsingToolbarScaffoldState,
scrollStrategy: ScrollStrategy,
isEnabledWhenCollapsable: Boolean = true,
@@ -57,6 +59,10 @@ fun CollapsableAwareToolbarScaffold(
toolbar: @Composable CollapsingToolbarScope.() -> Unit,
body: @Composable CollapsingToolbarScaffoldScope.() -> Unit
) {
+ val systemUiController = rememberSystemUiController()
+ systemUiController.setStatusBarColor(backgroundColor)
+ systemUiController.setNavigationBarColor(backgroundColor)
+
var isCollapsable by remember { mutableStateOf(false) }
LaunchedEffect(isCollapsable) {
@@ -66,7 +72,7 @@ fun CollapsableAwareToolbarScaffold(
}
CollapsingToolbarScaffold(
- modifier = modifier,
+ modifier = modifier.background(backgroundColor),
state = state,
scrollStrategy = scrollStrategy,
enabled = isEnabledWhenCollapsable && isCollapsable,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt
index ff0f471c88..9cd54ad719 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt
@@ -124,7 +124,8 @@ fun AdvancedSettingScreen(
val progress = state.toolbarState.progress
CollapsableAwareToolbarScaffold(
- modifier = Modifier.background(MullvadDarkBlue).fillMaxSize(),
+ backgroundColor = MullvadDarkBlue,
+ modifier = Modifier.fillMaxSize(),
state = state,
scrollStrategy = ScrollStrategy.ExitUntilCollapsed,
isEnabledWhenCollapsable = true,