summaryrefslogtreecommitdiffhomepage
path: root/android/lib/model/src
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-08-26 10:35:29 +0200
committerAlbin <albin@mullvad.net>2024-08-26 12:44:32 +0200
commit4cefa1584d102d47110606b9797f78801103f35f (patch)
treeea679771695dc63c0d6b4a6906d90998c2eaabcd /android/lib/model/src
parentec2098841f78621b31708ab6427c740f7e42ce5a (diff)
downloadmullvadvpn-4cefa1584d102d47110606b9797f78801103f35f.tar.xz
mullvadvpn-4cefa1584d102d47110606b9797f78801103f35f.zip
Add support for feature indicators for tunnel state
Diffstat (limited to 'android/lib/model/src')
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt20
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt14
2 files changed, 30 insertions, 4 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt
new file mode 100644
index 0000000000..7ad0b3ab69
--- /dev/null
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt
@@ -0,0 +1,20 @@
+package net.mullvad.mullvadvpn.lib.model
+
+enum class FeatureIndicator {
+ QUANTUM_RESISTANCE,
+ SPLIT_TUNNELING,
+ UDP_2_TCP,
+ LAN_SHARING,
+ DNS_CONTENT_BLOCKERS,
+ CUSTOM_DNS,
+ SERVER_IP_OVERRIDE,
+ CUSTOM_MTU,
+ // Currently not supported
+ // LOCKDOWN_MODE,
+ // SHADOWSOCKS,
+ // MULTIHOP,
+ // BRIDGE_MODE,
+ // CUSTOM_MSS_FIX,
+ // DAITA,
+ // UNRECOGNIZED,
+}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
index 3fae41802a..8ed43bd294 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt
@@ -3,11 +3,17 @@ package net.mullvad.mullvadvpn.lib.model
sealed class TunnelState {
data class Disconnected(val location: GeoIpLocation? = null) : TunnelState()
- data class Connecting(val endpoint: TunnelEndpoint?, val location: GeoIpLocation?) :
- TunnelState()
+ data class Connecting(
+ val endpoint: TunnelEndpoint?,
+ val location: GeoIpLocation?,
+ val featureIndicators: List<FeatureIndicator>
+ ) : TunnelState()
- data class Connected(val endpoint: TunnelEndpoint, val location: GeoIpLocation?) :
- TunnelState()
+ data class Connected(
+ val endpoint: TunnelEndpoint,
+ val location: GeoIpLocation?,
+ val featureIndicators: List<FeatureIndicator>
+ ) : TunnelState()
data class Disconnecting(val actionAfterDisconnect: ActionAfterDisconnect) : TunnelState()