summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-19 21:36:04 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-23 12:36:35 +0000
commit7644d8f6972510a82374c482c9868ef9751430e8 (patch)
treeb59fcd76aea0e28079fb9f9dc32ac39dfcb6bcd8 /android/src
parenta880da8a503f0e4dbdc9b75c4c60ff0732e470e5 (diff)
downloadmullvadvpn-7644d8f6972510a82374c482c9868ef9751430e8.tar.xz
mullvadvpn-7644d8f6972510a82374c482c9868ef9751430e8.zip
Make `Settings` parcelable
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt13
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/DnsOptions.kt5
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/LocationConstraint.kt15
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelaySettings.kt12
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/Settings.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelOptions.kt9
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/WireguardTunnelOptions.kt5
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/net/wireguard/TunnelOptions.kt6
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