diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-10-23 11:25:01 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-10-23 11:25:01 +0200 |
| commit | 8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b (patch) | |
| tree | bc1c29200593bfd4c1c1c263dea2664126c8b3d8 | |
| parent | 90a275fd5e17888b6a36e568164bf5e5a5cc94b0 (diff) | |
| parent | 9c8732ea4371c3172058dc70712e7054b24defda (diff) | |
| download | mullvadvpn-8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b.tar.xz mullvadvpn-8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b.zip | |
Merge branch 'add-ownership-data-model-from-the-daemon-droid-422'
7 files changed, 28 insertions, 5 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt index 574f7a2004..fe68c63408 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt @@ -97,7 +97,11 @@ class RelayListListener( relaySettings = newRelaySettings ?: RelaySettings.Normal( - RelayConstraints(Constraint.Any(), WireguardConstraints(Constraint.Any())) + RelayConstraints( + location = Constraint.Any(), + ownership = Constraint.Any(), + wireguardConstraints = WireguardConstraints(Constraint.Any()), + ) ) if (relayCountries != null) { diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Ownership.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Ownership.kt new file mode 100644 index 0000000000..43037be676 --- /dev/null +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Ownership.kt @@ -0,0 +1,10 @@ +package net.mullvad.mullvadvpn.model + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +enum class Ownership : Parcelable { + MullvadOwned, + Rented +} diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt index da2acb39f6..21b1575edc 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt @@ -6,5 +6,6 @@ import kotlinx.parcelize.Parcelize @Parcelize data class RelayConstraints( val location: Constraint<LocationConstraint>, - val wireguardConstraints: WireguardConstraints + val ownership: Constraint<Ownership>, + val wireguardConstraints: WireguardConstraints, ) : Parcelable diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt index 991ae7dbde..9d07ba92c3 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt @@ -2,5 +2,6 @@ package net.mullvad.mullvadvpn.model data class RelayConstraintsUpdate( val location: Constraint<LocationConstraint>?, + val ownership: Constraint<Ownership>?, val wireguardConstraints: WireguardConstraints? ) diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/RelayListListener.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/RelayListListener.kt index 09f90a44d5..cb57e7585d 100644 --- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/RelayListListener.kt +++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/RelayListListener.kt @@ -95,7 +95,13 @@ class RelayListListener(endpoint: ServiceEndpoint) { val wireguardConstraints: WireguardConstraints? = selectedWireguardConstraints val update = - RelaySettingsUpdate.Normal(RelayConstraintsUpdate(location, wireguardConstraints)) + RelaySettingsUpdate.Normal( + RelayConstraintsUpdate( + location = location, + wireguardConstraints = wireguardConstraints, + ownership = Constraint.Any() + ) + ) daemon.await().updateRelaySettings(update) } diff --git a/mullvad-jni/src/classes.rs b/mullvad-jni/src/classes.rs index 56de8919db..9bdec16691 100644 --- a/mullvad-jni/src/classes.rs +++ b/mullvad-jni/src/classes.rs @@ -33,6 +33,7 @@ pub const CLASSES: &[&str] = &[ "net/mullvad/mullvadvpn/model/LocationConstraint$Location", "net/mullvad/mullvadvpn/model/LocationConstraint$CustomList", "net/mullvad/mullvadvpn/model/ObfuscationSettings", + "net/mullvad/mullvadvpn/model/Ownership", "net/mullvad/mullvadvpn/model/PlayPurchase", "net/mullvad/mullvadvpn/model/PlayPurchaseInitError", "net/mullvad/mullvadvpn/model/PlayPurchaseInitResult", diff --git a/mullvad-types/src/relay_constraints.rs b/mullvad-types/src/relay_constraints.rs index 014e84a5ff..600a04646c 100644 --- a/mullvad-types/src/relay_constraints.rs +++ b/mullvad-types/src/relay_constraints.rs @@ -371,7 +371,6 @@ pub struct RelayConstraints { pub location: Constraint<LocationConstraint>, #[cfg_attr(target_os = "android", jnix(skip))] pub providers: Constraint<Providers>, - #[cfg_attr(target_os = "android", jnix(skip))] pub ownership: Constraint<Ownership>, #[cfg_attr(target_os = "android", jnix(skip))] pub tunnel_protocol: Constraint<TunnelType>, @@ -560,6 +559,8 @@ impl Set<Constraint<Vec<GeographicLocationConstraint>>> /// Limits the set of servers to choose based on ownership. #[derive(Debug, Copy, Clone, Eq, PartialEq, Deserialize, Serialize)] +#[cfg_attr(target_os = "android", derive(IntoJava, FromJava))] +#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))] #[cfg_attr(feature = "clap", derive(clap::ValueEnum))] pub enum Ownership { MullvadOwned, @@ -987,7 +988,6 @@ pub struct RelayConstraintsUpdate { pub location: Option<Constraint<LocationConstraint>>, #[cfg_attr(target_os = "android", jnix(default))] pub providers: Option<Constraint<Providers>>, - #[cfg_attr(target_os = "android", jnix(default))] pub ownership: Option<Constraint<Ownership>>, #[cfg_attr(target_os = "android", jnix(default))] pub tunnel_protocol: Option<Constraint<TunnelType>>, |
