diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-21 21:08:59 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-11-22 15:16:54 +0000 |
| commit | 12c3239b4b308fef3c7d1298c426a2f17eabe5e4 (patch) | |
| tree | 6a854f274304cf70797243712cee40df235948f2 | |
| parent | 56f060babfb5f4336e20f41b7966638f132e5e14 (diff) | |
| download | mullvadvpn-12c3239b4b308fef3c7d1298c426a2f17eabe5e4.tar.xz mullvadvpn-12c3239b4b308fef3c7d1298c426a2f17eabe5e4.zip | |
Derive `IntoJava` for `AppVersionInfo`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 32 | ||||
| -rw-r--r-- | mullvad-types/src/version.rs | 4 |
2 files changed, 5 insertions, 31 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index be5ea9c1cd..a2e60034da 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -105,37 +105,7 @@ where } wrap_jnix_into_java!(PublicKey); - -impl<'borrow, 'env> IntoJava<'borrow, 'env> for AppVersionInfo -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/AppVersionInfo"); - let current_is_supported = self.current_is_supported as jboolean; - let current_is_outdated = self.current_is_outdated as jboolean; - let latest_stable = self.latest_stable.into_java(env); - let latest = self.latest.into_java(env); - let parameters = [ - JValue::Bool(current_is_supported), - JValue::Bool(current_is_outdated), - JValue::Object(latest_stable.as_obj()), - JValue::Object(latest.as_obj()), - ]; - - env.auto_local( - env.new_object( - &class, - "(ZZLjava/lang/String;Ljava/lang/String;)V", - ¶meters, - ) - .expect("Failed to create AppVersionInfo Java object"), - ) - } -} - +wrap_jnix_into_java!(AppVersionInfo); wrap_jnix_into_java!(AccountData); wrap_jnix_into_java!(TunConfig); wrap_jnix_into_java!(TunnelEndpoint); diff --git a/mullvad-types/src/version.rs b/mullvad-types/src/version.rs index 6e626104d7..21fffca04b 100644 --- a/mullvad-types/src/version.rs +++ b/mullvad-types/src/version.rs @@ -1,8 +1,12 @@ +#[cfg(target_os = "android")] +use jnix::IntoJava; use serde::{Deserialize, Serialize}; /// AppVersionInfo represents the current stable and the current latest release versions of the /// Mullvad VPN app. #[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)] +#[cfg_attr(target_os = "android", derive(IntoJava))] +#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))] pub struct AppVersionInfo { /// False if Mullvad has stopped supporting the currently running version. This could mean /// a number of things. For example: |
