summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/main
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-03-22 17:46:34 +0100
committerAlbin <albin@mullvad.net>2023-03-22 17:46:34 +0100
commit9dc003e9dfd2225c083c495c59263f1839b95e03 (patch)
treeee30deb2e070db6a555da56a21fed829e77895b9 /android/app/src/main
parent791dd555c6cbaaa317919b865dbb4523eafde4da (diff)
parent128d188883d878dd84d3ace6dbbc6e553702a347 (diff)
downloadmullvadvpn-9dc003e9dfd2225c083c495c59263f1839b95e03.tar.xz
mullvadvpn-9dc003e9dfd2225c083c495c59263f1839b95e03.zip
Merge branch 'add-automated-ui-tests-for-advanced-settings-droid-80'
Diffstat (limited to 'android/app/src/main')
-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.kt29
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/AdvancedSettingsUiState.kt16
3 files changed, 31 insertions, 24 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..bd115447d6 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
@@ -73,19 +73,19 @@ private fun PreviewAdvancedSettings() {
@Composable
fun AdvancedSettingScreen(
uiState: AdvancedSettingsUiState,
- onMtuCellClick: () -> Unit,
- onMtuInputChange: (String) -> Unit,
- onSaveMtuClick: () -> Unit,
- onRestoreMtuClick: () -> Unit,
- onCancelMtuDialogClicked: () -> Unit,
- onSplitTunnelingNavigationClick: () -> Unit,
- onToggleDnsClick: (Boolean) -> Unit,
- onDnsClick: (index: Int?) -> Unit,
- onDnsInputChange: (String) -> Unit,
- onSaveDnsClick: () -> Unit,
- onRemoveDnsClick: () -> Unit,
- onCancelDnsDialogClick: () -> Unit,
- onBackClick: () -> Unit
+ onMtuCellClick: () -> Unit = {},
+ onMtuInputChange: (String) -> Unit = {},
+ onSaveMtuClick: () -> Unit = {},
+ onRestoreMtuClick: () -> Unit = {},
+ onCancelMtuDialogClicked: () -> Unit = {},
+ onSplitTunnelingNavigationClick: () -> Unit = {},
+ onToggleDnsClick: (Boolean) -> Unit = {},
+ onDnsClick: (index: Int?) -> Unit = {},
+ onDnsInputChange: (String) -> Unit = {},
+ onSaveDnsClick: () -> Unit = {},
+ onRemoveDnsClick: () -> Unit = {},
+ onCancelDnsDialogClick: () -> Unit = {},
+ onBackClick: () -> Unit = {}
) {
val cellVerticalSpacing = dimensionResource(id = R.dimen.cell_label_vertical_padding)
val cellHorizontalSpacing = dimensionResource(id = R.dimen.cell_left_padding)
@@ -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,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/AdvancedSettingsUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/AdvancedSettingsUiState.kt
index ce554115d2..59c3551eb3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/AdvancedSettingsUiState.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/AdvancedSettingsUiState.kt
@@ -17,18 +17,18 @@ sealed interface AdvancedSettingsUiState {
) : AdvancedSettingsUiState
data class MtuDialogUiState(
- override val mtu: String,
- override val isCustomDnsEnabled: Boolean,
- override val isAllowLanEnabled: Boolean,
- override val customDnsItems: List<CustomDnsItem>,
+ override val mtu: String = "",
+ override val isCustomDnsEnabled: Boolean = false,
+ override val isAllowLanEnabled: Boolean = false,
+ override val customDnsItems: List<CustomDnsItem> = listOf(),
val mtuEditValue: String
) : AdvancedSettingsUiState
data class DnsDialogUiState(
- override val mtu: String,
- override val isCustomDnsEnabled: Boolean,
- override val isAllowLanEnabled: Boolean,
- override val customDnsItems: List<CustomDnsItem>,
+ override val mtu: String = "",
+ override val isCustomDnsEnabled: Boolean = false,
+ override val isAllowLanEnabled: Boolean = false,
+ override val customDnsItems: List<CustomDnsItem> = listOf(),
val stagedDns: StagedDns,
) : AdvancedSettingsUiState
}