diff options
| author | Albin <albin@mullvad.net> | 2023-03-22 16:07:36 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-03-22 17:15:58 +0100 |
| commit | a94067b71427a7b2b640a2272c4c1317bafb5783 (patch) | |
| tree | cd2dbff8fe7e66ffd3a7d461b17dcf18a337f47b /android | |
| parent | 791dd555c6cbaaa317919b865dbb4523eafde4da (diff) | |
| download | mullvadvpn-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')
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt | 10 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingScreen.kt | 3 |
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, |
