Delete empty source folder when deleting all downloads for a manga
It previously only attempted this after deleting a list of chapters, so it wasn't applicable when deleting from Library or after unfavoriting an entry. Closes #8594
This commit is contained in:
parent
ef3a6c80a7
commit
5c37347cec
@ -239,20 +239,33 @@ class DownloadManager(
|
|||||||
|
|
||||||
// Delete manga directory if empty
|
// Delete manga directory if empty
|
||||||
if (mangaDir?.listFiles()?.isEmpty() == true) {
|
if (mangaDir?.listFiles()?.isEmpty() == true) {
|
||||||
mangaDir.delete()
|
deleteManga(manga, source)
|
||||||
cache.removeManga(manga)
|
|
||||||
|
|
||||||
// Delete source directory if empty
|
|
||||||
val sourceDir = provider.findSourceDir(source)
|
|
||||||
if (sourceDir?.listFiles()?.isEmpty() == true) {
|
|
||||||
sourceDir.delete()
|
|
||||||
cache.removeSource(source)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes the directory of a downloaded manga.
|
||||||
|
*
|
||||||
|
* @param manga the manga to delete.
|
||||||
|
* @param source the source of the manga.
|
||||||
|
*/
|
||||||
|
fun deleteManga(manga: Manga, source: Source) {
|
||||||
|
launchIO {
|
||||||
|
downloader.queue.remove(manga)
|
||||||
|
provider.findMangaDir(manga.title, source)?.delete()
|
||||||
|
cache.removeManga(manga)
|
||||||
|
|
||||||
|
// Delete source directory if empty
|
||||||
|
val sourceDir = provider.findSourceDir(source)
|
||||||
|
if (sourceDir?.listFiles()?.isEmpty() == true) {
|
||||||
|
sourceDir.delete()
|
||||||
|
cache.removeSource(source)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun removeFromDownloadQueue(chapters: List<Chapter>) {
|
private fun removeFromDownloadQueue(chapters: List<Chapter>) {
|
||||||
val wasRunning = downloader.isRunning
|
val wasRunning = downloader.isRunning
|
||||||
if (wasRunning) {
|
if (wasRunning) {
|
||||||
@ -271,20 +284,6 @@ class DownloadManager(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Deletes the directory of a downloaded manga.
|
|
||||||
*
|
|
||||||
* @param manga the manga to delete.
|
|
||||||
* @param source the source of the manga.
|
|
||||||
*/
|
|
||||||
fun deleteManga(manga: Manga, source: Source) {
|
|
||||||
launchIO {
|
|
||||||
downloader.queue.remove(manga)
|
|
||||||
provider.findMangaDir(manga.title, source)?.delete()
|
|
||||||
cache.removeManga(manga)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a list of chapters to be deleted later.
|
* Adds a list of chapters to be deleted later.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user