summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt2
-rw-r--r--mullvad-jni/src/into_java.rs8
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),
};