diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2026-04-09 16:41:16 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2026-04-09 16:41:16 +0200 |
| commit | 71727c995248d09f6f18f6b28091f3786f2c6902 (patch) | |
| tree | 4f8bcf707442fb82f16b6a1001e6189b391a9c87 | |
| parent | 1be479979cdbff6f9b43b52348545a68ce18c4d7 (diff) | |
| parent | c0e3a18145fe67b8d1ddb2fad3f4db9fe22d7e1e (diff) | |
| download | mullvadvpn-71727c995248d09f6f18f6b28091f3786f2c6902.tar.xz mullvadvpn-71727c995248d09f6f18f6b28091f3786f2c6902.zip | |
Merge branch 'server-ip-override-bottom-sheet-shows-replacement-warning-droid-2603'
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) } } |
