diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 21:05:27 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-23 10:30:24 +0000 |
| commit | ae2d8f1da959aa4e1fa7bcd26704401f71087e70 (patch) | |
| tree | 37c2e00c61479f0fedb2942514e4a799e680d4c8 | |
| parent | 17d2909dc11e7af2628fc160cecbe6169d36db35 (diff) | |
| download | mullvadvpn-ae2d8f1da959aa4e1fa7bcd26704401f71087e70.tar.xz mullvadvpn-ae2d8f1da959aa4e1fa7bcd26704401f71087e70.zip | |
Implement `MullvadDaemon::updateRelaySettings`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt | 2 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 19 |
2 files changed, 21 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 b01bccb5a4..6d084e6274 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt @@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn import net.mullvad.mullvadvpn.model.AccountData import net.mullvad.mullvadvpn.model.RelayList +import net.mullvad.mullvadvpn.model.RelaySettingsUpdate import net.mullvad.mullvadvpn.model.Settings class MullvadDaemon { @@ -14,6 +15,7 @@ class MullvadDaemon { external fun getRelayLocations(): RelayList external fun getSettings(): Settings external fun setAccount(accountToken: String?) + external fun updateRelaySettings(update: RelaySettingsUpdate) private external fun initialize() } diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs index b43f0aad0e..99a3041d9a 100644 --- a/mullvad-jni/src/lib.rs +++ b/mullvad-jni/src/lib.rs @@ -231,3 +231,22 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_setAccount( log::error!("{}", error.display_chain_with_msg("Failed to set account")); } } + +#[no_mangle] +#[allow(non_snake_case)] +pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_updateRelaySettings( + env: JNIEnv, + _: JObject, + relaySettingsUpdate: JObject, +) { + let daemon = DAEMON_INTERFACE.lock(); + + let update = FromJava::from_java(&env, relaySettingsUpdate); + + if let Err(error) = daemon.update_relay_settings(update) { + log::error!( + "{}", + error.display_chain_with_msg("Failed to update relay settings") + ); + } +} |
