Fix crash when trying to update a lot of manga using dynamic categories

This commit is contained in:
Jays2Kings 2023-10-06 12:02:02 -07:00
parent e2380d3afb
commit 3d909832ee

View file

@ -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<LibraryUpdateJob>? = null
private var extraManga = emptyList<Long>()
val updateMutableFlow = MutableSharedFlow<Long?>(
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()