diff options
| author | Albin <albin@mullvad.net> | 2023-05-17 11:32:56 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-05-17 11:32:56 +0200 |
| commit | 5c7af983143a29c133094ea894e7a531bcf25ba3 (patch) | |
| tree | 95725e2174ff61c839cb603d3ee629aabe8ce3b5 /android | |
| parent | 630605d324c07374025db6177e21ce026d380394 (diff) | |
| parent | 00dbe8d0ef4e1b4c19ddf10770e0adb1fe008aad (diff) | |
| download | mullvadvpn-5c7af983143a29c133094ea894e7a531bcf25ba3.tar.xz mullvadvpn-5c7af983143a29c133094ea894e7a531bcf25ba3.zip | |
Merge branch 'move-split-tunneling-to-the-settings-droid-137'
Diffstat (limited to 'android')
5 files changed, 12 insertions, 32 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 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" |
