fix(receiver): add filepath for download on android. #105
1 changed files with 22 additions and 1 deletions
|
|
@ -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) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue