diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-21 22:51:43 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-22 15:16:55 +0000 |
| commit | 5ca4374ac2ac6d9a721427494296dc5afcb825e1 (patch) | |
| tree | 62ec7e80a722a093898ed426cb1ddaef73c8f5a2 | |
| parent | 04100cd3a5d51e10c2cf40a8abb3bb8a9f23b626 (diff) | |
| download | mullvadvpn-5ca4374ac2ac6d9a721427494296dc5afcb825e1.tar.xz mullvadvpn-5ca4374ac2ac6d9a721427494296dc5afcb825e1.zip | |
Derive `IntoJava` for `RelayList`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt | 4 | ||||
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 23 | ||||
| -rw-r--r-- | mullvad-types/src/relay_list.rs | 2 |
3 files changed, 7 insertions, 22 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt index 57a4a0e6c5..bc9ec3327a 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/RelayList.kt @@ -1,3 +1,5 @@ package net.mullvad.mullvadvpn.model -data class RelayList(val countries: List<RelayListCountry>) +import java.util.ArrayList + +data class RelayList(val countries: ArrayList<RelayListCountry>) diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index 2e83593fff..f2ac2fe75e 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, RelayListCountry}, + relay_list::RelayList, settings::Settings, states::TunnelState, version::AppVersionInfo, @@ -110,26 +110,7 @@ wrap_jnix_into_java!(AccountData); wrap_jnix_into_java!(TunConfig); wrap_jnix_into_java!(TunnelEndpoint); wrap_jnix_into_java!(GeoIpLocation); - -impl<'borrow, 'env> IntoJava<'borrow, 'env> for RelayList -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/RelayList"); - let relay_countries = self.countries.into_java(env); - let parameters = [JValue::Object(relay_countries.as_obj())]; - - env.auto_local( - env.new_object(&class, "(Ljava/util/List;)V", ¶meters) - .expect("Failed to create RelayList Java object"), - ) - } -} - -wrap_jnix_into_java!(RelayListCountry); +wrap_jnix_into_java!(RelayList); 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 6dd4bcc31d..a086dd108c 100644 --- a/mullvad-types/src/relay_list.rs +++ b/mullvad-types/src/relay_list.rs @@ -16,6 +16,8 @@ use talpid_types::net::{ #[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 RelayList { pub countries: Vec<RelayListCountry>, } |
