summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-21 23:03:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:55 +0000
commit90d7b463454095ad17bddb7c8eb2664646477b02 (patch)
tree5a30d9514f62108c91a7b9af9eeeba3d31bdfefc
parent6846021fcbcd1373c6f7fda8dc32fe68a4862c08 (diff)
downloadmullvadvpn-90d7b463454095ad17bddb7c8eb2664646477b02.tar.xz
mullvadvpn-90d7b463454095ad17bddb7c8eb2664646477b02.zip
Use `jnix::IntoJava` for `Vec<T>`
-rw-r--r--mullvad-jni/src/into_java.rs37
1 files changed, 4 insertions, 33 deletions
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index a29ed53158..532a946f1f 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -1,9 +1,6 @@
use crate::daemon_interface;
use jnix::{
- jni::{
- objects::{AutoLocal, JList, JObject, JValue},
- sys::jint,
- },
+ jni::objects::{AutoLocal, JObject, JValue},
JnixEnv,
};
use mullvad_types::{
@@ -51,35 +48,9 @@ wrap_jnix_into_java!(
wrap_jnix_into_java!(String);
-impl<'borrow, 'env, T> IntoJava<'borrow, 'env> for Vec<T>
-where
- 'env: 'borrow,
- T: IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>>,
-{
- type JavaType = AutoLocal<'env, 'borrow>;
-
- fn into_java(self, env: &'borrow JnixEnv<'env>) -> Self::JavaType {
- let class = env.get_class("java/util/ArrayList");
- let initial_capacity = self.len();
- let parameters = [JValue::Int(initial_capacity as jint)];
-
- let list_object = env
- .new_object(&class, "(I)V", &parameters)
- .expect("Failed to create ArrayList object");
-
- let list =
- JList::from_env(env, list_object).expect("Failed to create JList from ArrayList");
-
- for element in self {
- let java_element = element.into_java(env);
-
- list.add(java_element.as_obj())
- .expect("Failed to add element to ArrayList");
- }
-
- env.auto_local(list_object)
- }
-}
+wrap_jnix_into_java!(
+ Vec<T> where T: jnix::IntoJava<'borrow, 'env, JavaType = AutoLocal<'env, 'borrow>>
+);
impl<'array, 'borrow, 'env> IntoJava<'borrow, 'env> for &'array [u8]
where