summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-jni/src/from_java.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/mullvad-jni/src/from_java.rs b/mullvad-jni/src/from_java.rs
index 8ef615242e..dde51cc74a 100644
--- a/mullvad-jni/src/from_java.rs
+++ b/mullvad-jni/src/from_java.rs
@@ -3,7 +3,7 @@ use jni::{
objects::{JObject, JString},
JNIEnv,
};
-use mullvad_types::relay_constraints::{Constraint, LocationConstraint};
+use mullvad_types::relay_constraints::{Constraint, LocationConstraint, RelayConstraintsUpdate};
use std::fmt::Debug;
pub trait FromJava<'env> {
@@ -95,6 +95,24 @@ impl<'env> FromJava<'env> for LocationConstraint {
}
}
+impl<'env> FromJava<'env> for RelayConstraintsUpdate {
+ type JavaType = JObject<'env>;
+
+ fn from_java(env: &JNIEnv<'env>, source: Self::JavaType) -> Self {
+ let location = get_object_field(
+ env,
+ source,
+ "location",
+ "Lnet/mullvad/mullvadvpn/model/Constraint;",
+ );
+
+ RelayConstraintsUpdate {
+ location: FromJava::from_java(env, location),
+ tunnel: None,
+ }
+ }
+}
+
fn is_instance_of<'env>(
env: &JNIEnv<'env>,
object: JObject<'env>,