diff options
| -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()); |
