diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-19 21:36:04 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-23 12:36:35 +0000 |
| commit | 7644d8f6972510a82374c482c9868ef9751430e8 (patch) | |
| tree | b59fcd76aea0e28079fb9f9dc32ac39dfcb6bcd8 /android/src | |
| parent | a880da8a503f0e4dbdc9b75c4c60ff0732e470e5 (diff) | |
| download | mullvadvpn-7644d8f6972510a82374c482c9868ef9751430e8.tar.xz mullvadvpn-7644d8f6972510a82374c482c9868ef9751430e8.zip | |
Make `Settings` parcelable
Diffstat (limited to 'android/src')
9 files changed, 61 insertions, 16 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt index 6d20c95dde..55779fd720 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt @@ -1,6 +1,13 @@ package net.mullvad.mullvadvpn.model -sealed class Constraint<T>() { - class Any<T>() : Constraint<T>() - data class Only<T>(val value: T) : Constraint<T>() +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +sealed class Constraint<T>() : Parcelable { + @Parcelize + @Suppress("PARCELABLE_PRIMARY_CONSTRUCTOR_IS_EMPTY") + class Any<T>() : Constraint<T>(), Parcelable + + @Parcelize + data class Only<T : Parcelable>(val value: T) : Constraint<T>(), Parcelable } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt index e4d7b75481..6cef280b61 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt @@ -1,6 +1,9 @@ package net.mullvad.mullvadvpn.model +import android.os.Parcelable import java.net.InetAddress import java.util.ArrayList +import kotlinx.parcelize.Parcelize -data class DnsOptions(val custom: Boolean, val addresses: ArrayList<InetAddress>) +@Parcelize +data class DnsOptions(val custom: Boolean, val addresses: ArrayList<InetAddress>) : Parcelable diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt index c17451d75d..998167468d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt @@ -1,11 +1,18 @@ package net.mullvad.mullvadvpn.model -sealed class LocationConstraint(val code: Array<String>) { - data class Country(val countryCode: String) : LocationConstraint(arrayOf(countryCode)) +import android.os.Parcelable +import kotlinx.parcelize.Parcelize +sealed class LocationConstraint(val code: Array<String>) : Parcelable { + @Parcelize + data class Country(val countryCode: String) : + LocationConstraint(arrayOf(countryCode)), Parcelable + + @Parcelize data class City(val countryCode: String, val cityCode: String) : - LocationConstraint(arrayOf(countryCode, cityCode)) + LocationConstraint(arrayOf(countryCode, cityCode)), Parcelable + @Parcelize data class Hostname(val countryCode: String, val cityCode: String, val hostname: String) : - LocationConstraint(arrayOf(countryCode, cityCode, hostname)) + LocationConstraint(arrayOf(countryCode, cityCode, hostname)), Parcelable } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt index e4e6d6634e..cd36577dae 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt @@ -1,3 +1,7 @@ package net.mullvad.mullvadvpn.model -data class RelayConstraints(val location: Constraint<LocationConstraint>) +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +data class RelayConstraints(val location: Constraint<LocationConstraint>) : Parcelable diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt index 4bcff7b2e4..e1e56c3c51 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt @@ -1,6 +1,12 @@ package net.mullvad.mullvadvpn.model -sealed class RelaySettings { - object CustomTunnelEndpoint : RelaySettings() - class Normal(val relayConstraints: RelayConstraints) : RelaySettings() +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +sealed class RelaySettings : Parcelable { + @Parcelize + object CustomTunnelEndpoint : RelaySettings(), Parcelable + + @Parcelize + class Normal(val relayConstraints: RelayConstraints) : RelaySettings(), Parcelable } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt index dd31739c6a..03ef69c638 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt @@ -1,5 +1,9 @@ package net.mullvad.mullvadvpn.model +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize data class Settings( val accountToken: String?, val relaySettings: RelaySettings, @@ -7,4 +11,4 @@ data class Settings( val autoConnect: Boolean, val tunnelOptions: TunnelOptions, val showBetaReleases: Boolean -) +) : Parcelable diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt index 1a960e1396..944a98b0b8 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt @@ -1,3 +1,10 @@ package net.mullvad.mullvadvpn.model -data class TunnelOptions(val wireguard: WireguardTunnelOptions, val dnsOptions: DnsOptions) +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +data class TunnelOptions( + val wireguard: WireguardTunnelOptions, + val dnsOptions: DnsOptions +) : Parcelable diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt index f9b7b314d5..251571021a 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt @@ -1,5 +1,8 @@ package net.mullvad.mullvadvpn.model +import android.os.Parcelable +import kotlinx.parcelize.Parcelize import net.mullvad.talpid.net.wireguard.TunnelOptions as TalpidWireguardTunnelOptions -data class WireguardTunnelOptions(val options: TalpidWireguardTunnelOptions) +@Parcelize +data class WireguardTunnelOptions(val options: TalpidWireguardTunnelOptions) : Parcelable diff --git a/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt b/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt index bbba95fa6d..f5c5811c67 100644 --- a/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt +++ b/android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt @@ -1,3 +1,7 @@ package net.mullvad.talpid.net.wireguard -data class TunnelOptions(val mtu: Int?) +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +data class TunnelOptions(val mtu: Int?) : Parcelable |
