summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 21:08:59 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:54 +0000
commit12c3239b4b308fef3c7d1298c426a2f17eabe5e4 (patch)
tree6a854f274304cf70797243712cee40df235948f2
parent56f060babfb5f4336e20f41b7966638f132e5e14 (diff)
downloadmullvadvpn-12c3239b4b308fef3c7d1298c426a2f17eabe5e4.tar.xz
mullvadvpn-12c3239b4b308fef3c7d1298c426a2f17eabe5e4.zip
Derive `IntoJava` for `AppVersionInfo`
-rw-r--r--mullvad-jni/src/into_java.rs32
-rw-r--r--mullvad-types/src/version.rs4
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",
- &parameters,
- )
- .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: