summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-21 18:57:51 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-22 19:55:46 +0000
commitae072b38f0f3b83da4863287899c4bf0dcf0ef8f (patch)
tree7f1ef347f249c192fc2508ec50f33c9c4612c34b
parenta5584c2fc2d98f6c71fde2a328445e0e99a602be (diff)
downloadmullvadvpn-ae072b38f0f3b83da4863287899c4bf0dcf0ef8f.tar.xz
mullvadvpn-ae072b38f0f3b83da4863287899c4bf0dcf0ef8f.zip
Implement `IntoJava` for `Settings`
-rw-r--r--mullvad-jni/src/into_java.rs15
-rw-r--r--mullvad-jni/src/lib.rs5
2 files changed, 18 insertions, 2 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index dce4d3e5ff..4f8fc3f287 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -3,7 +3,7 @@ use jni::{
objects::{JObject, JString, JValue},
JNIEnv,
};
-use mullvad_types::account::AccountData;
+use mullvad_types::{account::AccountData, settings::Settings};
pub trait IntoJava<'env> {
type JavaType;
@@ -46,3 +46,16 @@ impl<'env> IntoJava<'env> for AccountData {
.expect("Failed to create AccountData Java object")
}
}
+
+impl<'env> IntoJava<'env> for Settings {
+ type JavaType = JObject<'env>;
+
+ fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType {
+ let class = get_class("net/mullvad/mullvadvpn/model/Settings");
+ let account_token = env.auto_local(JObject::from(self.get_account_token().into_java(env)));
+ let parameters = [JValue::Object(account_token.as_obj())];
+
+ env.new_object(&class, "(Ljava/lang/String;)V", &parameters)
+ .expect("Failed to create Settings Java object")
+ }
+}
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 4c849b97ad..f9ed5ccb90 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -18,7 +18,10 @@ use talpid_types::{tunnel::TunnelStateTransition, ErrorExt};
const LOG_FILENAME: &str = "daemon.log";
-const CLASSES_TO_LOAD: &[&str] = &["net/mullvad/mullvadvpn/model/AccountData"];
+const CLASSES_TO_LOAD: &[&str] = &[
+ "net/mullvad/mullvadvpn/model/AccountData",
+ "net/mullvad/mullvadvpn/model/Settings",
+];
lazy_static! {
static ref DAEMON_INTERFACE: Mutex<DaemonInterface> = Mutex::new(DaemonInterface::new());