use droid_wrap_derive::{java_class, java_constructor};
use crate::{
java::{lang::ClassLoader, nio::ByteBuffer},
JObjNew, JObjRef, JType,
};
#[java_class(name = "dalvik/system/DexClassLoader")]
pub struct DexClassLoader;
impl DexClassLoader {
#[java_constructor]
pub fn new(
dex_path: String,
optimized_directory: String,
library_search_path: String,
parent: &ClassLoader,
) -> Self {
}
}
#[java_class(name = "dalvik/system/InMemoryDexClassLoader")]
pub struct InMemoryDexClassLoader;
impl InMemoryDexClassLoader {
#[java_constructor]
pub fn new(dex_buffer: &ByteBuffer, parent: &ClassLoader) -> Self {}
}
#[cfg(feature = "test_dalvik_system")]
pub fn test() {
use crate::android::{app::Activity, content::Context};
let context: Context = (&Activity::fetch()).into();
let loader = DexClassLoader::new(
"c.dex".to_string(),
"".to_string(),
"".to_string(),
&context.get_class_loader(),
);
assert!(loader
.to_string()
.starts_with("dalvik.system.DexClassLoader"));
}