summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-29 11:53:14 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 10:42:55 +0000
commit7f561cec30cceafe32c6d8bd2b281c3d248c3076 (patch)
tree7ec249d8bd5461679e9bb20d0e3654fcfa58d1ce
parent4c6d97adc9a2cdde2fe9486bfd66457c28944ed3 (diff)
downloadmullvadvpn-7f561cec30cceafe32c6d8bd2b281c3d248c3076.tar.xz
mullvadvpn-7f561cec30cceafe32c6d8bd2b281c3d248c3076.zip
Implement `IntoJava` for `AppVersionInfo`
-rw-r--r--mullvad-jni/src/into_java.rs24
-rw-r--r--mullvad-jni/src/lib.rs1
2 files changed, 25 insertions, 0 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index fd5dbc8427..52aa9e2f7c 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -13,6 +13,7 @@ use mullvad_types::{
relay_list::{Relay, RelayList, RelayListCity, RelayListCountry},
settings::Settings,
states::TunnelState,
+ version::AppVersionInfo,
wireguard::KeygenEvent,
CustomTunnelEndpoint,
};
@@ -187,6 +188,29 @@ impl<'env> IntoJava<'env> for PublicKey {
}
}
+impl<'env> IntoJava<'env> for AppVersionInfo {
+ type JavaType = JObject<'env>;
+
+ fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType {
+ let class = get_class("net/mullvad/mullvadvpn/model/AppVersionInfo");
+ let current_is_supported = self.current_is_supported as jboolean;
+ let latest_stable = env.auto_local(*self.latest_stable.into_java(env));
+ let latest = env.auto_local(*self.latest.into_java(env));
+ let parameters = [
+ JValue::Bool(current_is_supported),
+ JValue::Object(latest_stable.as_obj()),
+ JValue::Object(latest.as_obj()),
+ ];
+
+ env.new_object(
+ &class,
+ "(ZLjava/lang/String;Ljava/lang/String;)V",
+ &parameters,
+ )
+ .expect("Failed to create AppVersionInfo Java object")
+ }
+}
+
impl<'env> IntoJava<'env> for AccountData {
type JavaType = JObject<'env>;
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 7b56831ee7..e200f4c462 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -37,6 +37,7 @@ const CLASSES_TO_LOAD: &[&str] = &[
"net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Block",
"net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Nothing",
"net/mullvad/mullvadvpn/model/ActionAfterDisconnect$Reconnect",
+ "net/mullvad/mullvadvpn/model/AppVersionInfo",
"net/mullvad/mullvadvpn/model/Constraint$Any",
"net/mullvad/mullvadvpn/model/Constraint$Only",
"net/mullvad/mullvadvpn/model/GeoIpLocation",