summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 01:47:22 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:55 +0000
commit387e3ec710a8ef532b1a64f4707c1160bfe003b6 (patch)
tree49e67bc0d281580dd4a574e0b8024f3837c56e52
parentb250716fbec76057556efd69e827243a557bd897 (diff)
downloadmullvadvpn-387e3ec710a8ef532b1a64f4707c1160bfe003b6.tar.xz
mullvadvpn-387e3ec710a8ef532b1a64f4707c1160bfe003b6.zip
Derive `IntoJava` for `ParameterGenerationError`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt8
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt7
-rw-r--r--mullvad-jni/src/classes.rs5
-rw-r--r--mullvad-jni/src/into_java.rs27
-rw-r--r--talpid-types/src/tunnel.rs2
5 files changed, 10 insertions, 39 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index b37cf81819..f6fd4c9e1e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -179,12 +179,12 @@ class NotificationBanner(
is BlockReason.TapAdapterProblem -> R.string.tap_adapter_problem
is BlockReason.ParameterGeneration -> {
when (reason.error) {
- is ParameterGenerationError.NoMatchingRelay -> R.string.no_matching_relay
- is ParameterGenerationError.NoMatchingBridgeRelay -> {
+ ParameterGenerationError.NoMatchingRelay -> R.string.no_matching_relay
+ ParameterGenerationError.NoMatchingBridgeRelay -> {
R.string.no_matching_bridge_relay
}
- is ParameterGenerationError.NoWireguardKey -> R.string.no_wireguard_key
- is ParameterGenerationError.CustomTunnelHostResultionError -> {
+ ParameterGenerationError.NoWireguardKey -> R.string.no_wireguard_key
+ ParameterGenerationError.CustomTunnelHostResultionError -> {
R.string.custom_tunnel_host_resolution_error
}
}
diff --git a/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt
index 92547a02b4..51fa8ac461 100644
--- a/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt
+++ b/android/src/main/kotlin/net/mullvad/talpid/tunnel/ParameterGenerationError.kt
@@ -1,8 +1,5 @@
package net.mullvad.talpid.tunnel
-sealed class ParameterGenerationError {
- class NoMatchingRelay : ParameterGenerationError()
- class NoMatchingBridgeRelay : ParameterGenerationError()
- class NoWireguardKey : ParameterGenerationError()
- class CustomTunnelHostResultionError : ParameterGenerationError()
+enum class ParameterGenerationError {
+ NoMatchingRelay, NoMatchingBridgeRelay, NoWireguardKey, CustomTunnelHostResultionError
}
diff --git a/mullvad-jni/src/classes.rs b/mullvad-jni/src/classes.rs
index f4fe862c50..39b7713932 100644
--- a/mullvad-jni/src/classes.rs
+++ b/mullvad-jni/src/classes.rs
@@ -53,9 +53,6 @@ pub const CLASSES: &[&str] = &[
"net/mullvad/talpid/tunnel/BlockReason$ParameterGeneration",
"net/mullvad/talpid/tunnel/BlockReason$IsOffline",
"net/mullvad/talpid/tunnel/BlockReason$TapAdapterProblem",
- "net/mullvad/talpid/tunnel/ParameterGenerationError$NoMatchingRelay",
- "net/mullvad/talpid/tunnel/ParameterGenerationError$NoMatchingBridgeRelay",
- "net/mullvad/talpid/tunnel/ParameterGenerationError$NoWireguardKey",
- "net/mullvad/talpid/tunnel/ParameterGenerationError$CustomTunnelHostResultionError",
+ "net/mullvad/talpid/tunnel/ParameterGenerationError",
"net/mullvad/talpid/TalpidVpnService",
];
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index f93a9bc4ae..54bc9fbf69 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -121,32 +121,7 @@ where
}
}
-impl<'borrow, 'env> IntoJava<'borrow, 'env> for ParameterGenerationError
-where
- 'env: 'borrow,
-{
- type JavaType = AutoLocal<'env, 'borrow>;
-
- fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType {
- let class_variant = match self {
- ParameterGenerationError::NoMatchingRelay => "NoMatchingRelay",
- ParameterGenerationError::NoMatchingBridgeRelay => "NoMatchingBridgeRelay ",
- ParameterGenerationError::NoWireguardKey => "NoWireguardKey",
- ParameterGenerationError::CustomTunnelHostResultionError => {
- "CustomTunnelHostResultionError"
- }
- };
- let class_name = format!(
- "net/mullvad/talpid/tunnel/ParameterGenerationError${}",
- class_variant
- );
- let class = env.get_class(&class_name);
- env.auto_local(
- env.new_object(&class, "()V", &[])
- .expect("Failed to create ParameterGenerationError sub-class variant Java object"),
- )
- }
-}
+wrap_jnix_into_java!(ParameterGenerationError);
impl<'borrow, 'env> IntoJava<'borrow, 'env> for TunnelState
where
diff --git a/talpid-types/src/tunnel.rs b/talpid-types/src/tunnel.rs
index 06b9e96d91..c241715dee 100644
--- a/talpid-types/src/tunnel.rs
+++ b/talpid-types/src/tunnel.rs
@@ -67,6 +67,8 @@ pub enum BlockReason {
/// Errors that can occur when generating tunnel parameters.
#[derive(err_derive::Error, Debug, Serialize, Clone, PartialEq, Deserialize)]
#[serde(rename_all = "snake_case")]
+#[cfg_attr(target_os = "android", derive(IntoJava))]
+#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.talpid.tunnel"))]
pub enum ParameterGenerationError {
/// Failure to select a matching tunnel relay
#[error(display = "Failure to select a matching tunnel relay")]