summaryrefslogtreecommitdiffhomepage
path: root/android/lib/model/src
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2024-08-26 15:48:37 +0200
committerAlbin <albin@mullvad.net>2024-09-06 14:59:55 +0200
commit3847c1eb82a324a4b5fff2a5e076750ebf4449c4 (patch)
tree55c45a4a75e56503e675fdad5418cbeafb850854 /android/lib/model/src
parentd464325f98bc488f091ef18b4ba04e0d7dbe2605 (diff)
downloadmullvadvpn-3847c1eb82a324a4b5fff2a5e076750ebf4449c4.tar.xz
mullvadvpn-3847c1eb82a324a4b5fff2a5e076750ebf4449c4.zip
Add daita grpc and ui
Diffstat (limited to 'android/lib/model/src')
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt2
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt1
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SetDaitaSettingsError.kt5
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Settings.kt2
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelEndpoint.kt1
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt8
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardRelayEndpointData.kt3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardTunnelOptions.kt6
8 files changed, 26 insertions, 2 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
index 7ad0b3ab69..d11f405869 100644
--- 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
@@ -9,12 +9,12 @@ enum class FeatureIndicator {
CUSTOM_DNS,
SERVER_IP_OVERRIDE,
CUSTOM_MTU,
+ DAITA,
// 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/RelayItem.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
index edf00d4cb4..af96c4d94d 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/RelayItem.kt
@@ -58,6 +58,7 @@ sealed interface RelayItem {
override val id: GeoLocationId.Hostname,
val provider: Provider,
override val active: Boolean,
+ val daita: Boolean,
) : Location {
override val name: String = id.code
override val hasChildren: Boolean = false
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SetDaitaSettingsError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SetDaitaSettingsError.kt
new file mode 100644
index 0000000000..f636267c09
--- /dev/null
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SetDaitaSettingsError.kt
@@ -0,0 +1,5 @@
+package net.mullvad.mullvadvpn.lib.model
+
+sealed interface SetDaitaSettingsError {
+ data class Unknown(val throwable: Throwable) : SetDaitaSettingsError
+}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Settings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Settings.kt
index 0c15202bee..f59d85184c 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Settings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Settings.kt
@@ -15,5 +15,7 @@ data class Settings(
val splitTunnelSettings: SplitTunnelSettings,
val apiAccessMethodSettings: List<ApiAccessMethodSetting>,
) {
+ fun isDaitaEnabled() = tunnelOptions.wireguard.daita
+
companion object
}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelEndpoint.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelEndpoint.kt
index 1465997cc5..3902e5c965 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelEndpoint.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelEndpoint.kt
@@ -4,4 +4,5 @@ data class TunnelEndpoint(
val endpoint: Endpoint,
val quantumResistant: Boolean,
val obfuscation: ObfuscationEndpoint?,
+ val daita: Boolean,
)
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 53d468c01e..1849c5abf9 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
@@ -38,4 +38,12 @@ sealed class TunnelState {
is Error -> this.errorState.isBlocking
}
}
+
+ fun isUsingDaita(): Boolean {
+ return when (this) {
+ is Connected -> endpoint.daita
+ is Connecting -> endpoint?.daita ?: false
+ else -> false
+ }
+ }
}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardRelayEndpointData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardRelayEndpointData.kt
new file mode 100644
index 0000000000..9e328b92e6
--- /dev/null
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardRelayEndpointData.kt
@@ -0,0 +1,3 @@
+package net.mullvad.mullvadvpn.lib.model
+
+data class WireguardRelayEndpointData(val daita: Boolean)
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardTunnelOptions.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardTunnelOptions.kt
index 573f08213e..70b1599c55 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardTunnelOptions.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardTunnelOptions.kt
@@ -1,3 +1,7 @@
package net.mullvad.mullvadvpn.lib.model
-data class WireguardTunnelOptions(val mtu: Mtu?, val quantumResistant: QuantumResistantState)
+data class WireguardTunnelOptions(
+ val mtu: Mtu?,
+ val quantumResistant: QuantumResistantState,
+ val daita: Boolean,
+)