summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2026-04-09 16:41:16 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2026-04-09 16:41:16 +0200
commit71727c995248d09f6f18f6b28091f3786f2c6902 (patch)
tree4f8bcf707442fb82f16b6a1001e6189b391a9c87
parent1be479979cdbff6f9b43b52348545a68ce18c4d7 (diff)
parentc0e3a18145fe67b8d1ddb2fad3f4db9fe22d7e1e (diff)
downloadmullvadvpn-71727c995248d09f6f18f6b28091f3786f2c6902.tar.xz
mullvadvpn-71727c995248d09f6f18f6b28091f3786f2c6902.zip
Merge branch 'server-ip-override-bottom-sheet-shows-replacement-warning-droid-2603'
-rw-r--r--android/lib/feature/serveripoverride/api/src/main/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/api/ImportOverridesNavKey.kt2
-rw-r--r--android/lib/feature/serveripoverride/impl/src/androidTest/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreenTest.kt2
-rw-r--r--android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreen.kt10
-rw-r--r--android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/navigation/ImportOverridesEntryProvider.kt2
4 files changed, 10 insertions, 6 deletions
diff --git a/android/lib/feature/serveripoverride/api/src/main/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/api/ImportOverridesNavKey.kt b/android/lib/feature/serveripoverride/api/src/main/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/api/ImportOverridesNavKey.kt
index a9e76cb1e2..f79e21b027 100644
--- a/android/lib/feature/serveripoverride/api/src/main/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/api/ImportOverridesNavKey.kt
+++ b/android/lib/feature/serveripoverride/api/src/main/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/api/ImportOverridesNavKey.kt
@@ -4,6 +4,6 @@ import kotlinx.parcelize.Parcelize
import net.mullvad.mullvadvpn.core.NavKey2
import net.mullvad.mullvadvpn.core.NavResult
-@Parcelize data object ImportOverridesNavKey : NavKey2
+@Parcelize data class ImportOverridesNavKey(val overridesActive: Boolean) : NavKey2
@Parcelize data object ImportOverrideByFileNavResult : NavResult
diff --git a/android/lib/feature/serveripoverride/impl/src/androidTest/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreenTest.kt b/android/lib/feature/serveripoverride/impl/src/androidTest/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreenTest.kt
index 62aa385431..1f60615001 100644
--- a/android/lib/feature/serveripoverride/impl/src/androidTest/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreenTest.kt
+++ b/android/lib/feature/serveripoverride/impl/src/androidTest/kotlin/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreenTest.kt
@@ -34,7 +34,7 @@ class ServerIpOverridesScreenTest {
onBackClick: () -> Unit = {},
onInfoClick: () -> Unit = {},
onResetOverridesClick: () -> Unit = {},
- onImportClick: () -> Unit = {},
+ onImportClick: (Boolean) -> Unit = {},
) {
setContentWithTheme {
ServerIpOverridesScreen(
diff --git a/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreen.kt b/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreen.kt
index 9005c2a39b..f79027809d 100644
--- a/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreen.kt
+++ b/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/ServerIpOverridesScreen.kt
@@ -41,6 +41,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.compose.dropUnlessResumed
import kotlinx.coroutines.launch
import net.mullvad.mullvadvpn.common.compose.CollectSideEffectWithLifecycle
+import net.mullvad.mullvadvpn.common.compose.dropUnlessResumed
import net.mullvad.mullvadvpn.common.compose.showSnackbarImmediately
import net.mullvad.mullvadvpn.common.compose.unlessIsDetail
import net.mullvad.mullvadvpn.core.LocalResultStore
@@ -149,7 +150,10 @@ fun SharedTransitionScope.ServerIpOverrides(
state = state,
onBackClick = dropUnlessResumed { navigator.goBack() },
onInfoClick = dropUnlessResumed { navigator.navigate(ServerIpOverrideInfoNavKey) },
- onImportClick = dropUnlessResumed { navigator.navigate(ImportOverridesNavKey) },
+ onImportClick =
+ dropUnlessResumed { overridesActive ->
+ navigator.navigate(ImportOverridesNavKey(overridesActive))
+ },
onResetOverridesClick =
dropUnlessResumed { navigator.navigate(ResetServerIpOverrideConfirmationNavKey) },
snackbarHostState = snackbarHostState,
@@ -167,7 +171,7 @@ fun ServerIpOverridesScreen(
state: Lc<Boolean, ServerIpOverridesUiState>,
onBackClick: () -> Unit,
onInfoClick: () -> Unit,
- onImportClick: () -> Unit,
+ onImportClick: (Boolean) -> Unit,
onResetOverridesClick: () -> Unit,
modifier: Modifier = Modifier,
snackbarHostState: SnackbarHostState = remember { SnackbarHostState() },
@@ -198,7 +202,7 @@ fun ServerIpOverridesScreen(
Spacer(modifier = Modifier.weight(1f))
SnackbarHost(hostState = snackbarHostState) { MullvadSnackbar(snackbarData = it) }
PrimaryButton(
- onClick = onImportClick,
+ onClick = { onImportClick(state.contentOrNull()?.overridesActive == true) },
text = stringResource(R.string.import_overrides_import),
modifier =
Modifier.padding(bottom = Dimens.screenBottomMargin)
diff --git a/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/navigation/ImportOverridesEntryProvider.kt b/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/navigation/ImportOverridesEntryProvider.kt
index 6e2ea89176..e0b3c8dd8f 100644
--- a/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/navigation/ImportOverridesEntryProvider.kt
+++ b/android/lib/feature/serveripoverride/impl/src/main/java/net/mullvad/mullvadvpn/feature/serveripoverride/impl/navigation/ImportOverridesEntryProvider.kt
@@ -9,6 +9,6 @@ import net.mullvad.mullvadvpn.feature.serveripoverride.impl.ImportOverridesBotto
internal fun EntryProviderScope<NavKey2>.importOverridesEntry(navigator: Navigator) {
entry<ImportOverridesNavKey>(metadata = SingleOverlaySceneStrategy.overlay()) {
- ImportOverridesBottomSheet(navigator = navigator, overridesActive = true)
+ ImportOverridesBottomSheet(navigator = navigator, overridesActive = it.overridesActive)
}
}