Merge branch '101-implement-the-gui-for-native-desktop-apps-in-tauri-20-with-angular' of https://github.com/PatrykHegenberg/caesar-transfer into 101-implement-the-gui-for-native-desktop-apps-in-tauri-20-with-angular

This commit is contained in:
ikeen0807 2024-05-24 17:35:48 +02:00
commit 6ca31b4cf6

View file

@ -22,6 +22,9 @@ use tracing::error;
const DESTINATION: u8 = 0;
const NONCE_SIZE: usize = 12;
#[cfg(target_os = "android")]
const FILE_PATH_PREFIX: &str = "/storage/emulated/0/Download";
struct File {
name: String,
size: u64,
@ -73,11 +76,29 @@ fn on_list(context: &mut Context, list: ListPacket) -> Status {
for entry in list.entries {
let path = sanitize_filename::sanitize(entry.name.clone());
#[cfg(target_os = "android")]
let file_path = format!("{}/{}", FILE_PATH_PREFIX, path);
#[cfg(target_os = "android")]
if Path::new(&file_path).exists() {
return Status::Err(format!("The file '{}' already exists.", path));
}
#[cfg(target_os = "android")]
let handle = match fs::File::create(&file_path) {
Ok(handle) => handle,
Err(error) => {
return Status::Err(format!(
"Error: Failed to create file '{}': {}",
file_path, error
));
}
};
#[cfg(not(target_os = "android"))]
if Path::new(&path).exists() {
return Status::Err(format!("The file '{}' already exists.", path));
}
#[cfg(not(target_os = "android"))]
let handle = match fs::File::create(&path) {
Ok(handle) => handle,
Err(error) => {