summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-08-14 14:27:26 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2025-08-22 13:49:04 +0200
commitc5b594a4d081579b66930fd696cbc5c440288e8f (patch)
tree8157fb9e969d031cd8404b79c4ea52e10523bde1 /android
parent744950926a5295de0d829a7bcdddfff0711308bb (diff)
downloadmullvadvpn-c5b594a4d081579b66930fd696cbc5c440288e8f.tar.xz
mullvadvpn-c5b594a4d081579b66930fd696cbc5c440288e8f.zip
Improve connect on start up information
Diffstat (limited to 'android')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreenTest.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/ConnectOnStartupInfoDialog.kt59
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/InfoDialog.kt23
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt20
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingItem.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingsUiState.kt2
-rw-r--r--android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/ContextExtensions.kt12
-rw-r--r--android/lib/resource/src/main/res/values-da/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-de/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-es/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-fi/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-fr/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-it/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-ja/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-ko/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-my/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-nb/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-nl/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-pl/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-pt/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-ru/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-sv/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-th/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-tr/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-zh-rCN/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values-zh-rTW/strings.xml1
-rw-r--r--android/lib/resource/src/main/res/values/strings.xml4
27 files changed, 100 insertions, 43 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 310ebcdc6f..d996be4b51 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
@@ -122,6 +122,7 @@ class VpnSettingsScreenTest {
navigateToIpv6Info: () -> Unit = {},
onToggleDnsContentBlockers: () -> Unit = {},
navigateToDeviceIpInfo: () -> Unit = {},
+ navigateToConnectOnDeviceOnStartUpInfo: () -> Unit = {},
) {
setContentWithTheme {
VpnSettingsScreen(
@@ -158,6 +159,7 @@ class VpnSettingsScreenTest {
navigateToIpv6Info = navigateToIpv6Info,
onToggleContentBlockersExpanded = onToggleDnsContentBlockers,
navigateToDeviceIpInfo = navigateToDeviceIpInfo,
+ navigateToConnectOnDeviceOnStartUpInfo = navigateToConnectOnDeviceOnStartUpInfo,
initialScrollToFeature = null,
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/ConnectOnStartupInfoDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/ConnectOnStartupInfoDialog.kt
new file mode 100644
index 0000000000..b81cd00c0a
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/ConnectOnStartupInfoDialog.kt
@@ -0,0 +1,59 @@
+package net.mullvad.mullvadvpn.compose.dialog.info
+
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.OpenInNew
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import com.ramcosta.composedestinations.annotation.Destination
+import com.ramcosta.composedestinations.annotation.RootGraph
+import com.ramcosta.composedestinations.navigation.DestinationsNavigator
+import com.ramcosta.composedestinations.spec.DestinationStyle
+import net.mullvad.mullvadvpn.R
+import net.mullvad.mullvadvpn.compose.button.PrimaryButton
+import net.mullvad.mullvadvpn.lib.common.util.openAppDetailsSettings
+import net.mullvad.mullvadvpn.lib.theme.AppTheme
+
+@Preview
+@Composable
+private fun PreviewApiAccessMethodInfoDialog() {
+ AppTheme { ConnectOnStartupInfoDialog(onDismiss = {}, openAppDetails = {}) }
+}
+
+@Destination<RootGraph>(style = DestinationStyle.Dialog::class)
+@Composable
+fun ConnectOnStartupInfo(navigator: DestinationsNavigator) {
+ val context = LocalContext.current
+ ConnectOnStartupInfoDialog(
+ onDismiss = navigator::navigateUp,
+ openAppDetails = { context.openAppDetailsSettings() },
+ )
+}
+
+@Composable
+fun ConnectOnStartupInfoDialog(onDismiss: () -> Unit, openAppDetails: () -> Unit) {
+ InfoDialog(
+ onDismiss = { onDismiss() },
+ message = stringResource(R.string.connect_on_start_info_first),
+ additionalInfo = stringResource(R.string.connect_on_start_info_second),
+ confirmButton = {
+ PrimaryButton(
+ text = stringResource(R.string.open_app_details),
+ onClick = openAppDetails,
+ trailingIcon = {
+ Icon(
+ imageVector = Icons.AutoMirrored.Filled.OpenInNew,
+ tint = MaterialTheme.colorScheme.onPrimary,
+ contentDescription = null,
+ )
+ },
+ )
+ },
+ dismissButton = {
+ PrimaryButton(text = stringResource(R.string.got_it), onClick = onDismiss)
+ },
+ )
+}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/InfoDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/InfoDialog.kt
index 1cb4bccbed..cf6cb1c240 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/InfoDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/info/InfoDialog.kt
@@ -43,7 +43,19 @@ private fun PreviewChangelogDialogWithTwoLongItems() {
}
@Composable
-fun InfoDialog(message: String, additionalInfo: String? = null, onDismiss: () -> Unit) {
+fun InfoDialog(
+ message: String,
+ additionalInfo: String? = null,
+ onDismiss: () -> Unit,
+ confirmButton: @Composable () -> Unit = {
+ PrimaryButton(
+ modifier = Modifier.wrapContentHeight().fillMaxWidth(),
+ text = stringResource(R.string.got_it),
+ onClick = onDismiss,
+ )
+ },
+ dismissButton: @Composable (() -> Unit)? = null,
+) {
AlertDialog(
onDismissRequest = { onDismiss() },
icon = {
@@ -86,13 +98,8 @@ fun InfoDialog(message: String, additionalInfo: String? = null, onDismiss: () ->
}
}
},
- confirmButton = {
- PrimaryButton(
- modifier = Modifier.wrapContentHeight().fillMaxWidth(),
- text = stringResource(R.string.got_it),
- onClick = onDismiss,
- )
- },
+ confirmButton = confirmButton,
+ dismissButton = dismissButton,
properties = DialogProperties(dismissOnClickOutside = true, dismissOnBackPress = true),
containerColor = MaterialTheme.colorScheme.surface,
)
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 7d26ad25ee..ea45861c96 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
@@ -46,6 +46,7 @@ import androidx.lifecycle.compose.dropUnlessResumed
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.annotation.RootGraph
import com.ramcosta.composedestinations.generated.destinations.AutoConnectAndLockdownModeDestination
+import com.ramcosta.composedestinations.generated.destinations.ConnectOnStartupInfoDestination
import com.ramcosta.composedestinations.generated.destinations.ContentBlockersInfoDestination
import com.ramcosta.composedestinations.generated.destinations.CustomDnsInfoDestination
import com.ramcosta.composedestinations.generated.destinations.DeviceIpInfoDestination
@@ -172,6 +173,7 @@ private fun PreviewVpnSettings(
onToggleContentBlockersExpanded = {},
navigateToIpv6Info = {},
navigateToDeviceIpInfo = {},
+ navigateToConnectOnDeviceOnStartUpInfo = {},
)
}
}
@@ -306,6 +308,8 @@ fun SharedTransitionScope.VpnSettings(
onToggleIpv6 = vm::setIpv6Enabled,
navigateToIpv6Info = dropUnlessResumed { navigator.navigate(Ipv6InfoDestination) },
navigateToDeviceIpInfo = dropUnlessResumed { navigator.navigate(DeviceIpInfoDestination) },
+ navigateToConnectOnDeviceOnStartUpInfo =
+ dropUnlessResumed { navigator.navigate(ConnectOnStartupInfoDestination) },
)
}
@@ -349,6 +353,7 @@ fun VpnSettingsScreen(
onToggleIpv6: (Boolean) -> Unit,
navigateToIpv6Info: () -> Unit,
navigateToDeviceIpInfo: () -> Unit,
+ navigateToConnectOnDeviceOnStartUpInfo: () -> Unit,
) {
val appBarState = rememberTopAppBarState()
val canScroll = remember { mutableStateOf(false) }
@@ -419,6 +424,7 @@ fun VpnSettingsScreen(
onToggleIpv6,
navigateToIpv6Info,
navigateToDeviceIpInfo,
+ navigateToConnectOnDeviceOnStartUpInfo,
)
}
}
@@ -464,6 +470,7 @@ fun VpnSettingsContent(
onToggleIpv6: (Boolean) -> Unit,
navigateToIpv6Info: () -> Unit,
navigateToDeviceIpInfo: () -> Unit,
+ navigateToConnectOnDeviceOnStartUpInfo: () -> Unit,
) {
val initialIndexFocus =
when (initialScrollToFeature) {
@@ -534,24 +541,13 @@ fun VpnSettingsContent(
modifier = Modifier.animateItem(),
title = stringResource(R.string.connect_on_start),
isToggled = it.enabled,
+ onInfoClicked = navigateToConnectOnDeviceOnStartUpInfo,
onCellClicked = { newValue ->
onToggleAutoStartAndConnectOnBoot(newValue)
},
)
}
- VpnSettingItem.ConnectDeviceOnStartUpInfo ->
- item(key = it::class.simpleName) {
- SwitchComposeSubtitleCell(
- modifier = Modifier.animateItem(),
- text =
- textResource(
- R.string.connect_on_start_footer,
- textResource(R.string.auto_connect_and_lockdown_mode),
- ),
- )
- }
-
VpnSettingItem.CustomDnsAdd ->
item(key = it::class.simpleName) {
BaseCell(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingItem.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingItem.kt
index 1016b62af8..517959e1a2 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingItem.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingItem.kt
@@ -16,8 +16,6 @@ sealed interface VpnSettingItem {
// Only used on TV devices
data class ConnectDeviceOnStartUpSetting(val enabled: Boolean) : VpnSettingItem
- data object ConnectDeviceOnStartUpInfo : VpnSettingItem
-
data class LocalNetworkSharingSetting(val enabled: Boolean) : VpnSettingItem
data class DnsContentBlockersHeader(val featureEnabled: Boolean, val expanded: Boolean) :
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingsUiState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingsUiState.kt
index 1526171b1b..bca87015b4 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingsUiState.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/state/VpnSettingsUiState.kt
@@ -41,7 +41,7 @@ data class VpnSettingsUiState(val settings: List<VpnSettingItem>, val isModal: B
add(VpnSettingItem.AutoConnectAndLockdownModeInfo)
} else {
add(VpnSettingItem.ConnectDeviceOnStartUpSetting(autoStartAndConnectOnBoot))
- add(VpnSettingItem.ConnectDeviceOnStartUpInfo)
+ add(VpnSettingItem.Spacer)
}
// Local network sharing
diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/ContextExtensions.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/ContextExtensions.kt
index 2d82bc56f4..9da4243631 100644
--- a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/ContextExtensions.kt
+++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/ContextExtensions.kt
@@ -31,3 +31,15 @@ fun Context.openVpnSettings(): Either<ActivityNotFoundException, Unit> =
}
.onLeft { Logger.e("Failed to open VPN settings", it) }
.mapLeft { it as? ActivityNotFoundException ?: throw it }
+
+fun Context.openAppDetailsSettings(): Either<ActivityNotFoundException, Unit> =
+ Either.catch {
+ val intent =
+ Intent(
+ "android.settings.APPLICATION_DETAILS_SETTINGS",
+ "package:$packageName".toUri(),
+ )
+ startActivity(intent)
+ }
+ .onLeft { Logger.e("Failed to open app details settings", it) }
+ .mapLeft { it as? ActivityNotFoundException ?: throw it }
diff --git a/android/lib/resource/src/main/res/values-da/strings.xml b/android/lib/resource/src/main/res/values-da/strings.xml
index 756073792e..be26ab6e10 100644
--- a/android/lib/resource/src/main/res/values-da/strings.xml
+++ b/android/lib/resource/src/main/res/values-da/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Tillykke!</string>
<string name="connect">Tilslut</string>
<string name="connect_on_start">Opret forbindelse ved opstart af enheden</string>
- <string name="connect_on_start_footer">Opretter automatisk forbindelse ved opstart af enheden. Virker kun, hvis appen har fået VPN-tilladelse.</string>
<string name="connect_panel_active_features">Aktive funktioner</string>
<string name="connect_panel_connection_details">Forbindelsesoplysninger</string>
<string name="connected">Tilsluttet</string>
diff --git a/android/lib/resource/src/main/res/values-de/strings.xml b/android/lib/resource/src/main/res/values-de/strings.xml
index c376cc761d..12e43b5d9f 100644
--- a/android/lib/resource/src/main/res/values-de/strings.xml
+++ b/android/lib/resource/src/main/res/values-de/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Glückwunsch!</string>
<string name="connect">Verbinden</string>
<string name="connect_on_start">Verbinden beim Einschalten des Geräts</string>
- <string name="connect_on_start_footer">Automatische Verbindung beim Start des Geräts. Funktioniert nur, wenn die App die VPN-Berechtigung erhalten hat.</string>
<string name="connect_panel_active_features">Aktive Funktionen</string>
<string name="connect_panel_connection_details">Verbindungsdetails</string>
<string name="connected">Verbunden</string>
diff --git a/android/lib/resource/src/main/res/values-es/strings.xml b/android/lib/resource/src/main/res/values-es/strings.xml
index f0e6b4f099..b76ec33c1d 100644
--- a/android/lib/resource/src/main/res/values-es/strings.xml
+++ b/android/lib/resource/src/main/res/values-es/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">¡Enhorabuena!</string>
<string name="connect">Conectar</string>
<string name="connect_on_start">Conectar al iniciar el dispositivo</string>
- <string name="connect_on_start_footer">Se conecta automáticamente al iniciar el dispositivo. Solo funciona si a la aplicación se le ha concedido el permiso VPN.</string>
<string name="connect_panel_active_features">Características activas</string>
<string name="connect_panel_connection_details">Detalles de la conexión</string>
<string name="connected">Conectado</string>
diff --git a/android/lib/resource/src/main/res/values-fi/strings.xml b/android/lib/resource/src/main/res/values-fi/strings.xml
index 7fd700a110..aca2052934 100644
--- a/android/lib/resource/src/main/res/values-fi/strings.xml
+++ b/android/lib/resource/src/main/res/values-fi/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Onnittelut!</string>
<string name="connect">Yhdistä</string>
<string name="connect_on_start">Luo yhteys, kun laite käynnistyy</string>
- <string name="connect_on_start_footer">Muodosta yhteys automaattisesti laitteen käynnistyksen yhteydessä. Tämä toimii ainoastaan kun sovellukselle on myönnetty VPN:n käyttöoikeus.</string>
<string name="connect_panel_active_features">Käytössä olevat ominaisuudet</string>
<string name="connect_panel_connection_details">Yhteyden tiedot</string>
<string name="connected">Yhdistetty</string>
diff --git a/android/lib/resource/src/main/res/values-fr/strings.xml b/android/lib/resource/src/main/res/values-fr/strings.xml
index b48f4b332c..e48f6b8bde 100644
--- a/android/lib/resource/src/main/res/values-fr/strings.xml
+++ b/android/lib/resource/src/main/res/values-fr/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Félicitations !</string>
<string name="connect">Connexion</string>
<string name="connect_on_start">Connexion au démarrage de l\'appareil</string>
- <string name="connect_on_start_footer">Connexion automatique au démarrage de l\'appareil. Ne fonctionne que si l\'application a reçu l\'autorisation VPN.</string>
<string name="connect_panel_active_features">Fonctionnalités activées</string>
<string name="connect_panel_connection_details">Détails de la connexion</string>
<string name="connected">Connecté</string>
diff --git a/android/lib/resource/src/main/res/values-it/strings.xml b/android/lib/resource/src/main/res/values-it/strings.xml
index f956138225..3c42bff12a 100644
--- a/android/lib/resource/src/main/res/values-it/strings.xml
+++ b/android/lib/resource/src/main/res/values-it/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Complimenti!</string>
<string name="connect">Connetti</string>
<string name="connect_on_start">Connetti all\'avvio del dispositivo</string>
- <string name="connect_on_start_footer">Connettiti automaticamente all\'avvio del dispositivo. Funziona solo se all\'app è stata concessa l\'autorizzazione VPN.</string>
<string name="connect_panel_active_features">Funzionalità attive</string>
<string name="connect_panel_connection_details">Dettagli connessione</string>
<string name="connected">Connesso</string>
diff --git a/android/lib/resource/src/main/res/values-ja/strings.xml b/android/lib/resource/src/main/res/values-ja/strings.xml
index 89c51e3c27..0019bd8cf6 100644
--- a/android/lib/resource/src/main/res/values-ja/strings.xml
+++ b/android/lib/resource/src/main/res/values-ja/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">おめでとうございます!</string>
<string name="connect">接続</string>
<string name="connect_on_start">デバイス起動時に接続</string>
- <string name="connect_on_start_footer">デバイスの起動時に自動接続します。これはアプリにVPNへのアクセス許可が付与されている場合にのみ機能します。</string>
<string name="connect_panel_active_features">有効な機能</string>
<string name="connect_panel_connection_details">接続の詳細</string>
<string name="connected">接続済み</string>
diff --git a/android/lib/resource/src/main/res/values-ko/strings.xml b/android/lib/resource/src/main/res/values-ko/strings.xml
index 76ee45bad4..4d5e18e0cf 100644
--- a/android/lib/resource/src/main/res/values-ko/strings.xml
+++ b/android/lib/resource/src/main/res/values-ko/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">축하합니다!</string>
<string name="connect">연결</string>
<string name="connect_on_start">장치 시작 시 연결</string>
- <string name="connect_on_start_footer">장치 시작 시 자동으로 연결됩니다. 앱에 VPN 권한이 부여된 경우에만 작동됩니다.</string>
<string name="connect_panel_active_features">활성 기능</string>
<string name="connect_panel_connection_details">연결 세부 정보</string>
<string name="connected">연결됨</string>
diff --git a/android/lib/resource/src/main/res/values-my/strings.xml b/android/lib/resource/src/main/res/values-my/strings.xml
index 3fd829e743..98b9982cc1 100644
--- a/android/lib/resource/src/main/res/values-my/strings.xml
+++ b/android/lib/resource/src/main/res/values-my/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">ဝမ်းသာပါတယ်။</string>
<string name="connect">ချိတ်ဆက်ရန်</string>
<string name="connect_on_start">စက်စဖွင့်သည့်အခါ ချိတ်ဆက်ရန်</string>
- <string name="connect_on_start_footer">စက် စဖွင့်သည့်အခါ အလိုအလျောက် ချိတ်ဆက်ပါသည်။ အက်ပ်ကို VPN ခွင့်ပြုချက်ပေးထားမှသာ အလုပ်လုပ်သည်။</string>
<string name="connect_panel_active_features">သက်ဝင်နေသည့် လုပ်ဆောင်ချက်များ</string>
<string name="connect_panel_connection_details">ချိတ်ဆက်မှု အသေးစိတ်အချက်များ</string>
<string name="connected">ချိတ်ဆက်ပြီး</string>
diff --git a/android/lib/resource/src/main/res/values-nb/strings.xml b/android/lib/resource/src/main/res/values-nb/strings.xml
index 5fba0f5314..c0d6622923 100644
--- a/android/lib/resource/src/main/res/values-nb/strings.xml
+++ b/android/lib/resource/src/main/res/values-nb/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Gratulerer!</string>
<string name="connect">Koble til</string>
<string name="connect_on_start">Koble til når enheten startes</string>
- <string name="connect_on_start_footer">Koble til automatisk ved oppstart av enheten. Fungerer bare hvis appen har fått VPN-tillatelse.</string>
<string name="connect_panel_active_features">Aktive funksjoner</string>
<string name="connect_panel_connection_details">Tilkoblingsdetaljer</string>
<string name="connected">Tilkoblet</string>
diff --git a/android/lib/resource/src/main/res/values-nl/strings.xml b/android/lib/resource/src/main/res/values-nl/strings.xml
index 07da308d48..e1d1619d8e 100644
--- a/android/lib/resource/src/main/res/values-nl/strings.xml
+++ b/android/lib/resource/src/main/res/values-nl/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Gefeliciteerd!</string>
<string name="connect">Verbinden</string>
<string name="connect_on_start">Verbinden bij opstarten van apparaat</string>
- <string name="connect_on_start_footer">Maak automatisch verbinding bij het opstarten van het apparaat. Werkt alleen als de app VPN-toestemming heeft gekregen.</string>
<string name="connect_panel_active_features">Actieve functies</string>
<string name="connect_panel_connection_details">Verbindingsgegevens</string>
<string name="connected">Verbonden</string>
diff --git a/android/lib/resource/src/main/res/values-pl/strings.xml b/android/lib/resource/src/main/res/values-pl/strings.xml
index 5ffc7baf1a..e9f255c4e2 100644
--- a/android/lib/resource/src/main/res/values-pl/strings.xml
+++ b/android/lib/resource/src/main/res/values-pl/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Gratulacje!</string>
<string name="connect">Połącz</string>
<string name="connect_on_start">Połącz przy uruchomieniu urządzenia</string>
- <string name="connect_on_start_footer">Automatycznie łącz się przy uruchomieniu urządzenia. Działa tylko wtedy, gdy aplikacji przyznano uprawnienie VPN.</string>
<string name="connect_panel_active_features">Aktywne funkcje</string>
<string name="connect_panel_connection_details">Szczegóły połączenia</string>
<string name="connected">Połączono</string>
diff --git a/android/lib/resource/src/main/res/values-pt/strings.xml b/android/lib/resource/src/main/res/values-pt/strings.xml
index b0834e80bf..ee85151bc8 100644
--- a/android/lib/resource/src/main/res/values-pt/strings.xml
+++ b/android/lib/resource/src/main/res/values-pt/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Parabéns!</string>
<string name="connect">Ligar</string>
<string name="connect_on_start">Ligar no arranque do dispositivo</string>
- <string name="connect_on_start_footer">Ligar automaticamente no arranque do dispositivo. Só funciona se a aplicação tiver recebido a permissão de VPN.</string>
<string name="connect_panel_active_features">Funcionalidades ativas</string>
<string name="connect_panel_connection_details">Detalhes da ligação</string>
<string name="connected">Ligado</string>
diff --git a/android/lib/resource/src/main/res/values-ru/strings.xml b/android/lib/resource/src/main/res/values-ru/strings.xml
index 84ee74220f..ce118dc517 100644
--- a/android/lib/resource/src/main/res/values-ru/strings.xml
+++ b/android/lib/resource/src/main/res/values-ru/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Поздравляем!</string>
<string name="connect">Подключить</string>
<string name="connect_on_start">Подключаться при запуске устройства</string>
- <string name="connect_on_start_footer">Автоматическое подключение при запуске устройства. Приложению понадобится разрешение для VPN.</string>
<string name="connect_panel_active_features">Активные функции</string>
<string name="connect_panel_connection_details">Сведения о подключении</string>
<string name="connected">Подключено</string>
diff --git a/android/lib/resource/src/main/res/values-sv/strings.xml b/android/lib/resource/src/main/res/values-sv/strings.xml
index 39d41d699b..8656246738 100644
--- a/android/lib/resource/src/main/res/values-sv/strings.xml
+++ b/android/lib/resource/src/main/res/values-sv/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Grattis!</string>
<string name="connect">Anslut</string>
<string name="connect_on_start">Anslut när enheten startas</string>
- <string name="connect_on_start_footer">Anslut automatiskt när enheten startar. Fungerar bara om appen har beviljats VPN-behörighet.</string>
<string name="connect_panel_active_features">Aktiva funktioner</string>
<string name="connect_panel_connection_details">Anslutningsinformation</string>
<string name="connected">Ansluten</string>
diff --git a/android/lib/resource/src/main/res/values-th/strings.xml b/android/lib/resource/src/main/res/values-th/strings.xml
index fccd133f35..ec273c5e66 100644
--- a/android/lib/resource/src/main/res/values-th/strings.xml
+++ b/android/lib/resource/src/main/res/values-th/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">ยินดีด้วย!</string>
<string name="connect">เชื่อมต่อ</string>
<string name="connect_on_start">เชื่อมต่อเมื่ออุปกรณ์เริ่มทำงาน</string>
- <string name="connect_on_start_footer">เชื่อมต่อโดยอัตโนมัติเมื่ออุปกรณ์เริ่มทำงาน ใช้งานได้เมื่อแอปได้รับสิทธิ์ VPN แล้วเท่านั้น</string>
<string name="connect_panel_active_features">คุณลักษณะที่ใช้งาน</string>
<string name="connect_panel_connection_details">รายละเอียดการเชื่อมต่อ</string>
<string name="connected">เชื่อมต่อแล้ว</string>
diff --git a/android/lib/resource/src/main/res/values-tr/strings.xml b/android/lib/resource/src/main/res/values-tr/strings.xml
index eb9d9ea85f..6a802fe7dc 100644
--- a/android/lib/resource/src/main/res/values-tr/strings.xml
+++ b/android/lib/resource/src/main/res/values-tr/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">Tebrikler!</string>
<string name="connect">Bağlan</string>
<string name="connect_on_start">Cihaz başlatılırken bağlan</string>
- <string name="connect_on_start_footer">Cihaz başlatılırken otomatik olarak bağlanır. Yalnızca uygulamaya VPN izni verilmişse etkinleşir.</string>
<string name="connect_panel_active_features">Aktif özellikler</string>
<string name="connect_panel_connection_details">Bağlantı ayrıntıları</string>
<string name="connected">Bağlandı</string>
diff --git a/android/lib/resource/src/main/res/values-zh-rCN/strings.xml b/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
index 4e1a8f9d45..fac8961cee 100644
--- a/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
+++ b/android/lib/resource/src/main/res/values-zh-rCN/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">恭喜!</string>
<string name="connect">连接</string>
<string name="connect_on_start">设备启动时连接</string>
- <string name="connect_on_start_footer">设备启动时自动连接。仅适用于已为应用授予 VPN 权限的情况。</string>
<string name="connect_panel_active_features">有效功能</string>
<string name="connect_panel_connection_details">连接详细信息</string>
<string name="connected">已连接</string>
diff --git a/android/lib/resource/src/main/res/values-zh-rTW/strings.xml b/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
index bf252f6293..d53584ca36 100644
--- a/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
+++ b/android/lib/resource/src/main/res/values-zh-rTW/strings.xml
@@ -76,7 +76,6 @@
<string name="congrats">恭喜!</string>
<string name="connect">連線</string>
<string name="connect_on_start">裝置啟動時連線</string>
- <string name="connect_on_start_footer">裝置啟動時自動連線。僅適用於已為應用程式授予 VPN 權限的情況。</string>
<string name="connect_panel_active_features">有效功能</string>
<string name="connect_panel_connection_details">連線詳細資訊</string>
<string name="connected">已連線</string>
diff --git a/android/lib/resource/src/main/res/values/strings.xml b/android/lib/resource/src/main/res/values/strings.xml
index c58d62fc03..44b41aa99a 100644
--- a/android/lib/resource/src/main/res/values/strings.xml
+++ b/android/lib/resource/src/main/res/values/strings.xml
@@ -361,7 +361,6 @@
<string name="feature_indicators_show_more">%1$s more...</string>
<string name="connect">Connect</string>
<string name="connect_on_start">Connect on device start-up</string>
- <string name="connect_on_start_footer">Automatically connect on device start-up. Only works if the app has been granted the VPN permission.</string>
<string name="close">Close</string>
<string name="more_information">More information</string>
<string name="open_url">Open URL</string>
@@ -436,4 +435,7 @@
<string name="relay_item_already_selected_as_exit">%s is already selected as exit relay</string>
<string name="relay_item_already_selected_as_entry">%s is already selected as entry relay</string>
<string name="entry_and_exit_are_same">Entry relay is the same as exit relay</string>
+ <string name="connect_on_start_info_first">Automatically connect on device start-up.</string>
+ <string name="connect_on_start_info_second">For the VPN to connect automatically on device startup, the app must have VPN permissions. You can grant these by clicking “Connect” in the map view and selecting “OK” if prompted. Additionally, ensure the app is installed on the internal storage by checking the storage information in the app details in system settings.</string>
+ <string name="open_app_details">Open app details</string>
</resources>