diff options
| author | Albin <albin@mullvad.net> | 2023-05-16 18:11:21 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-05-16 18:11:21 +0200 |
| commit | c40204f6d2642be7b5fff882750ec8a7de61d068 (patch) | |
| tree | b138f1871b0f6d2fbedb3137aefeb2a361adc4a9 /android | |
| parent | b3821d62c16eda5141f7b4e5eba582d90966f4e2 (diff) | |
| parent | aa4f8164d66c5b757193ede5198a37abe07da84d (diff) | |
| download | mullvadvpn-c40204f6d2642be7b5fff882750ec8a7de61d068.tar.xz mullvadvpn-c40204f6d2642be7b5fff882750ec8a7de61d068.zip | |
Merge branch 'rename-advanced-settings-to-vpn-settings-droid-136'
Diffstat (limited to 'android')
31 files changed, 164 insertions, 168 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingsScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt index 970e877b80..6714d5490d 100644 --- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/AdvancedSettingsScreenTest.kt +++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt @@ -17,7 +17,7 @@ import io.mockk.verify import io.mockk.verifyAll import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.asSharedFlow -import net.mullvad.mullvadvpn.compose.state.AdvancedSettingsUiState +import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_LAST_ITEM_TEST_TAG import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_TEST_TAG import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem @@ -26,7 +26,7 @@ import org.junit.Before import org.junit.Rule import org.junit.Test -class AdvancedSettingsScreenTest { +class VpnSettingsScreenTest { @get:Rule val composeTestRule = createComposeRule() @Before @@ -39,8 +39,8 @@ class AdvancedSettingsScreenTest { fun testDefaultState() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.DefaultUiState(), + VpnSettingsScreen( + uiState = VpnSettingsUiState.DefaultUiState(), toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) } @@ -60,8 +60,8 @@ class AdvancedSettingsScreenTest { fun testMtuCustomValue() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.DefaultUiState(mtu = VALID_DUMMY_MTU_VALUE), + VpnSettingsScreen( + uiState = VpnSettingsUiState.DefaultUiState(mtu = VALID_DUMMY_MTU_VALUE), toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) } @@ -76,8 +76,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedClickHandler: () -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.DefaultUiState(), + VpnSettingsScreen( + uiState = VpnSettingsUiState.DefaultUiState(), onMtuCellClick = mockedClickHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -95,8 +95,8 @@ class AdvancedSettingsScreenTest { fun testMtuDialogWithDefaultValue() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) } @@ -110,9 +110,8 @@ class AdvancedSettingsScreenTest { fun testMtuDialogWithEditValue() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( - uiState = - AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = VALID_DUMMY_MTU_VALUE), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = VALID_DUMMY_MTU_VALUE), toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) } @@ -127,8 +126,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedInputHandler: (String) -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), onMtuInputChange = mockedInputHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -147,9 +146,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedSubmitHandler: () -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = - AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = VALID_DUMMY_MTU_VALUE), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = VALID_DUMMY_MTU_VALUE), onSaveMtuClick = mockedSubmitHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -167,11 +165,9 @@ class AdvancedSettingsScreenTest { fun testMtuDialogSubmitButtonDisabledWhenInvalidInput() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.MtuDialogUiState( - mtuEditValue = INVALID_DUMMY_MTU_VALUE - ), + VpnSettingsUiState.MtuDialogUiState(mtuEditValue = INVALID_DUMMY_MTU_VALUE), toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) } @@ -186,8 +182,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedClickHandler: () -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), onRestoreMtuClick = mockedClickHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -206,8 +202,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedClickHandler: () -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), + VpnSettingsScreen( + uiState = VpnSettingsUiState.MtuDialogUiState(mtuEditValue = EMPTY_STRING), onCancelMtuDialogClicked = mockedClickHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -226,8 +222,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedClickHandler: () -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.DefaultUiState(), + VpnSettingsScreen( + uiState = VpnSettingsUiState.DefaultUiState(), onSplitTunnelingNavigationClick = mockedClickHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -245,9 +241,9 @@ class AdvancedSettingsScreenTest { fun testCustomDnsAddressesAndAddButtonVisibleWhenCustomDnsEnabled() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = true, isAllowLanEnabled = false, customDnsItems = @@ -277,9 +273,9 @@ class AdvancedSettingsScreenTest { fun testCustomDnsAddressesAndAddButtonNotVisibleWhenCustomDnsDisabled() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = false, customDnsItems = listOf(CustomDnsItem(address = DUMMY_DNS_ADDRESS, false)) ), @@ -299,9 +295,9 @@ class AdvancedSettingsScreenTest { fun testLanWarningNotShownWhenLanTrafficEnabledAndLocalAddressIsUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = true, isAllowLanEnabled = true, customDnsItems = @@ -320,9 +316,9 @@ class AdvancedSettingsScreenTest { fun testLanWarningNotShowedWhenLanTrafficDisabledAndLocalAddressIsNotUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = true, isAllowLanEnabled = false, customDnsItems = @@ -341,9 +337,9 @@ class AdvancedSettingsScreenTest { fun testLanWarningNotShowedWhenLanTrafficEnabledAndLocalAddressIsNotUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = true, isAllowLanEnabled = true, customDnsItems = @@ -362,9 +358,9 @@ class AdvancedSettingsScreenTest { fun testLanWarningShowedWhenAllowLanEnabledAndLocalDnsAddressIsUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isCustomDnsEnabled = true, isAllowLanEnabled = false, customDnsItems = @@ -386,8 +382,8 @@ class AdvancedSettingsScreenTest { // Arrange val mockedClickHandler: (Int?) -> Unit = mockk(relaxed = true) composeTestRule.setContent { - AdvancedSettingScreen( - uiState = AdvancedSettingsUiState.DefaultUiState(isCustomDnsEnabled = true), + VpnSettingsScreen( + uiState = VpnSettingsUiState.DefaultUiState(isCustomDnsEnabled = true), onDnsClick = mockedClickHandler, toastMessagesSharedFlow = MutableSharedFlow<String>().asSharedFlow() ) @@ -408,9 +404,9 @@ class AdvancedSettingsScreenTest { fun testShowDnsDialogForNewDnsServer() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false) @@ -429,9 +425,9 @@ class AdvancedSettingsScreenTest { fun testShowDnsDialogForUpdatingDnsServer() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.EditDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false), @@ -451,9 +447,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogLanWarningShownWhenLanTrafficDisabledAndLocalAddressUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = true), @@ -474,9 +470,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogLanWarningNotShownWhenLanTrafficEnabledAndLocalAddressUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = true), @@ -497,9 +493,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogLanWarningNotShownWhenLanTrafficEnabledAndNonLocalAddressUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false), @@ -520,9 +516,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogLanWarningNotShownWhenLanTrafficDisabledAndNonLocalAddressUsed() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false), @@ -543,9 +539,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogSubmitButtonDisabledOnInvalidDnsAddress() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false), @@ -565,9 +561,9 @@ class AdvancedSettingsScreenTest { fun testDnsDialogSubmitButtonDisabledOnDuplicateDnsAddress() { // Arrange composeTestRule.setContent { - AdvancedSettingScreen( + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DnsDialogUiState( + VpnSettingsUiState.DnsDialogUiState( stagedDns = StagedDns.NewDns( item = CustomDnsItem(DUMMY_DNS_ADDRESS, isLocal = false), 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/VpnSettingsScreen.kt index 56aedb69ca..507fbeb37d 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/VpnSettingsScreen.kt @@ -64,7 +64,7 @@ import net.mullvad.mullvadvpn.compose.dialog.MalwareInfoDialog import net.mullvad.mullvadvpn.compose.dialog.MtuDialog import net.mullvad.mullvadvpn.compose.dialog.ObfuscationInfoDialog import net.mullvad.mullvadvpn.compose.extensions.itemWithDivider -import net.mullvad.mullvadvpn.compose.state.AdvancedSettingsUiState +import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_LAST_ITEM_TEST_TAG import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_TEST_TAG import net.mullvad.mullvadvpn.compose.theme.MullvadBlue20 @@ -76,10 +76,10 @@ import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem @OptIn(ExperimentalMaterialApi::class) @Preview @Composable -private fun PreviewAdvancedSettings() { - AdvancedSettingScreen( +private fun PreviewVpnSettings() { + VpnSettingsScreen( uiState = - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( isAutoConnectEnabled = true, mtu = "1337", isCustomDnsEnabled = true, @@ -120,9 +120,9 @@ private fun PreviewAdvancedSettings() { @OptIn(ExperimentalFoundationApi::class) @ExperimentalMaterialApi @Composable -fun AdvancedSettingScreen( +fun VpnSettingsScreen( lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current, - uiState: AdvancedSettingsUiState, + uiState: VpnSettingsUiState, onMtuCellClick: () -> Unit = {}, onMtuInputChange: (String) -> Unit = {}, onSaveMtuClick: () -> Unit = {}, @@ -157,7 +157,7 @@ fun AdvancedSettingScreen( val cellHorizontalSpacing = dimensionResource(id = R.dimen.cell_left_padding) when (uiState) { - is AdvancedSettingsUiState.MtuDialogUiState -> { + is VpnSettingsUiState.MtuDialogUiState -> { MtuDialog( mtuValue = uiState.mtuEditValue, onMtuValueChanged = { onMtuInputChange(it) }, @@ -166,7 +166,7 @@ fun AdvancedSettingScreen( onDismiss = { onCancelMtuDialogClicked() } ) } - is AdvancedSettingsUiState.DnsDialogUiState -> { + is VpnSettingsUiState.DnsDialogUiState -> { DnsDialog( stagedDns = uiState.stagedDns, isAllowLanEnabled = uiState.isAllowLanEnabled, @@ -176,19 +176,19 @@ fun AdvancedSettingScreen( onDismiss = { onCancelDnsDialogClick() } ) } - is AdvancedSettingsUiState.LocalNetworkSharingInfoDialogUiState -> { + is VpnSettingsUiState.LocalNetworkSharingInfoDialogUiState -> { LocalNetworkSharingInfoDialog(onDismissInfoClicked) } - is AdvancedSettingsUiState.ContentBlockersInfoDialogUiState -> { + is VpnSettingsUiState.ContentBlockersInfoDialogUiState -> { ContentBlockersInfoDialog(onDismissInfoClicked) } - is AdvancedSettingsUiState.CustomDnsInfoDialogUiState -> { + is VpnSettingsUiState.CustomDnsInfoDialogUiState -> { CustomDnsInfoDialog(onDismissInfoClicked) } - is AdvancedSettingsUiState.MalwareInfoDialogUiState -> { + is VpnSettingsUiState.MalwareInfoDialogUiState -> { MalwareInfoDialog(onDismissInfoClicked) } - is AdvancedSettingsUiState.ObfuscationInfoDialogUiState -> { + is VpnSettingsUiState.ObfuscationInfoDialogUiState -> { ObfuscationInfoDialog(onDismissInfoClicked) } else -> { @@ -218,7 +218,7 @@ fun AdvancedSettingScreen( CollapsingTopBar( backgroundColor = MullvadDarkBlue, onBackClicked = { onBackClick() }, - title = stringResource(id = R.string.settings_advanced), + title = stringResource(id = R.string.settings_vpn), progress = progress, modifier = scaffoldModifier, backTitle = stringResource(id = R.string.settings) 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/VpnSettingsUiState.kt index 261714f8f9..f5315278ab 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/VpnSettingsUiState.kt @@ -5,7 +5,7 @@ import net.mullvad.mullvadvpn.model.SelectedObfuscation import net.mullvad.mullvadvpn.viewmodel.CustomDnsItem import net.mullvad.mullvadvpn.viewmodel.StagedDns -sealed interface AdvancedSettingsUiState { +sealed interface VpnSettingsUiState { val mtu: String val isAutoConnectEnabled: Boolean val isLocalNetworkSharingEnabled: Boolean @@ -24,7 +24,7 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class MtuDialogUiState( override val mtu: String = "", @@ -36,7 +36,7 @@ sealed interface AdvancedSettingsUiState { override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), val mtuEditValue: String, override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class DnsDialogUiState( override val mtu: String = "", @@ -48,7 +48,7 @@ sealed interface AdvancedSettingsUiState { override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), val stagedDns: StagedDns, override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class LocalNetworkSharingInfoDialogUiState( override val mtu: String = "", @@ -59,7 +59,7 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class ContentBlockersInfoDialogUiState( override val mtu: String = "", @@ -70,7 +70,7 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class CustomDnsInfoDialogUiState( override val mtu: String = "", @@ -81,7 +81,7 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class MalwareInfoDialogUiState( override val mtu: String = "", @@ -92,7 +92,7 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState data class ObfuscationInfoDialogUiState( override val mtu: String = "", @@ -103,5 +103,5 @@ sealed interface AdvancedSettingsUiState { override val customDnsItems: List<CustomDnsItem> = listOf(), override val contentBlockersOptions: DefaultDnsOptions = DefaultDnsOptions(), override val selectedObfuscation: SelectedObfuscation = SelectedObfuscation.Off - ) : AdvancedSettingsUiState + ) : VpnSettingsUiState } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt index 2a5f82b7aa..26703d98ec 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/di/UiModule.kt @@ -21,7 +21,6 @@ import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager import net.mullvad.mullvadvpn.ui.serviceconnection.SplitTunneling import net.mullvad.mullvadvpn.util.ChangelogDataProvider import net.mullvad.mullvadvpn.util.IChangelogDataProvider -import net.mullvad.mullvadvpn.viewmodel.AdvancedSettingsViewModel import net.mullvad.mullvadvpn.viewmodel.ChangelogViewModel import net.mullvad.mullvadvpn.viewmodel.ConnectViewModel import net.mullvad.mullvadvpn.viewmodel.DeviceListViewModel @@ -29,6 +28,7 @@ import net.mullvad.mullvadvpn.viewmodel.DeviceRevokedViewModel import net.mullvad.mullvadvpn.viewmodel.LoginViewModel import net.mullvad.mullvadvpn.viewmodel.PrivacyDisclaimerViewModel import net.mullvad.mullvadvpn.viewmodel.SplitTunnelingViewModel +import net.mullvad.mullvadvpn.viewmodel.VpnSettingsViewModel import org.apache.commons.validator.routines.InetAddressValidator import org.koin.android.ext.koin.androidApplication import org.koin.android.ext.koin.androidContext @@ -89,7 +89,7 @@ val uiModule = module { } viewModel { PrivacyDisclaimerViewModel(get()) } viewModel { - AdvancedSettingsViewModel( + VpnSettingsViewModel( get(), get(), get(), 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 ff3a8edcf0..db1f41e5ad 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 @@ -47,7 +47,7 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter private lateinit var accountMenu: AccountCell private lateinit var appVersionMenu: AppVersionCell - private lateinit var advancedMenu: View + private lateinit var vpnSettingsMenu: View private lateinit var titleController: CollapsibleTitleController @Deprecated("Refactor code to instead rely on Lifecycle.") private val jobTracker = JobTracker() @@ -71,9 +71,9 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter targetFragment = AccountFragment::class } - advancedMenu = - view.findViewById<NavigateCell>(R.id.advanced).apply { - targetFragment = AdvancedFragment::class + vpnSettingsMenu = + view.findViewById<NavigateCell>(R.id.vpn_settings).apply { + targetFragment = VpnSettingsFragment::class } view.findViewById<NavigateCell>(R.id.report_a_problem).apply { @@ -179,7 +179,7 @@ class SettingsFragment : BaseFragment(), StatusBarPainter, NavigationBarPainter } accountMenu.visibility = visibility - advancedMenu.visibility = visibility + vpnSettingsMenu.visibility = visibility } private fun updateVersionInfo(versionInfo: VersionInfo) { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AdvancedFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt index a7dbc8116d..f934612e98 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AdvancedFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/VpnSettingsFragment.kt @@ -8,13 +8,13 @@ import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.runtime.collectAsState import androidx.compose.ui.platform.ComposeView import net.mullvad.mullvadvpn.R -import net.mullvad.mullvadvpn.compose.screen.AdvancedSettingScreen +import net.mullvad.mullvadvpn.compose.screen.VpnSettingsScreen import net.mullvad.mullvadvpn.compose.theme.AppTheme -import net.mullvad.mullvadvpn.viewmodel.AdvancedSettingsViewModel +import net.mullvad.mullvadvpn.viewmodel.VpnSettingsViewModel import org.koin.androidx.viewmodel.ext.android.viewModel -class AdvancedFragment : BaseFragment() { - private val vm by viewModel<AdvancedSettingsViewModel>() +class VpnSettingsFragment : BaseFragment() { + private val vm by viewModel<VpnSettingsViewModel>() @OptIn(ExperimentalMaterialApi::class) override fun onCreateView( @@ -26,7 +26,7 @@ class AdvancedFragment : BaseFragment() { findViewById<ComposeView>(R.id.compose_view).setContent { AppTheme { val state = vm.uiState.collectAsState().value - AdvancedSettingScreen( + VpnSettingsScreen( uiState = state, onMtuCellClick = vm::onMtuCellClick, onMtuInputChange = vm::onMtuInputChange, diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AdvancedSettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt index 6990b7036e..9943ae60b6 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AdvancedSettingsViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt @@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R -import net.mullvad.mullvadvpn.compose.state.AdvancedSettingsUiState +import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState import net.mullvad.mullvadvpn.model.Constraint import net.mullvad.mullvadvpn.model.DefaultDnsOptions import net.mullvad.mullvadvpn.model.DnsState @@ -29,7 +29,7 @@ import net.mullvad.mullvadvpn.repository.SettingsRepository import net.mullvad.mullvadvpn.util.isValidMtu import org.apache.commons.validator.routines.InetAddressValidator -class AdvancedSettingsViewModel( +class VpnSettingsViewModel( private val repository: SettingsRepository, private val inetAddressValidator: InetAddressValidator, private val resources: Resources, @@ -40,11 +40,11 @@ class AdvancedSettingsViewModel( val toastMessages = _toastMessages.asSharedFlow() private val dialogState = - MutableStateFlow<AdvancedSettingsDialogState>(AdvancedSettingsDialogState.NoDialog) + MutableStateFlow<VpnSettingsDialogState>(VpnSettingsDialogState.NoDialog) private val vmState = combine(repository.settingsUpdates, dialogState) { settings, dialogState -> - AdvancedSettingsViewModelState( + VpnSettingsViewModelState( mtuValue = settings?.mtuString() ?: "", isAutoConnectEnabled = settings?.autoConnect ?: false, isLocalNetworkSharingEnabled = settings?.allowLan ?: false, @@ -61,29 +61,29 @@ class AdvancedSettingsViewModel( .stateIn( viewModelScope, SharingStarted.WhileSubscribed(), - AdvancedSettingsViewModelState.default() + VpnSettingsViewModelState.default() ) val uiState = vmState - .map(AdvancedSettingsViewModelState::toUiState) + .map(VpnSettingsViewModelState::toUiState) .stateIn( viewModelScope, SharingStarted.WhileSubscribed(), - AdvancedSettingsUiState.DefaultUiState() + VpnSettingsUiState.DefaultUiState() ) fun onMtuCellClick() { - dialogState.update { AdvancedSettingsDialogState.MtuDialog(vmState.value.mtuValue) } + dialogState.update { VpnSettingsDialogState.MtuDialog(vmState.value.mtuValue) } } fun onMtuInputChange(value: String) { - dialogState.update { AdvancedSettingsDialogState.MtuDialog(value) } + dialogState.update { VpnSettingsDialogState.MtuDialog(value) } } fun onSaveMtuClick() = viewModelScope.launch(dispatcher) { - val dialog = dialogState.value as? AdvancedSettingsDialogState.MtuDialog + val dialog = dialogState.value as? VpnSettingsDialogState.MtuDialog dialog ?.mtuEditValue ?.toIntOrNull() @@ -103,19 +103,19 @@ class AdvancedSettingsViewModel( } fun onLocalNetworkSharingInfoClick() { - dialogState.update { AdvancedSettingsDialogState.LocalNetworkSharingInfoDialog } + dialogState.update { VpnSettingsDialogState.LocalNetworkSharingInfoDialog } } fun onContentsBlockerInfoClick() { - dialogState.update { AdvancedSettingsDialogState.ContentBlockersInfoDialog } + dialogState.update { VpnSettingsDialogState.ContentBlockersInfoDialog } } fun onCustomDnsInfoClick() { - dialogState.update { AdvancedSettingsDialogState.CustomDnsInfoDialog } + dialogState.update { VpnSettingsDialogState.CustomDnsInfoDialog } } fun onMalwareInfoClick() { - dialogState.update { AdvancedSettingsDialogState.MalwareInfoDialog } + dialogState.update { VpnSettingsDialogState.MalwareInfoDialog } } fun onDismissInfoClick() { @@ -136,13 +136,13 @@ class AdvancedSettingsViewModel( } if (stagedDns != null) { - dialogState.update { AdvancedSettingsDialogState.DnsDialog(stagedDns) } + dialogState.update { VpnSettingsDialogState.DnsDialog(stagedDns) } } } fun onDnsInputChange(ipAddress: String) { dialogState.update { state -> - val dialog = state as? AdvancedSettingsDialogState.DnsDialog ?: return + val dialog = state as? VpnSettingsDialogState.DnsDialog ?: return val error = when { @@ -155,7 +155,7 @@ class AdvancedSettingsViewModel( else -> StagedDns.ValidationResult.Success } - return@update AdvancedSettingsDialogState.DnsDialog( + return@update VpnSettingsDialogState.DnsDialog( stagedDns = if (dialog.stagedDns is StagedDns.EditDns) { StagedDns.EditDns( @@ -184,7 +184,7 @@ class AdvancedSettingsViewModel( fun onSaveDnsClick() = viewModelScope.launch(dispatcher) { val dialog = - vmState.value.dialogState as? AdvancedSettingsDialogState.DnsDialog ?: return@launch + vmState.value.dialogState as? VpnSettingsDialogState.DnsDialog ?: return@launch if (dialog.stagedDns.isValid().not()) return@launch @@ -267,7 +267,7 @@ class AdvancedSettingsViewModel( fun onRemoveDnsClick() = viewModelScope.launch(dispatcher) { val dialog = - vmState.value.dialogState as? AdvancedSettingsDialogState.DnsDialog ?: return@launch + vmState.value.dialogState as? VpnSettingsDialogState.DnsDialog ?: return@launch val updatedList = vmState.value.customDnsList @@ -302,7 +302,7 @@ class AdvancedSettingsViewModel( } fun onObfuscationInfoClicked() { - dialogState.update { AdvancedSettingsDialogState.ObfuscationInfoDialog } + dialogState.update { VpnSettingsDialogState.ObfuscationInfoDialog } } private fun updateDefaultDnsOptionsViaRepository(contentBlockersOption: DefaultDnsOptions) = @@ -315,7 +315,7 @@ class AdvancedSettingsViewModel( } private fun hideDialog() { - dialogState.update { AdvancedSettingsDialogState.NoDialog } + dialogState.update { VpnSettingsDialogState.NoDialog } } private fun String.isDuplicateDns(stagedIndex: Int? = null): Boolean { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AdvancedSettingsViewModelState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt index 640f4f64ac..05ca44feb7 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AdvancedSettingsViewModelState.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelState.kt @@ -1,10 +1,10 @@ package net.mullvad.mullvadvpn.viewmodel -import net.mullvad.mullvadvpn.compose.state.AdvancedSettingsUiState +import net.mullvad.mullvadvpn.compose.state.VpnSettingsUiState import net.mullvad.mullvadvpn.model.DefaultDnsOptions import net.mullvad.mullvadvpn.model.SelectedObfuscation -data class AdvancedSettingsViewModelState( +data class VpnSettingsViewModelState( val mtuValue: String, val isAutoConnectEnabled: Boolean, val isLocalNetworkSharingEnabled: Boolean, @@ -13,12 +13,12 @@ data class AdvancedSettingsViewModelState( val customDnsList: List<CustomDnsItem>, val contentBlockersOptions: DefaultDnsOptions, val selectedObfuscation: SelectedObfuscation, - val dialogState: AdvancedSettingsDialogState + val dialogState: VpnSettingsDialogState ) { - fun toUiState(): AdvancedSettingsUiState { + fun toUiState(): VpnSettingsUiState { return when (dialogState) { - is AdvancedSettingsDialogState.MtuDialog -> - AdvancedSettingsUiState.MtuDialogUiState( + is VpnSettingsDialogState.MtuDialog -> + VpnSettingsUiState.MtuDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -29,8 +29,8 @@ data class AdvancedSettingsViewModelState( mtuEditValue = dialogState.mtuEditValue, selectedObfuscation = selectedObfuscation ) - is AdvancedSettingsDialogState.DnsDialog -> - AdvancedSettingsUiState.DnsDialogUiState( + is VpnSettingsDialogState.DnsDialog -> + VpnSettingsUiState.DnsDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -41,8 +41,8 @@ data class AdvancedSettingsViewModelState( stagedDns = dialogState.stagedDns, selectedObfuscation = selectedObfuscation ) - is AdvancedSettingsDialogState.LocalNetworkSharingInfoDialog -> - AdvancedSettingsUiState.LocalNetworkSharingInfoDialogUiState( + is VpnSettingsDialogState.LocalNetworkSharingInfoDialog -> + VpnSettingsUiState.LocalNetworkSharingInfoDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -51,8 +51,8 @@ data class AdvancedSettingsViewModelState( customDnsItems = customDnsList, contentBlockersOptions = contentBlockersOptions ) - is AdvancedSettingsDialogState.ContentBlockersInfoDialog -> - AdvancedSettingsUiState.ContentBlockersInfoDialogUiState( + is VpnSettingsDialogState.ContentBlockersInfoDialog -> + VpnSettingsUiState.ContentBlockersInfoDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -62,8 +62,8 @@ data class AdvancedSettingsViewModelState( contentBlockersOptions = contentBlockersOptions, selectedObfuscation = selectedObfuscation ) - is AdvancedSettingsDialogState.CustomDnsInfoDialog -> - AdvancedSettingsUiState.CustomDnsInfoDialogUiState( + is VpnSettingsDialogState.CustomDnsInfoDialog -> + VpnSettingsUiState.CustomDnsInfoDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -72,8 +72,8 @@ data class AdvancedSettingsViewModelState( customDnsItems = customDnsList, contentBlockersOptions = contentBlockersOptions ) - is AdvancedSettingsDialogState.MalwareInfoDialog -> - AdvancedSettingsUiState.MalwareInfoDialogUiState( + is VpnSettingsDialogState.MalwareInfoDialog -> + VpnSettingsUiState.MalwareInfoDialogUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -83,8 +83,8 @@ data class AdvancedSettingsViewModelState( contentBlockersOptions = contentBlockersOptions, selectedObfuscation = selectedObfuscation ) - is AdvancedSettingsDialogState.ObfuscationInfoDialog -> - AdvancedSettingsUiState.ObfuscationInfoDialogUiState( + is VpnSettingsDialogState.ObfuscationInfoDialog -> + VpnSettingsUiState.ObfuscationInfoDialogUiState( mtu = mtuValue, isCustomDnsEnabled = isCustomDnsEnabled, isAllowLanEnabled = isAllowLanEnabled, @@ -93,7 +93,7 @@ data class AdvancedSettingsViewModelState( selectedObfuscation = selectedObfuscation ) else -> - AdvancedSettingsUiState.DefaultUiState( + VpnSettingsUiState.DefaultUiState( mtu = mtuValue, isAutoConnectEnabled = isAutoConnectEnabled, isLocalNetworkSharingEnabled = isLocalNetworkSharingEnabled, @@ -110,7 +110,7 @@ data class AdvancedSettingsViewModelState( private const val EMPTY_STRING = "" fun default() = - AdvancedSettingsViewModelState( + VpnSettingsViewModelState( mtuValue = EMPTY_STRING, isAutoConnectEnabled = false, isLocalNetworkSharingEnabled = false, @@ -118,28 +118,28 @@ data class AdvancedSettingsViewModelState( customDnsList = listOf(), contentBlockersOptions = DefaultDnsOptions(), isAllowLanEnabled = false, - dialogState = AdvancedSettingsDialogState.NoDialog, + dialogState = VpnSettingsDialogState.NoDialog, selectedObfuscation = SelectedObfuscation.Auto ) } } -sealed class AdvancedSettingsDialogState { - object NoDialog : AdvancedSettingsDialogState() +sealed class VpnSettingsDialogState { + object NoDialog : VpnSettingsDialogState() - data class MtuDialog(val mtuEditValue: String) : AdvancedSettingsDialogState() + data class MtuDialog(val mtuEditValue: String) : VpnSettingsDialogState() - data class DnsDialog(val stagedDns: StagedDns) : AdvancedSettingsDialogState() + data class DnsDialog(val stagedDns: StagedDns) : VpnSettingsDialogState() - object LocalNetworkSharingInfoDialog : AdvancedSettingsDialogState() + object LocalNetworkSharingInfoDialog : VpnSettingsDialogState() - object ContentBlockersInfoDialog : AdvancedSettingsDialogState() + object ContentBlockersInfoDialog : VpnSettingsDialogState() - object CustomDnsInfoDialog : AdvancedSettingsDialogState() + object CustomDnsInfoDialog : VpnSettingsDialogState() - object MalwareInfoDialog : AdvancedSettingsDialogState() + object MalwareInfoDialog : VpnSettingsDialogState() - object ObfuscationInfoDialog : AdvancedSettingsDialogState() + object ObfuscationInfoDialog : VpnSettingsDialogState() } sealed interface StagedDns { diff --git a/android/app/src/main/res/layout/collapsed_title_layout.xml b/android/app/src/main/res/layout/collapsed_title_layout.xml index 64ad3ed2d6..3d755ba65b 100644 --- a/android/app/src/main/res/layout/collapsed_title_layout.xml +++ b/android/app/src/main/res/layout/collapsed_title_layout.xml @@ -52,7 +52,7 @@ app:layout_collapseMode="pin" app:layout_collapseParallaxMultiplier="0" app:layout_scrollFlags="enterAlwaysCollapsed|enterAlways" - app:text="@string/settings_advanced" /> + app:text="@string/settings_vpn" /> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" diff --git a/android/app/src/main/res/layout/settings.xml b/android/app/src/main/res/layout/settings.xml index 09426d0bca..c37c44e8af 100644 --- a/android/app/src/main/res/layout/settings.xml +++ b/android/app/src/main/res/layout/settings.xml @@ -48,11 +48,11 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/vertical_space" mullvad:text="@string/settings_account" /> - <net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/advanced" + <net.mullvad.mullvadvpn.ui.widget.NavigateCell android:id="@+id/vpn_settings" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" - mullvad:text="@string/settings_advanced" /> + mullvad:text="@string/settings_vpn" /> <net.mullvad.mullvadvpn.ui.widget.AppVersionCell android:id="@+id/app_version" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/android/app/src/main/res/layout/split_tunneling.xml b/android/app/src/main/res/layout/split_tunneling.xml index 9875a25774..33a6419400 100644 --- a/android/app/src/main/res/layout/split_tunneling.xml +++ b/android/app/src/main/res/layout/split_tunneling.xml @@ -17,7 +17,7 @@ <net.mullvad.mullvadvpn.ui.widget.BackButton android:id="@+id/back" android:layout_width="wrap_content" android:layout_height="wrap_content" - mullvad:text="@string/settings_advanced" /> + mullvad:text="@string/settings_vpn" /> <TextView android:id="@+id/collapsed_title" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/android/app/src/main/res/values-da/strings.xml b/android/app/src/main/res/values-da/strings.xml index 30255e6372..5c54fa0261 100644 --- a/android/app/src/main/res/values-da/strings.xml +++ b/android/app/src/main/res/values-da/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Kan ikke indstille systemets DNS-server. Indsend en problemrapport.</string> <string name="settings">Indstillinger</string> <string name="settings_account">Konto</string> - <string name="settings_advanced">Avancerede indstillinger</string> <string name="settings_preferences">Indstillinger</string> + <string name="settings_vpn">VPN-indstillinger</string> <string name="show_account_number">Vis kontonummer</string> <string name="show_system_apps">Vis systemapps</string> <string name="split_tunneling_description">Split tunneling gør det muligt at vælge, hvilke applikationer der ikke skal dirigeres gennem VPN-tunnelen.</string> diff --git a/android/app/src/main/res/values-de/strings.xml b/android/app/src/main/res/values-de/strings.xml index f0d627b6c2..51822b3abe 100644 --- a/android/app/src/main/res/values-de/strings.xml +++ b/android/app/src/main/res/values-de/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Der DNS-Server des Systems konnte nicht eingestellt werden. Bitte senden Sie einen Problembericht.</string> <string name="settings">Einstellungen</string> <string name="settings_account">Konto</string> - <string name="settings_advanced">Erweitert</string> <string name="settings_preferences">Präferenzen</string> + <string name="settings_vpn">VPN-Einstellungen</string> <string name="show_account_number">Kontonummer anzeigen</string> <string name="show_system_apps">System-Apps anzeigen</string> <string name="split_tunneling_description">Split-Tunnel-Steuerung macht es möglich, auszuwählen, welche Anwendungen nicht durch den VPN-Tunnel geroutet werden.</string> diff --git a/android/app/src/main/res/values-es/strings.xml b/android/app/src/main/res/values-es/strings.xml index 9ff3883f87..eb49e299de 100644 --- a/android/app/src/main/res/values-es/strings.xml +++ b/android/app/src/main/res/values-es/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">No se puede configurar el servidor DNS del sistema. Envíe un informe de problemas.</string> <string name="settings">Configuración</string> <string name="settings_account">Cuenta</string> - <string name="settings_advanced">Avanzadas</string> <string name="settings_preferences">Preferencias</string> + <string name="settings_vpn">Configuración de VPN</string> <string name="show_account_number">Mostrar número de cuenta</string> <string name="show_system_apps">Mostrar aplicaciones del sistema</string> <string name="split_tunneling_description">La tunelización dividida permite seleccionar qué aplicaciones no deben enrutarse a través del túnel VPN.</string> diff --git a/android/app/src/main/res/values-fi/strings.xml b/android/app/src/main/res/values-fi/strings.xml index 9ab3e0713f..969f0aa9d3 100644 --- a/android/app/src/main/res/values-fi/strings.xml +++ b/android/app/src/main/res/values-fi/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Järjestelmän DNS-palvelimen asettaminen ei onnistu. Lähetä ongelmaraportti.</string> <string name="settings">Asetukset</string> <string name="settings_account">Tili</string> - <string name="settings_advanced">Lisäasetukset</string> <string name="settings_preferences">Asetukset</string> + <string name="settings_vpn">VPN-asetukset</string> <string name="show_account_number">Näytä tilin numero</string> <string name="show_system_apps">Näytä järjestelmäsovellukset</string> <string name="split_tunneling_description">Jaettu tunnelointi antaa mahdollisuuden valita, mitä sovelluksia ei reititetä VPN-tunnelin kautta.</string> diff --git a/android/app/src/main/res/values-fr/strings.xml b/android/app/src/main/res/values-fr/strings.xml index 2e20e5f4c1..42b7a8772c 100644 --- a/android/app/src/main/res/values-fr/strings.xml +++ b/android/app/src/main/res/values-fr/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Impossible de définir le serveur DNS système. Veuillez envoyer un rapport de problème.</string> <string name="settings">Paramètres</string> <string name="settings_account">Compte</string> - <string name="settings_advanced">Avancé</string> <string name="settings_preferences">Préférences</string> + <string name="settings_vpn">Paramètres VPN</string> <string name="show_account_number">Afficher le numéro de compte</string> <string name="show_system_apps">Afficher les applications système</string> <string name="split_tunneling_description">Le split tunneling permet de sélectionner quelles applications ne doivent pas passer par le tunnel VPN.</string> diff --git a/android/app/src/main/res/values-it/strings.xml b/android/app/src/main/res/values-it/strings.xml index d37f5a76ec..ed84bd66c7 100644 --- a/android/app/src/main/res/values-it/strings.xml +++ b/android/app/src/main/res/values-it/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Impossibile impostare il server DNS di sistema. Invia una segnalazione del problema.</string> <string name="settings">Impostazioni</string> <string name="settings_account">Account</string> - <string name="settings_advanced">Avanzate</string> <string name="settings_preferences">Preferenze</string> + <string name="settings_vpn">Impostazioni VPN</string> <string name="show_account_number">Mostra numero di account</string> <string name="show_system_apps">Mostra app di sistema</string> <string name="split_tunneling_description">Lo split tunneling consente di selezionare quali applicazioni non devono essere instradate attraverso il tunnel VPN.</string> diff --git a/android/app/src/main/res/values-ja/strings.xml b/android/app/src/main/res/values-ja/strings.xml index 75ecb81450..c8ebd205c7 100644 --- a/android/app/src/main/res/values-ja/strings.xml +++ b/android/app/src/main/res/values-ja/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">システムのDNSサーバーを設定できません。問題の報告を送信してください。</string> <string name="settings">設定</string> <string name="settings_account">アカウント</string> - <string name="settings_advanced">詳細</string> <string name="settings_preferences">環境設定</string> + <string name="settings_vpn">VPN設定</string> <string name="show_account_number">アカウント番号の表示</string> <string name="show_system_apps">システムアプリの表示</string> <string name="split_tunneling_description">スプリットトンネリングを使用すると、VPNトンネル経由でルーティングしないアプリケーションを選択できます。</string> diff --git a/android/app/src/main/res/values-ko/strings.xml b/android/app/src/main/res/values-ko/strings.xml index 92a89a84a2..80caf8bcc3 100644 --- a/android/app/src/main/res/values-ko/strings.xml +++ b/android/app/src/main/res/values-ko/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">시스템 DNS 서버를 설정할 수 없습니다. 문제 보고서를 보내주세요.</string> <string name="settings">설정</string> <string name="settings_account">계정</string> - <string name="settings_advanced">고급</string> <string name="settings_preferences">환경 설정</string> + <string name="settings_vpn">VPN 설정</string> <string name="show_account_number">계정 번호 표시</string> <string name="show_system_apps">시스템 앱 표시</string> <string name="split_tunneling_description">분할 터널링을 사용하면 VPN 터널을 통해 라우팅되지 않아야 하는 애플리케이션을 선택할 수 있습니다.</string> diff --git a/android/app/src/main/res/values-my/strings.xml b/android/app/src/main/res/values-my/strings.xml index 21640ebb47..7cc6e5b550 100644 --- a/android/app/src/main/res/values-my/strings.xml +++ b/android/app/src/main/res/values-my/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">စနစ် DNS ဆာဗာကို သတ်မှတ်၍ မရနိုင်ပါ။ ပြဿနာ ရီပို့တ်တစ်ခု ပေးပို့ပေးပါ။</string> <string name="settings">ဆက်တင်</string> <string name="settings_account">အကောင့်</string> - <string name="settings_advanced">အဆင့်မြင့်</string> <string name="settings_preferences">လိုလားမှုများ</string> + <string name="settings_vpn">VPN ဆက်တင်များ</string> <string name="show_account_number">အကောင့်နံပါတ်ကို ပြရန်</string> <string name="show_system_apps">စနစ်အက်ပ်များ ပြရန်</string> <string name="split_tunneling_description">Split Tunneling သည် VPN Tunnel မှတစ်ဆင့် လမ်းကြောင်းအတိုင်း မပို့သင့်သည့် အက်ပ်များကို ရွေးချယ်နိုင်ပါသည်။</string> diff --git a/android/app/src/main/res/values-nb/strings.xml b/android/app/src/main/res/values-nb/strings.xml index 4e389e7845..9ff0909593 100644 --- a/android/app/src/main/res/values-nb/strings.xml +++ b/android/app/src/main/res/values-nb/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Kunne ikke angi DNS-server for systemet. Send inn en problemrapport.</string> <string name="settings">Innstillinger</string> <string name="settings_account">Konto</string> - <string name="settings_advanced">Avansert</string> <string name="settings_preferences">Preferanser</string> + <string name="settings_vpn">VPN-innstillinger</string> <string name="show_account_number">Vis kontonummer</string> <string name="show_system_apps">Vis systemapper</string> <string name="split_tunneling_description">Tunneldeling gjør det mulig å velge hvilke applikasjoner som ikke skal rutes gjennom VPN-tunnelen.</string> diff --git a/android/app/src/main/res/values-nl/strings.xml b/android/app/src/main/res/values-nl/strings.xml index f6f235f8db..5c81fdb4c6 100644 --- a/android/app/src/main/res/values-nl/strings.xml +++ b/android/app/src/main/res/values-nl/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Kan DNS-server van systeem niet instellen. Stuur een probleemrapport.</string> <string name="settings">Instellingen</string> <string name="settings_account">Account</string> - <string name="settings_advanced">Geavanceerd</string> <string name="settings_preferences">Voorkeuren</string> + <string name="settings_vpn">VPN-instellingen</string> <string name="show_account_number">Accountnummer weergeven</string> <string name="show_system_apps">Systeemapps weergeven</string> <string name="split_tunneling_description">Split tunneling maakt het mogelijk te kiezen welke toepassingen niet via de VPN-tunnel moeten worden geleid.</string> diff --git a/android/app/src/main/res/values-pl/strings.xml b/android/app/src/main/res/values-pl/strings.xml index e9a704a41f..d249c35327 100644 --- a/android/app/src/main/res/values-pl/strings.xml +++ b/android/app/src/main/res/values-pl/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Nie można ustawić systemowego serwera DNS. Wyślij zgłoszenie problemu.</string> <string name="settings">Ustawienia</string> <string name="settings_account">Konto</string> - <string name="settings_advanced">Zaawansowane</string> <string name="settings_preferences">Preferencje</string> + <string name="settings_vpn">Ustawienia VPN</string> <string name="show_account_number">Pokaż numer konta</string> <string name="show_system_apps">Pokaż aplikacje systemowe</string> <string name="split_tunneling_description">Dzielone tunelowanie umożliwia wybranie aplikacji, które nie powinny być kierowane przez tunel VPN.</string> diff --git a/android/app/src/main/res/values-pt/strings.xml b/android/app/src/main/res/values-pt/strings.xml index ab1135859c..4345c4dd3e 100644 --- a/android/app/src/main/res/values-pt/strings.xml +++ b/android/app/src/main/res/values-pt/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Não foi possível definir o servidor DNS do sistema. Envie um relatório do problema.</string> <string name="settings">Definições</string> <string name="settings_account">Conta</string> - <string name="settings_advanced">Avançadas</string> <string name="settings_preferences">Preferências</string> + <string name="settings_vpn">Definições de VPN</string> <string name="show_account_number">Mostrar número de conta</string> <string name="show_system_apps">Mostrar aplicações do sistema</string> <string name="split_tunneling_description">A divisão do túnel permite selecionar quais as aplicações que devem ser direcionadas através do túnel VPN.</string> diff --git a/android/app/src/main/res/values-ru/strings.xml b/android/app/src/main/res/values-ru/strings.xml index 7c3fefa8df..a3e2b368a1 100644 --- a/android/app/src/main/res/values-ru/strings.xml +++ b/android/app/src/main/res/values-ru/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Не удалось установить системный DNS-сервер. Отправьте сообщение о проблеме.</string> <string name="settings">Настройки</string> <string name="settings_account">Учетная запись</string> - <string name="settings_advanced">Дополнительные</string> <string name="settings_preferences">Параметры</string> + <string name="settings_vpn">Настройки VPN</string> <string name="show_account_number">Показать номер учетной записи</string> <string name="show_system_apps">Показывать системные приложения</string> <string name="split_tunneling_description">Раздельное туннелирование позволяет выбрать, какие приложения не должны маршрутизироваться через VPN-туннель.</string> diff --git a/android/app/src/main/res/values-sv/strings.xml b/android/app/src/main/res/values-sv/strings.xml index c612249eaa..7f0b8515ad 100644 --- a/android/app/src/main/res/values-sv/strings.xml +++ b/android/app/src/main/res/values-sv/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Det går inte att konfigurera DNS-server. Skicka en problemrapport.</string> <string name="settings">Inställningar</string> <string name="settings_account">Konto</string> - <string name="settings_advanced">Avancerat</string> <string name="settings_preferences">Inställningar</string> + <string name="settings_vpn">VPN-inställningar</string> <string name="show_account_number">Visa kontonummer</string> <string name="show_system_apps">Visa systemappar</string> <string name="split_tunneling_description">Delade tunnlar gör det möjligt att välja vilka applikationer som inte ska dirigeras genom VPN-tunneln.</string> diff --git a/android/app/src/main/res/values-th/strings.xml b/android/app/src/main/res/values-th/strings.xml index 5d60396604..4f534f5324 100644 --- a/android/app/src/main/res/values-th/strings.xml +++ b/android/app/src/main/res/values-th/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">ไม่สามารถตั้งค่าเซิร์ฟเวอร์ DNS ของระบบได้ โปรดส่งรายงานปัญหา</string> <string name="settings">การตั้งค่า</string> <string name="settings_account">บัญชี</string> - <string name="settings_advanced">ขั้นสูง</string> <string name="settings_preferences">การกำหนดค่า</string> + <string name="settings_vpn">การตั้งค่า VPN</string> <string name="show_account_number">แสดงหมายเลขบัญชี</string> <string name="show_system_apps">แสดงแอประบบ</string> <string name="split_tunneling_description">การแยกอุโมงค์ทำให้สามารถเลือกได้ว่า แอปพลิเคชันใดไม่ควรได้รับการกำหนดเส้นทางผ่านอุโมงค์ VPN</string> diff --git a/android/app/src/main/res/values-tr/strings.xml b/android/app/src/main/res/values-tr/strings.xml index 88cff28b45..0c527b3bab 100644 --- a/android/app/src/main/res/values-tr/strings.xml +++ b/android/app/src/main/res/values-tr/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">Sistem DNS sunucusu ayarlanamıyor. Lütfen bir hata raporu gönderin.</string> <string name="settings">Ayarlar</string> <string name="settings_account">Hesap</string> - <string name="settings_advanced">Gelişmiş</string> <string name="settings_preferences">Tercihler</string> + <string name="settings_vpn">VPN ayarları</string> <string name="show_account_number">Hesap numarasını göster</string> <string name="show_system_apps">Sistem uygulamalarını göster</string> <string name="split_tunneling_description">Bölünmüş tünelleme, VPN tüneli üzerinden yönlendirilmemesi gereken uygulamaları seçmenize imkan sağlar.</string> diff --git a/android/app/src/main/res/values-zh-rCN/strings.xml b/android/app/src/main/res/values-zh-rCN/strings.xml index 1c2b856f8a..ee0d7b1292 100644 --- a/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/android/app/src/main/res/values-zh-rCN/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">无法设置系统 DNS 服务器。请发送问题报告。</string> <string name="settings">设置</string> <string name="settings_account">帐户</string> - <string name="settings_advanced">高级</string> <string name="settings_preferences">偏好设置</string> + <string name="settings_vpn">VPN 设置</string> <string name="show_account_number">显示帐号</string> <string name="show_system_apps">显示系统应用</string> <string name="split_tunneling_description">利用拆分隧道,您可以选择哪些应用程序不应通过 VPN 隧道进行路由。</string> diff --git a/android/app/src/main/res/values-zh-rTW/strings.xml b/android/app/src/main/res/values-zh-rTW/strings.xml index 12a9ae98e5..789edc7029 100644 --- a/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/android/app/src/main/res/values-zh-rTW/strings.xml @@ -136,8 +136,8 @@ <string name="set_dns_error">無法設定系統 DNS 伺服器。請傳送問題回報。</string> <string name="settings">設定</string> <string name="settings_account">帳戶</string> - <string name="settings_advanced">進階</string> <string name="settings_preferences">喜好設定</string> + <string name="settings_vpn">VPN 設定</string> <string name="show_account_number">顯示帳號</string> <string name="show_system_apps">顯示系統應用程式</string> <string name="split_tunneling_description">利用拆分通道,您可以選擇哪些應用程式不應透過 VPN 通道進行路由。</string> diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 9baef011b7..c09e0e2519 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -43,7 +43,7 @@ <string name="out_of_time">Out of time</string> <string name="add_time_to_account">Either buy credit on our website or redeem a voucher.</string> <string name="settings_preferences">Preferences</string> - <string name="settings_advanced">Advanced</string> + <string name="settings_vpn">VPN settings</string> <string name="app_version">App version</string> <string name="update_available_footer">Update available, download to remain safe.</string> <string name="report_a_problem">Report a problem</string> |
