From 3d909832ee47bb4656aedad97c7e41f5310484da Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Fri, 6 Oct 2023 12:02:02 -0700 Subject: [PATCH] Fix crash when trying to update a lot of manga using dynamic categories --- .../eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index 96cb1acb4a..a09d95001b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -150,7 +150,8 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet preferences.libraryUpdateLastTimestamp().set(Date().time) } - val savedMangasList = inputData.getLongArray(KEY_MANGAS)?.asList() + val savedMangasList = inputData.getLongArray(KEY_MANGAS)?.asList()?.plus(extraManga) + extraManga = emptyList() val mangaList = ( if (savedMangasList != null) { @@ -624,6 +625,8 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet private var instance: WeakReference? = null + private var extraManga = emptyList() + val updateMutableFlow = MutableSharedFlow( extraBufferCapacity = 10, onBufferOverflow = BufferOverflow.DROP_OLDEST, @@ -705,8 +708,9 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet if (mangaToUse != null) { builder.putLongArray( KEY_MANGAS, - mangaToUse.mapNotNull { it.id }.toLongArray(), + mangaToUse.firstOrNull()?.id?.let { longArrayOf(it) } ?: longArrayOf(), ) + extraManga = mangaToUse.subList(1, mangaToUse.size).mapNotNull { it.id } } } val inputData = builder.build()