diff options
3 files changed, 10 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt index 578e999a08..7a3ec1dd9c 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt @@ -6,6 +6,7 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job import net.mullvad.mullvadvpn.MainActivity +import net.mullvad.mullvadvpn.model.ActionAfterDisconnect import net.mullvad.mullvadvpn.model.TunnelState class ConnectionProxy(val parentActivity: MainActivity) { @@ -54,7 +55,7 @@ class ConnectionProxy(val parentActivity: MainActivity) { } fun disconnect() { - uiState = TunnelState.Disconnecting() + uiState = TunnelState.Disconnecting(ActionAfterDisconnect.Nothing()) cancelActiveAction() activeAction = GlobalScope.launch(Dispatchers.Default) { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt index 15a698c6f4..b08e75e3e8 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt @@ -4,6 +4,6 @@ sealed class TunnelState() { class Disconnected() : TunnelState() class Connecting(val location: GeoIpLocation?) : TunnelState() class Connected(val location: GeoIpLocation?) : TunnelState() - class Disconnecting() : TunnelState() + class Disconnecting(val actionAfterDisconnect: ActionAfterDisconnect) : TunnelState() class Blocked() : TunnelState() } diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index 282aa8a558..fd5dbc8427 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -529,7 +529,13 @@ impl<'env> IntoJava<'env> for TunnelState { "Connected", Some((location.into_java(env), "GeoIpLocation")), ), - TunnelState::Disconnecting(_) => ("Disconnecting", None), + TunnelState::Disconnecting(action_after_disconnect) => ( + "Disconnecting", + Some(( + action_after_disconnect.into_java(env), + "ActionAfterDisconnect", + )), + ), TunnelState::Blocked(_) => ("Blocked", None), }; |
