summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-01-09 19:49:01 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-11 17:32:20 +0000
commitbef6fced446982fa1d20e73a9f29bd867bfc4b5c (patch)
tree120a2eaa36b75fab9ea87d7168a29edbf3da06c8
parentfdf6d6a73efa25644218ea9768867062f39e12c5 (diff)
downloadmullvadvpn-bef6fced446982fa1d20e73a9f29bd867bfc4b5c.tar.xz
mullvadvpn-bef6fced446982fa1d20e73a9f29bd867bfc4b5c.zip
Derive `FromJava` for `Constraint<T>`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt4
-rw-r--r--mullvad-types/src/relay_constraints.rs4
2 files changed, 5 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
index 97b3414176..7ccb75e3c1 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/Constraint.kt
@@ -2,5 +2,7 @@ package net.mullvad.mullvadvpn.model
sealed class Constraint<T>() {
class Any<T>() : Constraint<T>()
- class Only<T>(val value: T) : Constraint<T>()
+ class Only<T>(val value: T) : Constraint<T>() {
+ fun get0() = value
+ }
}
diff --git a/mullvad-types/src/relay_constraints.rs b/mullvad-types/src/relay_constraints.rs
index 63d8070a0e..4b3eef491a 100644
--- a/mullvad-types/src/relay_constraints.rs
+++ b/mullvad-types/src/relay_constraints.rs
@@ -4,7 +4,7 @@ use crate::{
CustomTunnelEndpoint,
};
#[cfg(target_os = "android")]
-use jnix::IntoJava;
+use jnix::{FromJava, IntoJava};
use serde::{Deserialize, Serialize};
use std::fmt;
use talpid_types::net::{openvpn::ProxySettings, TransportProtocol};
@@ -16,7 +16,7 @@ pub trait Match<T> {
#[derive(Debug, Clone, Eq, PartialEq, Deserialize, Serialize)]
#[serde(rename_all = "snake_case")]
-#[cfg_attr(target_os = "android", derive(IntoJava))]
+#[cfg_attr(target_os = "android", derive(FromJava, IntoJava))]
#[cfg_attr(target_os = "android", jnix(package = "net.mullvad.mullvadvpn.model"))]
pub enum Constraint<T: fmt::Debug + Clone + Eq + PartialEq> {
Any,