summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-jni/src/into_java.rs37
-rw-r--r--mullvad-types/src/settings/mod.rs11
2 files changed, 14 insertions, 34 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index 21a193a8a7..fff9bdb191 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -4,13 +4,8 @@ use jnix::{
JnixEnv,
};
use mullvad_types::{
- account::AccountData,
- relay_constraints::{Constraint, RelaySettings},
- relay_list::RelayList,
- settings::Settings,
- states::TunnelState,
- version::AppVersionInfo,
- wireguard::KeygenEvent,
+ account::AccountData, relay_constraints::Constraint, relay_list::RelayList, settings::Settings,
+ states::TunnelState, version::AppVersionInfo, wireguard::KeygenEvent,
};
use std::fmt::Debug;
use talpid_core::tunnel::tun_provider::TunConfig;
@@ -73,34 +68,8 @@ wrap_jnix_into_java!(Constraint<T>
T: Clone + Eq + Debug + jnix::IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>>
);
-wrap_jnix_into_java!(RelaySettings);
wrap_jnix_into_java!(KeygenEvent);
-
-impl<'borrow, 'env> IntoJava<'borrow, 'env> for Settings
-where
- 'env: 'borrow,
-{
- type JavaType = AutoLocal<'env, 'borrow>;
-
- fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType {
- let class = env.get_class("net/mullvad/mullvadvpn/model/Settings");
- let account_token = self.get_account_token().into_java(env);
- let relay_settings = self.get_relay_settings().into_java(env);
- let parameters = [
- JValue::Object(account_token.as_obj()),
- JValue::Object(relay_settings.as_obj()),
- ];
-
- env.auto_local(
- env.new_object(
- &class,
- "(Ljava/lang/String;Lnet/mullvad/mullvadvpn/model/RelaySettings;)V",
- &parameters,
- )
- .expect("Failed to create Settings Java object"),
- )
- }
-}
+wrap_jnix_into_java!(Settings);
impl<'borrow, 'env> IntoJava<'borrow, 'env> for ActionAfterDisconnect
where
diff --git a/mullvad-types/src/settings/mod.rs b/mullvad-types/src/settings/mod.rs
index 80ea68c6ce..0c3aa2f6fe 100644
--- a/mullvad-types/src/settings/mod.rs
+++ b/mullvad-types/src/settings/mod.rs
@@ -2,6 +2,8 @@ use crate::relay_constraints::{
BridgeConstraints, BridgeSettings, BridgeState, Constraint, LocationConstraint,
RelayConstraints, RelaySettings, RelaySettingsUpdate,
};
+#[cfg(target_os = "android")]
+use jnix::IntoJava;
use log::{debug, info};
use serde::{Deserialize, Serialize};
use serde_json;
@@ -53,22 +55,31 @@ static SETTINGS_FILE: &str = "settings.json";
/// Mullvad daemon settings.
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
#[serde(default)]
+#[cfg_attr(target_os = "android", derive(IntoJava))]
+#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))]
pub struct Settings {
account_token: Option<String>,
relay_settings: RelaySettings,
+ #[cfg_attr(target_os = "android", jnix(skip))]
bridge_settings: BridgeSettings,
+ #[cfg_attr(target_os = "android", jnix(skip))]
bridge_state: BridgeState,
/// If the daemon should allow communication with private (LAN) networks.
+ #[cfg_attr(target_os = "android", jnix(skip))]
allow_lan: bool,
/// Extra level of kill switch. When this setting is on, the disconnected state will block
/// the firewall to not allow any traffic in or out.
+ #[cfg_attr(target_os = "android", jnix(skip))]
block_when_disconnected: bool,
/// If the daemon should connect the VPN tunnel directly on start or not.
+ #[cfg_attr(target_os = "android", jnix(skip))]
auto_connect: bool,
/// Options that should be applied to tunnels of a specific type regardless of where the relays
/// might be located.
+ #[cfg_attr(target_os = "android", jnix(skip))]
tunnel_options: TunnelOptions,
/// Specifies settings schema version
+ #[cfg_attr(target_os = "android", jnix(skip))]
settings_version: migrations::SettingsVersion,
}