diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-21 22:45:12 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-22 15:16:55 +0000 |
| commit | 04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626 (patch) | |
| tree | a512db1ab10c26e95b68683423adcb4481e5dd29 | |
| parent | 27b5765c43098b69d4ea2283788f1cd59fb37bf9 (diff) | |
| download | mullvadvpn-04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626.tar.xz mullvadvpn-04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626.zip | |
Derive `IntoJava` for `RelayListCountry`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayListCountry.kt | 8 | ||||
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 32 | ||||
| -rw-r--r-- | mullvad-types/src/relay_list.rs | 2 |
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", - ¶meters, - ) - .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, |
