summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 21:35:03 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:54 +0000
commit27b5765c43098b69d4ea2283788f1cd59fb37bf9 (patch)
treeaec75296c25151e0bc5357f5611243ee6e91cd0a
parent4f1e40b8d09893a2c27455897256d7381d491e2b (diff)
downloadmullvadvpn-27b5765c43098b69d4ea2283788f1cd59fb37bf9.tar.xz
mullvadvpn-27b5765c43098b69d4ea2283788f1cd59fb37bf9.zip
Derive `IntoJava` for `RelayListCity`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt4
-rw-r--r--mullvad-jni/src/into_java.rs32
-rw-r--r--mullvad-types/src/relay_list.rs4
3 files changed, 9 insertions, 31 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
index 406d2b5ca5..329120350d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCity.kt
@@ -1,3 +1,5 @@
package net.mullvad.mullvadvpn.model
-data class RelayListCity(val name: String, val code: String, val relays: List<Relay>)
+import java.util.ArrayList
+
+data class RelayListCity(val name: String, val code: String, val relays: ArrayList<Relay>)
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index 0f1f33035c..9fcbc06104 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -10,7 +10,7 @@ use mullvad_types::{
account::AccountData,
location::GeoIpLocation,
relay_constraints::{Constraint, LocationConstraint, RelayConstraints, RelaySettings},
- relay_list::{Relay, RelayList, RelayListCity, RelayListCountry},
+ relay_list::{RelayList, RelayListCity, RelayListCountry},
settings::Settings,
states::TunnelState,
version::AppVersionInfo,
@@ -157,35 +157,7 @@ where
}
}
-impl<'borrow, 'env> IntoJava<'borrow, 'env> for RelayListCity
-where
- 'env: 'borrow,
-{
- type JavaType = AutoLocal<'env, 'borrow>;
-
- fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType {
- let class = env.get_class("net/mullvad/mullvadvpn/model/RelayListCity");
- let name = self.name.into_java(env);
- let code = self.code.into_java(env);
- let relays = self.relays.into_java(env);
- let parameters = [
- JValue::Object(name.as_obj()),
- JValue::Object(code.as_obj()),
- JValue::Object(relays.as_obj()),
- ];
-
- env.auto_local(
- env.new_object(
- &class,
- "(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V",
- &parameters,
- )
- .expect("Failed to create RelayListCity Java object"),
- )
- }
-}
-
-wrap_jnix_into_java!(Relay);
+wrap_jnix_into_java!(RelayListCity);
impl<'borrow, 'env, T> IntoJava<'borrow, 'env> for Constraint<T>
where
diff --git a/mullvad-types/src/relay_list.rs b/mullvad-types/src/relay_list.rs
index 229c822002..ff5a0c3200 100644
--- a/mullvad-types/src/relay_list.rs
+++ b/mullvad-types/src/relay_list.rs
@@ -36,10 +36,14 @@ pub struct RelayListCountry {
}
#[derive(Debug, Clone, Deserialize, Serialize)]
+#[cfg_attr(target_os = "android", derive(IntoJava))]
+#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))]
pub struct RelayListCity {
pub name: String,
pub code: CityCode,
+ #[cfg_attr(target_os = "android", jnix(skip))]
pub latitude: f64,
+ #[cfg_attr(target_os = "android", jnix(skip))]
pub longitude: f64,
pub relays: Vec<Relay>,
}