summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson90@gmail.com>2023-10-20 11:56:08 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-11-06 12:37:36 +0100
commitae9967e2d78d08761269324aeb23d5c7bab98681 (patch)
tree0b5865f7788f09168e4eeee06e8a44baff7c8f20
parentb13c219765ada1dd8f08f5e177fb88a1914423f1 (diff)
downloadmullvadvpn-ae9967e2d78d08761269324aeb23d5c7bab98681.tar.xz
mullvadvpn-ae9967e2d78d08761269324aeb23d5c7bab98681.zip
Move Content blockers closer to Use custom Dns setting
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt29
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt112
2 files changed, 72 insertions, 69 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
index 3eee07e2e6..167aabd5ec 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt
@@ -55,10 +55,7 @@ class VpnSettingsScreenTest {
)
}
- composeTestRule.apply {
- onNodeWithText("WireGuard MTU").assertExists()
- onNodeWithText("Default").assertExists()
- }
+ composeTestRule.apply { onNodeWithText("Auto-connect").assertExists() }
composeTestRule
.onNodeWithTag(LAZY_LIST_TEST_TAG)
@@ -66,8 +63,8 @@ class VpnSettingsScreenTest {
// Assert
composeTestRule.apply {
- onNodeWithText("Use custom DNS server").assertExists()
- onNodeWithText("Add a server").assertDoesNotExist()
+ onNodeWithText("WireGuard MTU").assertExists()
+ onNodeWithText("Default").assertExists()
}
}
@@ -81,6 +78,10 @@ class VpnSettingsScreenTest {
)
}
+ composeTestRule
+ .onNodeWithTag(LAZY_LIST_TEST_TAG)
+ .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
+
// Assert
composeTestRule.onNodeWithText(VALID_DUMMY_MTU_VALUE).assertExists()
}
@@ -97,6 +98,10 @@ class VpnSettingsScreenTest {
)
}
+ composeTestRule
+ .onNodeWithTag(LAZY_LIST_TEST_TAG)
+ .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
+
// Act
composeTestRule.onNodeWithText("WireGuard MTU").performClick()
@@ -257,9 +262,9 @@ class VpnSettingsScreenTest {
toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow()
)
}
- composeTestRule
- .onNodeWithTag(LAZY_LIST_TEST_TAG)
- .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
+ // composeTestRule
+ // .onNodeWithTag(LAZY_LIST_TEST_TAG)
+ // .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
// Assert
composeTestRule.apply {
onNodeWithText(DUMMY_DNS_ADDRESS).assertExists()
@@ -386,9 +391,9 @@ class VpnSettingsScreenTest {
toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow()
)
}
- composeTestRule
- .onNodeWithTag(LAZY_LIST_TEST_TAG)
- .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
+ // composeTestRule
+ // .onNodeWithTag(LAZY_LIST_TEST_TAG)
+ // .performScrollToNode(hasTestTag(LAZY_LIST_LAST_ITEM_TEST_TAG))
// Act
composeTestRule.onNodeWithText("Add a server").performClick()
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 4e08e06a1d..4178b66329 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
@@ -293,12 +293,8 @@ fun VpnSettingsScreen(
onCellClicked = { newValue -> onToggleLocalNetworkSharing(newValue) },
onInfoClicked = { onLocalNetworkSharingInfoClick() }
)
- }
- item {
Spacer(modifier = Modifier.height(Dimens.cellLabelVerticalPadding))
- MtuComposeCell(mtuValue = uiState.mtu, onEditMtu = { onMtuCellClick() })
}
- item { MtuSubtitle() }
itemWithDivider {
ExpandableComposeCell(
@@ -363,7 +359,7 @@ fun VpnSettingsScreen(
)
}
- itemWithDivider {
+ item {
NormalSwitchComposeCell(
title = stringResource(R.string.block_social_media_title),
isToggled = uiState.contentBlockersOptions.blockSocialMedia,
@@ -389,6 +385,58 @@ fun VpnSettingsScreen(
}
}
+ item {
+ HeaderSwitchComposeCell(
+ title = stringResource(R.string.enable_custom_dns),
+ isToggled = uiState.isCustomDnsEnabled,
+ isEnabled = uiState.contentBlockersOptions.isAnyBlockerEnabled().not(),
+ onCellClicked = { newValue -> onToggleDnsClick(newValue) },
+ onInfoClicked = { onCustomDnsInfoClick() }
+ )
+ }
+
+ if (uiState.isCustomDnsEnabled) {
+ itemsIndexed(uiState.customDnsItems) { index, item ->
+ DnsCell(
+ address = item.address,
+ isUnreachableLocalDnsWarningVisible =
+ item.isLocal && uiState.isAllowLanEnabled.not(),
+ onClick = { onDnsClick(index) },
+ modifier = Modifier.animateItemPlacement()
+ )
+ Divider()
+ }
+
+ itemWithDivider {
+ BaseCell(
+ onCellClicked = { onDnsClick(null) },
+ title = {
+ Text(
+ text = stringResource(id = R.string.add_a_server),
+ color = Color.White,
+ )
+ },
+ bodyView = {},
+ background = MaterialTheme.colorScheme.secondaryContainer,
+ startPadding = biggerPadding,
+ )
+ }
+ }
+
+ item {
+ CustomDnsCellSubtitle(
+ isCellClickable = uiState.contentBlockersOptions.isAnyBlockerEnabled().not(),
+ modifier =
+ Modifier.background(MaterialTheme.colorScheme.secondary)
+ .padding(
+ start = Dimens.cellStartPadding,
+ top = topPadding,
+ end = Dimens.cellEndPadding,
+ bottom = Dimens.cellLabelVerticalPadding,
+ )
+ )
+ }
+
itemWithDivider {
Spacer(modifier = Modifier.height(Dimens.cellLabelVerticalPadding))
InformationComposeCell(
@@ -497,61 +545,11 @@ fun VpnSettingsScreen(
mainTestTag = LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_TEST_TAG,
numberTestTag = LAZY_LIST_WIREGUARD_CUSTOM_PORT_NUMBER_TEST_TAG
)
- }
-
- item {
Spacer(modifier = Modifier.height(Dimens.cellLabelVerticalPadding))
- HeaderSwitchComposeCell(
- title = stringResource(R.string.enable_custom_dns),
- isToggled = uiState.isCustomDnsEnabled,
- isEnabled = uiState.contentBlockersOptions.isAnyBlockerEnabled().not(),
- onCellClicked = { newValue -> onToggleDnsClick(newValue) },
- onInfoClicked = { onCustomDnsInfoClick() }
- )
}
- if (uiState.isCustomDnsEnabled) {
- itemsIndexed(uiState.customDnsItems) { index, item ->
- DnsCell(
- address = item.address,
- isUnreachableLocalDnsWarningVisible =
- item.isLocal && uiState.isAllowLanEnabled.not(),
- onClick = { onDnsClick(index) },
- modifier = Modifier.animateItemPlacement()
- )
- Divider()
- }
-
- itemWithDivider {
- BaseCell(
- onCellClicked = { onDnsClick(null) },
- title = {
- Text(
- text = stringResource(id = R.string.add_a_server),
- color = Color.White,
- )
- },
- bodyView = {},
- background = MaterialTheme.colorScheme.secondaryContainer,
- startPadding = biggerPadding,
- )
- }
- }
-
- item {
- CustomDnsCellSubtitle(
- isCellClickable = uiState.contentBlockersOptions.isAnyBlockerEnabled().not(),
- modifier =
- Modifier.background(MaterialTheme.colorScheme.secondary)
- .testTag(LAZY_LIST_LAST_ITEM_TEST_TAG)
- .padding(
- start = Dimens.cellStartPadding,
- top = topPadding,
- end = Dimens.cellEndPadding,
- bottom = Dimens.cellLabelVerticalPadding,
- )
- )
- }
+ item { MtuComposeCell(mtuValue = uiState.mtu, onEditMtu = { onMtuCellClick() }) }
+ item { MtuSubtitle(modifier = Modifier.testTag(LAZY_LIST_LAST_ITEM_TEST_TAG)) }
}
}
}