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