summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-22 10:41:19 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-22 19:55:46 +0000
commitc89fd741e0a4f2b33fcdf52dcbdf0abde6923f93 (patch)
tree9da2e12b3bf410c1292b2489ea4cf5357bc2e6fc
parenta823bd0c69ef233c4a6d516c4b03d5f0e68dbbec (diff)
downloadmullvadvpn-c89fd741e0a4f2b33fcdf52dcbdf0abde6923f93.tar.xz
mullvadvpn-c89fd741e0a4f2b33fcdf52dcbdf0abde6923f93.zip
Implement `MullvadDaemon::getSettings`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt2
-rw-r--r--mullvad-jni/src/lib.rs17
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,