tauri_plugin_android_fs/
lib.rs1#![allow(unused_variables)]
4
5mod models;
6mod api;
7mod consts;
8
9pub use models::*;
10pub use api::*;
11pub use consts::*;
12
13#[cfg(target_os = "android")]
14mod utils;
15#[cfg(target_os = "android")]
16pub(crate) use utils::*;
17
18pub fn init<R: tauri::Runtime>() -> tauri::plugin::TauriPlugin<R> {
32 tauri::plugin::Builder::new("android-fs")
33 .setup(|app, api| {
34 use tauri::Manager as _;
35
36 let afs = AndroidFs::new(app.clone(), api)?;
37
38 #[cfg(target_os = "android")] {
39 let _ = afs
41 .private_storage()
42 .remove_all_tmp_files();
43 }
44
45 app.manage(afs);
46 Ok(())
47 })
48 .build()
49}
50
51pub trait AndroidFsExt<R: tauri::Runtime> {
52
53 fn android_fs(&self) -> &AndroidFs<R>;
54}
55
56impl<R: tauri::Runtime, T: tauri::Manager<R>> AndroidFsExt<R> for T {
57
58 fn android_fs(&self) -> &AndroidFs<R> {
59 self.try_state::<AndroidFs<R>>()
60 .map(|i| i.inner())
61 .expect("You should register this plugin by tauri_plugin_android_fs::init(). See https://crates.io/crates/tauri-plugin-android-fs")
62 }
63}