1mod constants;
2mod mic;
3mod player;
4
5use jni::{
6 JNIEnv,
7 errors::Error,
8 objects::{JClass, JObject},
9};
10pub use {constants::*, mic::*, player::*};
11
12fn load_class<'a>(
14 env: &JNIEnv<'a>,
15 context: &JObject<'a>,
16 class_name: &'a str,
17) -> Result<JClass<'a>, Error> {
18 let mut env = unsafe { env.unsafe_clone() };
19 let class_loader = env
21 .call_method(context, "getClassLoader", "()Ljava/lang/ClassLoader;", &[])?
22 .l()?;
23
24 let class = env
26 .call_method(
27 class_loader,
28 "loadClass",
29 "(Ljava/lang/String;)Ljava/lang/Class;",
30 &[(&env.new_string(class_name)?).into()],
31 )?
32 .l()?;
33
34 Ok(class.into())
35}