diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 10:41:19 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 19:55:46 +0000 |
| commit | c89fd741e0a4f2b33fcdf52dcbdf0abde6923f93 (patch) | |
| tree | 9da2e12b3bf410c1292b2489ea4cf5357bc2e6fc | |
| parent | a823bd0c69ef233c4a6d516c4b03d5f0e68dbbec (diff) | |
| download | mullvadvpn-c89fd741e0a4f2b33fcdf52dcbdf0abde6923f93.tar.xz mullvadvpn-c89fd741e0a4f2b33fcdf52dcbdf0abde6923f93.zip | |
Implement `MullvadDaemon::getSettings`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt | 2 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt index 54bc02795c..152eaac970 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn import net.mullvad.mullvadvpn.model.AccountData +import net.mullvad.mullvadvpn.model.Settings class MullvadDaemon { init { @@ -9,6 +10,7 @@ class MullvadDaemon { } external fun getAccountData(accountToken: String): AccountData? + external fun getSettings(): Settings external fun setAccount(accountToken: String?) private external fun initialize() diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index f9ed5ccb90..6195b56b52 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -168,6 +168,23 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getAccountData< #[no_mangle] #[allow(non_snake_case)] +pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getSettings<'env, 'this>( + env: JNIEnv<'env>, + _: JObject<'this>, +) -> JObject<'env> { + let daemon = DAEMON_INTERFACE.lock(); + + match daemon.get_settings() { + Ok(settings) => settings.into_java(&env), + Err(error) => { + log::error!("{}", error.display_chain_with_msg("Failed to get settings")); + JObject::null() + } + } +} + +#[no_mangle] +#[allow(non_snake_case)] pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_setAccount( env: JNIEnv, _: JObject, |
