diff options
| -rw-r--r-- | mullvad-jni/src/from_java.rs | 20 |
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>, |
