diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 12:59:07 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 16:41:56 +0000 |
| commit | 8a01f64c666fa0eb49a7737d14eed04ebb67e1df (patch) | |
| tree | 30a1b125565d0ab1180771bc2adf080cf4a3bb15 /mullvad-jni/src/into_java.rs | |
| parent | 590354fb3848798353c55f45a322f35eb27a42f4 (diff) | |
| download | mullvadvpn-8a01f64c666fa0eb49a7737d14eed04ebb67e1df.tar.xz mullvadvpn-8a01f64c666fa0eb49a7737d14eed04ebb67e1df.zip | |
Implement `IntoJava` for `AccountData`
Diffstat (limited to 'mullvad-jni/src/into_java.rs')
| -rw-r--r-- | mullvad-jni/src/into_java.rs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs index a814ff79cf..952338ccb7 100644 --- a/mullvad-jni/src/into_java.rs +++ b/mullvad-jni/src/into_java.rs @@ -1,4 +1,9 @@ -use jni::{objects::JString, JNIEnv}; +use crate::get_class; +use jni::{ + objects::{JObject, JString, JValue}, + JNIEnv, +}; +use mullvad_types::account::AccountData; pub trait IntoJava<'env> { type JavaType; @@ -13,3 +18,16 @@ impl<'env> IntoJava<'env> for String { env.new_string(&self).expect("Failed to create Java String") } } + +impl<'env> IntoJava<'env> for AccountData { + type JavaType = JObject<'env>; + + fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType { + let class = get_class("net/mullvad/mullvadvpn/model/AccountData"); + let account_expiry = env.auto_local(JObject::from(self.expiry.to_string().into_java(env))); + let parameters = [JValue::Object(account_expiry.as_obj())]; + + env.new_object(&class, "(Ljava/lang/String;)V", ¶meters) + .expect("Failed to create AccountData Java object") + } +} |
