mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Do some download deletion in coroutines instead of completable
(cherry picked from commit 3d1250f2f8)
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
			
			
This commit is contained in:
		| @@ -23,6 +23,7 @@ import eu.kanade.tachiyomi.ui.migration.MigrationFlags | ||||
| import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource | ||||
| import eu.kanade.tachiyomi.util.lang.combineLatest | ||||
| import eu.kanade.tachiyomi.util.lang.isNullOrUnsubscribed | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import exh.favorites.FavoritesSyncHelper | ||||
| import java.io.IOException | ||||
| import java.io.InputStream | ||||
| @@ -338,12 +339,9 @@ class LibraryPresenter( | ||||
|         val mangaToDelete = mangas.distinctBy { it.id } | ||||
|         mangaToDelete.forEach { it.favorite = false } | ||||
|  | ||||
|         Observable.fromCallable { db.insertMangas(mangaToDelete).executeAsBlocking() } | ||||
|             .onErrorResumeNext { Observable.empty() } | ||||
|             .subscribeOn(Schedulers.io()) | ||||
|             .subscribe() | ||||
|         launchIO { | ||||
|             db.insertMangas(mangaToDelete).executeAsBlocking() | ||||
|  | ||||
|         Observable.fromCallable { | ||||
|             mangaToDelete.forEach { manga -> | ||||
|                 coverCache.deleteFromCache(manga.thumbnail_url) | ||||
|                 if (deleteChapters) { | ||||
| @@ -354,8 +352,6 @@ class LibraryPresenter( | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|             .subscribeOn(Schedulers.io()) | ||||
|             .subscribe() | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -22,6 +22,7 @@ import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters | ||||
| import eu.kanade.tachiyomi.util.lang.byteSize | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import eu.kanade.tachiyomi.util.lang.takeBytes | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| @@ -651,20 +652,16 @@ class ReaderPresenter( | ||||
|         val removeAfterReadSlots = preferences.removeAfterReadSlots() | ||||
|         if (removeAfterReadSlots == -1) return | ||||
|  | ||||
|         Completable | ||||
|             .fromCallable { | ||||
|                 // Position of the read chapter | ||||
|                 val position = chapterList.indexOf(chapter) | ||||
|         launchIO { | ||||
|             // Position of the read chapter | ||||
|             val position = chapterList.indexOf(chapter) | ||||
|  | ||||
|                 // Retrieve chapter to delete according to preference | ||||
|                 val chapterToDelete = chapterList.getOrNull(position - removeAfterReadSlots) | ||||
|                 if (chapterToDelete != null) { | ||||
|                     downloadManager.enqueueDeleteChapters(listOf(chapterToDelete.chapter), manga) | ||||
|                 } | ||||
|             // Retrieve chapter to delete according to preference | ||||
|             val chapterToDelete = chapterList.getOrNull(position - removeAfterReadSlots) | ||||
|             if (chapterToDelete != null) { | ||||
|                 downloadManager.enqueueDeleteChapters(listOf(chapterToDelete.chapter), manga) | ||||
|             } | ||||
|             .onErrorComplete() | ||||
|             .subscribeOn(Schedulers.io()) | ||||
|             .subscribe() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -672,10 +669,9 @@ class ReaderPresenter( | ||||
|      * are ignored. | ||||
|      */ | ||||
|     private fun deletePendingChapters() { | ||||
|         Completable.fromCallable { downloadManager.deletePendingChapters() } | ||||
|             .onErrorComplete() | ||||
|             .subscribeOn(Schedulers.io()) | ||||
|             .subscribe() | ||||
|         launchIO { | ||||
|             downloadManager.deletePendingChapters() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     companion object { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user