summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-10-23 11:25:01 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-10-23 11:25:01 +0200
commit8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b (patch)
treebc1c29200593bfd4c1c1c263dea2664126c8b3d8
parent90a275fd5e17888b6a36e568164bf5e5a5cc94b0 (diff)
parent9c8732ea4371c3172058dc70712e7054b24defda (diff)
downloadmullvadvpn-8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b.tar.xz
mullvadvpn-8f9cff2d73cb235daf79fddcc6f6e4e3a4a12d3b.zip
Merge branch 'add-ownership-data-model-from-the-daemon-droid-422'
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt6
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/Ownership.kt10
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraints.kt3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayConstraintsUpdate.kt1
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/RelayListListener.kt8
-rw-r--r--mullvad-jni/src/classes.rs1
-rw-r--r--mullvad-types/src/relay_constraints.rs4
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>>,