summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 22:45:12 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:55 +0000
commit04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626 (patch)
treea512db1ab10c26e95b68683423adcb4481e5dd29
parent27b5765c43098b69d4ea2283788f1cd59fb37bf9 (diff)
downloadmullvadvpn-04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626.tar.xz
mullvadvpn-04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626.zip
Derive `IntoJava` for `RelayListCountry`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt8
-rw-r--r--mullvad-jni/src/into_java.rs32
-rw-r--r--mullvad-types/src/relay_list.rs2
3 files changed, 11 insertions, 31 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
index de6817b03c..035cb52d19 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt
@@ -1,3 +1,9 @@
package net.mullvad.mullvadvpn.model
-data class RelayListCountry(val name: String, val code: String, val cities: List<RelayListCity>)
+import java.util.ArrayList
+
+data class RelayListCountry(
+ val name: String,
+ val code: String,
+ val cities: ArrayList<RelayListCity>
+)
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index 9fcbc06104..2e83593fff 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::{RelayList, RelayListCity, RelayListCountry},
+ relay_list::{RelayList, RelayListCountry},
settings::Settings,
states::TunnelState,
version::AppVersionInfo,
@@ -129,35 +129,7 @@ where
}
}
-impl<'borrow, 'env> IntoJava<'borrow, 'env> for RelayListCountry
-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/RelayListCountry");
- let name = self.name.into_java(env);
- let code = self.code.into_java(env);
- let relay_cities = self.cities.into_java(env);
- let parameters = [
- JValue::Object(name.as_obj()),
- JValue::Object(code.as_obj()),
- JValue::Object(relay_cities.as_obj()),
- ];
-
- env.auto_local(
- env.new_object(
- &class,
- "(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V",
- &parameters,
- )
- .expect("Failed to create RelayListCountry Java object"),
- )
- }
-}
-
-wrap_jnix_into_java!(RelayListCity);
+wrap_jnix_into_java!(RelayListCountry);
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 ff5a0c3200..6dd4bcc31d 100644
--- a/mullvad-types/src/relay_list.rs
+++ b/mullvad-types/src/relay_list.rs
@@ -29,6 +29,8 @@ impl RelayList {
}
#[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 RelayListCountry {
pub name: String,
pub code: CountryCode,