diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-03-19 15:03:06 +0100 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-03-19 16:15:43 +0100 |
| commit | aa7eea3e75288e2b0bea9eb55d46e11c558eebee (patch) | |
| tree | 64fb67699c3fe87b89d068b7c28b4ea509de5cd3 /android/lib/model | |
| parent | a1ab31eebd96846514fa67af99c6af091ed68208 (diff) | |
| download | mullvadvpn-aa7eea3e75288e2b0bea9eb55d46e11c558eebee.tar.xz mullvadvpn-aa7eea3e75288e2b0bea9eb55d46e11c558eebee.zip | |
Add daemon support for Server IP overrides
Diffstat (limited to 'android/lib/model')
3 files changed, 38 insertions, 1 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayOverride.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayOverride.kt new file mode 100644 index 0000000000..f738218ee7 --- /dev/null +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayOverride.kt @@ -0,0 +1,12 @@ +package net.mullvad.mullvadvpn.model + +import android.os.Parcelable +import java.net.InetAddress +import kotlinx.parcelize.Parcelize + +@Parcelize +data class RelayOverride( + val hostname: String, + val ipv4AddressIn: InetAddress?, + val ipv6AddressIn: InetAddress? +) : Parcelable diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt index 304edc404a..847b80cd70 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt @@ -11,5 +11,6 @@ data class Settings( val allowLan: Boolean, val autoConnect: Boolean, val tunnelOptions: TunnelOptions, - val showBetaReleases: Boolean + val relayOverrides: ArrayList<RelayOverride>, + val showBetaReleases: Boolean, ) : Parcelable diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SettingsPatchError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SettingsPatchError.kt new file mode 100644 index 0000000000..5e3cb29911 --- /dev/null +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/SettingsPatchError.kt @@ -0,0 +1,24 @@ +package net.mullvad.mullvadvpn.model + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +sealed class SettingsPatchError : Parcelable { + // E.g hostname is number instead of String + data class InvalidOrMissingValue(val value: String) : SettingsPatchError() + + // E.g. Unexpected top-level key? + data class UnknownOrProhibitedKey(val value: String) : SettingsPatchError() + + // Bad JSON + data object ParsePatch : SettingsPatchError() + + data object RecursionLimit : SettingsPatchError() + + // Patch was deserialized but was not valid domain data? + data object DeserializePatched : SettingsPatchError() + + // Failed to apply patch + data object ApplyPatch : SettingsPatchError() +} |
