diff options
Diffstat (limited to 'mullvad-jni/src/from_java.rs')
| -rw-r--r-- | mullvad-jni/src/from_java.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mullvad-jni/src/from_java.rs b/mullvad-jni/src/from_java.rs index 9cccd738d7..3caf3fd523 100644 --- a/mullvad-jni/src/from_java.rs +++ b/mullvad-jni/src/from_java.rs @@ -1,6 +1,9 @@ use crate::is_null::IsNull; use jnix::{ - jni::objects::{JObject, JString}, + jni::{ + objects::{JObject, JString}, + sys::{jboolean, JNI_FALSE}, + }, JnixEnv, }; use mullvad_types::relay_constraints::{ @@ -14,6 +17,14 @@ pub trait FromJava<'env> { fn from_java(env: &JnixEnv<'env>, source: Self::JavaType) -> Self; } +impl<'env> FromJava<'env> for bool { + type JavaType = jboolean; + + fn from_java(_: &JnixEnv<'env>, source: Self::JavaType) -> Self { + source != JNI_FALSE + } +} + impl<'env, T> FromJava<'env> for Option<T> where T: FromJava<'env>, |
