use super::*;
use crate::veilid_api::android::ANDROID_GLOBALS;
use jni::errors::Result as JniResult;
use jni::objects::JString;
use jni::{jni_sig, jni_str};
#[allow(dead_code)]
pub fn get_files_dir() -> String {
let aglock = ANDROID_GLOBALS.lock();
let ag = aglock.as_ref().unwrap_or_log();
ag.vm
.attach_current_thread(|env| {
env.with_local_frame(64, |env| {
let file = env
.call_method(
ag.ctx.as_obj(),
jni_str!("getFilesDir"),
jni_sig!("()Ljava/io/File;"),
&[],
)
.unwrap_or_log()
.l()
.unwrap_or_log();
let path = env
.call_method(
file,
jni_str!("getAbsolutePath"),
jni_sig!("()Ljava/lang/String;"),
&[],
)
.unwrap_or_log()
.l()
.unwrap_or_log();
let jstr = env.cast_local::<JString>(path).unwrap_or_log();
JniResult::Ok(jstr.try_to_string(env).unwrap_or_log())
})
})
.unwrap_or_log()
}