summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt26
1 files changed, 26 insertions, 0 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
index 765975a446..2fae02ba1e 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
@@ -23,6 +23,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
@@ -46,11 +47,13 @@ import net.mullvad.mullvadvpn.compose.cell.HeaderSwitchComposeCell
import net.mullvad.mullvadvpn.compose.cell.InformationComposeCell
import net.mullvad.mullvadvpn.compose.cell.MtuComposeCell
import net.mullvad.mullvadvpn.compose.cell.MtuSubtitle
+import net.mullvad.mullvadvpn.compose.cell.NavigationComposeCell
import net.mullvad.mullvadvpn.compose.cell.NormalSwitchComposeCell
import net.mullvad.mullvadvpn.compose.cell.SelectableCell
import net.mullvad.mullvadvpn.compose.cell.SwitchComposeSubtitleCell
import net.mullvad.mullvadvpn.compose.component.NavigateBackIconButton
import net.mullvad.mullvadvpn.compose.component.ScaffoldWithMediumTopBar
+import net.mullvad.mullvadvpn.compose.destinations.AutoConnectAndLockdownModeScreenDestination
import net.mullvad.mullvadvpn.compose.destinations.ContentBlockersInfoDialogDestination
import net.mullvad.mullvadvpn.compose.destinations.CustomDnsInfoDialogDestination
import net.mullvad.mullvadvpn.compose.destinations.DnsDialogDestination
@@ -75,6 +78,7 @@ import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_PORT_ITEM_X_TEST_TAG
import net.mullvad.mullvadvpn.compose.transitions.SlideInFromRightTransition
import net.mullvad.mullvadvpn.constant.WIREGUARD_PRESET_PORTS
+import net.mullvad.mullvadvpn.lib.common.util.vpnSettingsAvailable
import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.lib.theme.Dimens
import net.mullvad.mullvadvpn.model.Constraint
@@ -188,6 +192,11 @@ fun VpnSettings(
navigateToContentBlockersInfo = {
navigator.navigate(ContentBlockersInfoDialogDestination) { launchSingleTop = true }
},
+ navigateToAutoConnectScreen = {
+ navigator.navigate(AutoConnectAndLockdownModeScreenDestination) {
+ launchSingleTop = true
+ }
+ },
navigateToCustomDnsInfo = {
navigator.navigate(CustomDnsInfoDialogDestination) { launchSingleTop = true }
},
@@ -245,12 +254,14 @@ fun VpnSettings(
)
}
+@Suppress("LongMethod")
@OptIn(ExperimentalFoundationApi::class)
@Composable
fun VpnSettingsScreen(
uiState: VpnSettingsUiState,
snackbarHostState: SnackbarHostState = remember { SnackbarHostState() },
navigateToContentBlockersInfo: () -> Unit = {},
+ navigateToAutoConnectScreen: () -> Unit = {},
navigateToCustomDnsInfo: () -> Unit = {},
navigateToMalwareInfo: () -> Unit = {},
navigateToObfuscationInfo: () -> Unit = {},
@@ -284,10 +295,25 @@ fun VpnSettingsScreen(
navigationIcon = { NavigateBackIconButton(onBackClick) },
snackbarHostState = snackbarHostState
) { modifier, lazyListState ->
+ val context = LocalContext.current
LazyColumn(
modifier = modifier.testTag(LAZY_LIST_TEST_TAG).animateContentSize(),
state = lazyListState
) {
+ if (context.vpnSettingsAvailable()) {
+ item {
+ Spacer(modifier = Modifier.height(Dimens.cellLabelVerticalPadding))
+ NavigationComposeCell(
+ title = stringResource(id = R.string.auto_connect_and_lockdown_mode),
+ onClick = { navigateToAutoConnectScreen() },
+ )
+ }
+ item {
+ SwitchComposeSubtitleCell(
+ text = stringResource(id = R.string.auto_connect_and_lockdown_mode_footer)
+ )
+ }
+ }
item {
Spacer(modifier = Modifier.height(Dimens.cellLabelVerticalPadding))
HeaderSwitchComposeCell(