diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 14:34:53 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 21:18:39 +0000 |
| commit | ae60742f00911df185fe12b2e4de08dff4c954b4 (patch) | |
| tree | 9b671db0bf56a0456d52677363f48b92dce9185a | |
| parent | 10ec0f26b57a28769a6e8f7f0d9542173d3e565a (diff) | |
| download | mullvadvpn-ae60742f00911df185fe12b2e4de08dff4c954b4.tar.xz mullvadvpn-ae60742f00911df185fe12b2e4de08dff4c954b4.zip | |
Implement `MullvadDaemon::getRelayLocations`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt | 2 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 20 |
2 files changed, 22 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 152eaac970..b01bccb5a4 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.RelayList import net.mullvad.mullvadvpn.model.Settings class MullvadDaemon { @@ -10,6 +11,7 @@ class MullvadDaemon { } external fun getAccountData(accountToken: String): AccountData? + external fun getRelayLocations(): RelayList external fun getSettings(): Settings external fun setAccount(accountToken: String?) diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index 9e9f055a6a..95fccfb5ce 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -173,6 +173,26 @@ 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_getRelayLocations<'env, 'this>( + env: JNIEnv<'env>, + _: JObject<'this>, +) -> JObject<'env> { + let daemon = DAEMON_INTERFACE.lock(); + + match daemon.get_relay_locations() { + Ok(relay_list) => relay_list.into_java(&env), + Err(error) => { + log::error!( + "{}", + error.display_chain_with_msg("Failed to get relay locations") + ); + JObject::null() + } + } +} + +#[no_mangle] +#[allow(non_snake_case)] pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getSettings<'env, 'this>( env: JNIEnv<'env>, _: JObject<'this>, |
