Enable all delete methods.

This commit is contained in:
Patrick Fic
2024-02-29 09:34:26 -08:00
parent e524edb005
commit cd8332e02d
6 changed files with 165 additions and 78 deletions

View File

@@ -207,41 +207,104 @@ export function UploadProgress({
if (Platform.OS === 'android') {
//Create a new asset with the first file to delete.
// console.log('Trying new delete.');
// const delres = await MediaLibrary.removeAssetsFromAlbumAsync(
// filesToDelete,
// filesToDelete[0].albumId
// );
// await MediaLibrary.deleteAssetsAsync(filesToDelete.map((f) => f.id));
// const res = Promise.all(filesToDelete.map(f => FileSystem.deleteAsync(f.uri, { idempotent: true })))
// console.log("🚀 ~ onDone ~ res:", res)
// console.log('🚀 ~ onDone ~ filesToDelete:', filesToDelete);
await MediaLibrary.getPermissionsAsync(false);
const album = await MediaLibrary.createAlbumAsync(
'ImEX Mobile Deleted',
filesToDelete.pop(),
false
);
//Move the rest.
if (filesToDelete.length > 0) {
const moveResult = await MediaLibrary.addAssetsToAlbumAsync(
try {
await MediaLibrary.getPermissionsAsync(false);
const albumremove = await MediaLibrary.removeAssetsFromAlbumAsync(
filesToDelete,
album,
filesToDelete[0].albumId
);
Toast.show({
type: 'info',
text1: 'removeAssetsFromAlbumAsync',
text2: JSON.stringify(albumremove),
autoHide: false,
});
} catch (error) {
console.log("🚀 ~ onDone ~ error:", error)
Toast.show({
type: 'error',
text1: 'removeAssetsFromAlbumAsync',
text2: JSON.stringify(error),
autoHide: false,
});
}
try {
const delres = await MediaLibrary.deleteAssetsAsync(
filesToDelete.map((f) => f.id)
);
Toast.show({
type: 'info',
text1: 'deleteAssetsAsync',
text2: JSON.stringify(delres),
autoHide: false,
});
} catch (error) {
console.log("🚀 ~ onDone ~ error:", error)
Toast.show({
type: 'error',
text1: 'deleteAssetsAsync',
text2: JSON.stringify(error),
autoHide: false,
});
}
try {
const res = Promise.all(
filesToDelete.map((f) =>
FileSystem.deleteAsync(f.uri, { idempotent: true })
)
);
Toast.show({
type: 'info',
text1: 'FileSystemDelete',
text2: JSON.stringify(res),
autoHide: false,
});
} catch (error) {
console.log("🚀 ~ onDone ~ error:", error)
Toast.show({
type: 'error',
text1: 'FileSystemDelete',
text2: JSON.stringify(error),
autoHide: false,
});
}
try {
const album = await MediaLibrary.createAlbumAsync(
'ImEX Mobile Deleted',
filesToDelete.pop(),
false
);
console.log(
'Were assets succesfully moved to the new album?',
moveResult
);
//Move the rest.
if (filesToDelete.length > 0) {
const moveResult = await MediaLibrary.addAssetsToAlbumAsync(
filesToDelete,
album,
false
);
}
const deleteResult = await MediaLibrary.deleteAlbumsAsync(album);
Toast.show({
type: 'info',
text1: 'deleteAlbumsAsync',
text2: JSON.stringify(deleteResult),
autoHide: false,
});
} catch (error) {
console.log("🚀 ~ onDone ~ error:", error)
Toast.show({
type: 'error',
text1: 'deleteAlbumsAsync',
text2: JSON.stringify(error),
autoHide: false,
});
}
//Delete the album.
//This defaults to delete all assets in the album.
const deleteResult = await MediaLibrary.deleteAlbumsAsync(album);
console.log('Did the albume delete succesfully?', deleteResult);
} else {
await MediaLibrary.deleteAssetsAsync(filesToDelete.map((f) => f.id));
}