summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-05-17 11:32:56 +0200
committerAlbin <albin@mullvad.net>2023-05-17 11:32:56 +0200
commit5c7af983143a29c133094ea894e7a531bcf25ba3 (patch)
tree95725e2174ff61c839cb603d3ee629aabe8ce3b5
parent630605d324c07374025db6177e21ce026d380394 (diff)
parent00dbe8d0ef4e1b4c19ddf10770e0adb1fe008aad (diff)
downloadmullvadvpn-5c7af983143a29c133094ea894e7a531bcf25ba3.tar.xz
mullvadvpn-5c7af983143a29c133094ea894e7a531bcf25ba3.zip
Merge branch 'move-split-tunneling-to-the-settings-droid-137'
-rw-r--r--CHANGELOG.md1
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt21
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt7
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt1
-rw-r--r--android/app/src/main/res/layout/settings.xml5
6 files changed, 13 insertions, 32 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 80d599283a..a187ee82f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -32,6 +32,7 @@ Line wrap the file at 100 chars. Th
is turned off.
- Add creation date below device name in the device list screen.
- Changed `AdvancedSettings` page's name and title into `VPN Settings`.
+- Changed `SplitTunneling` menu location from `VPN Settings` to `Settings`.
### Changed
- In the CLI, update the `tunnel` subcommand to resemble `relay` more. For example, by adding a
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 6714d5490d..407bd15569 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
@@ -49,7 +49,6 @@ class VpnSettingsScreenTest {
composeTestRule.apply {
onNodeWithText("WireGuard MTU").assertExists()
onNodeWithText("Default").assertExists()
- onNodeWithText("Split tunneling").assertExists()
onNodeWithText("Use custom DNS server").assertExists()
onNodeWithText("Add a server").assertDoesNotExist()
}
@@ -218,26 +217,6 @@ class VpnSettingsScreenTest {
@Test
@OptIn(ExperimentalMaterialApi::class)
- fun testClickSplitTunneling() {
- // Arrange
- val mockedClickHandler: () -> Unit = mockk(relaxed = true)
- composeTestRule.setContent {
- VpnSettingsScreen(
- uiState = VpnSettingsUiState.DefaultUiState(),
- onSplitTunnelingNavigationClick = mockedClickHandler,
- toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow()
- )
- }
-
- // Act
- composeTestRule.onNodeWithText("Split tunneling").performClick()
-
- // Assert
- verify { mockedClickHandler.invoke() }
- }
-
- @Test
- @OptIn(ExperimentalMaterialApi::class)
fun testCustomDnsAddressesAndAddButtonVisibleWhenCustomDnsEnabled() {
// Arrange
composeTestRule.setContent {
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 507fbeb37d..e5a1032afd 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
@@ -50,7 +50,6 @@ import net.mullvad.mullvadvpn.compose.cell.DnsCell
import net.mullvad.mullvadvpn.compose.cell.ExpandableComposeCell
import net.mullvad.mullvadvpn.compose.cell.InformationComposeCell
import net.mullvad.mullvadvpn.compose.cell.MtuComposeCell
-import net.mullvad.mullvadvpn.compose.cell.NavigationComposeCell
import net.mullvad.mullvadvpn.compose.cell.SwitchCellTitle
import net.mullvad.mullvadvpn.compose.cell.SwitchComposeCell
import net.mullvad.mullvadvpn.compose.component.CollapsableAwareToolbarScaffold
@@ -90,7 +89,6 @@ private fun PreviewVpnSettings() {
onSaveMtuClick = {},
onRestoreMtuClick = {},
onCancelMtuDialogClicked = {},
- onSplitTunnelingNavigationClick = {},
onToggleAutoConnect = {},
onToggleLocalNetworkSharing = {},
onToggleDnsClick = {},
@@ -128,7 +126,6 @@ fun VpnSettingsScreen(
onSaveMtuClick: () -> Unit = {},
onRestoreMtuClick: () -> Unit = {},
onCancelMtuDialogClicked: () -> Unit = {},
- onSplitTunnelingNavigationClick: () -> Unit = {},
onToggleAutoConnect: (Boolean) -> Unit = {},
onToggleLocalNetworkSharing: (Boolean) -> Unit = {},
onToggleDnsClick: (Boolean) -> Unit = {},
@@ -275,13 +272,6 @@ fun VpnSettingsScreen(
}
itemWithDivider {
- NavigationComposeCell(
- title = stringResource(id = R.string.split_tunneling),
- onClick = { onSplitTunnelingNavigationClick.invoke() }
- )
- }
-
- itemWithDivider {
ExpandableComposeCell(
title = stringResource(R.string.dns_content_blockers_title),
isExpanded = !expandContentBlockersState,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
index db1f41e5ad..8db85de50d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/SettingsFragment.kt
@@ -48,6 +48,7 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
private lateinit var accountMenu: AccountCell
private lateinit var appVersionMenu: AppVersionCell
private lateinit var vpnSettingsMenu: View
+ private lateinit var splitTunnelingMenu: View
private lateinit var titleController: CollapsibleTitleController
@Deprecated("Refactor code to instead rely on Lifecycle.") private val jobTracker = JobTracker()
@@ -76,6 +77,11 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
targetFragment = VpnSettingsFragment::class
}
+ splitTunnelingMenu =
+ view.findViewById<NavigateCell>(R.id.split_tunneling).apply {
+ targetFragment = SplitTunnelingFragment::class
+ }
+
view.findViewById<NavigateCell>(R.id.report_a_problem).apply {
targetFragment = ProblemReportFragment::class
}
@@ -180,6 +186,7 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter
accountMenu.visibility = visibility
vpnSettingsMenu.visibility = visibility
+ splitTunnelingMenu.visibility = visibility
}
private fun updateVersionInfo(versionInfo: VersionInfo) {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
index f934612e98..79347ad3a9 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt
@@ -33,7 +33,6 @@ class VpnSettingsFragment : BaseFragment() {
onSaveMtuClick = vm::onSaveMtuClick,
onRestoreMtuClick = vm::onRestoreMtuClick,
onCancelMtuDialogClicked = vm::onCancelDialogClick,
- onSplitTunnelingNavigationClick = ::openSplitTunnelingFragment,
onToggleAutoConnect = vm::onToggleAutoConnect,
onToggleLocalNetworkSharing = vm::onToggleLocalNetworkSharing,
onToggleDnsClick = vm::onToggleDnsClick,
diff --git a/android/app/src/main/res/layout/settings.xml b/android/app/src/main/res/layout/settings.xml
index c37c44e8af..0bd735a887 100644
--- a/android/app/src/main/res/layout/settings.xml
+++ b/android/app/src/main/res/layout/settings.xml
@@ -53,6 +53,11 @@
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
mullvad:text="@string/settings_vpn" />
+ <net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/split_tunneling"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/vertical_space"
+ mullvad:text="@string/split_tunneling" />
<net.mullvad.mullvadvpn.ui.widget.AppVersionCell android:id="@+id/app_version"
android:layout_width="match_parent"
android:layout_height="wrap_content"