diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-21 18:57:51 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 19:55:46 +0000 |
| commit | ae072b38f0f3b83da4863287899c4bf0dcf0ef8f (patch) | |
| tree | 7f1ef347f249c192fc2508ec50f33c9c4612c34b | |
| parent | a5584c2fc2d98f6c71fde2a328445e0e99a602be (diff) | |
| download | mullvadvpn-ae072b38f0f3b83da4863287899c4bf0dcf0ef8f.tar.xz mullvadvpn-ae072b38f0f3b83da4863287899c4bf0dcf0ef8f.zip | |
Implement `IntoJava` for `Settings`
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 15 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 5 |
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", ¶meters) + .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()); |
