INNER CODE UNIT · Rust
name_directories
jub0t/Concat · src/crates/concat-android/src/lib.rs:24
pub fn name_directories(app: &slint::android::AndroidApp) {
let Some(internal) = app.internal_data_path() else {
return;
};
// What the phone keeps for the app: settings, recents, models.
// SAFETY: called from android_main before the window or any worker
// thread starts, so no other thread reads the environment.
unsafe {
std::env::set_var("XDG_CONFIG_HOME", &internal);
std::env::set_var("XDG_DATA_HOME", &internal);
// Projects and exports land under the folder the user can reach
// through the phone's file manager, falling back to the private
// one when there is no external storage.
let home = app.external_data_path().unwrap_or(internal);
std::env::set_var("HOME", home);
}
}