diff options
Diffstat (limited to 'android/lib/model/src/main')
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() +} |
