IllegalArgumentException: Additional prepend event after prepend state is done
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia da Separators.kt intorno a SeparatorState.onInsert e onEvent, quindi esamina il percorso di caricamento in PageFetcherSnapshot.kt:487. Riproduci il problema usando una PagingSource i cui dati superano PagerConfig.maxSize, scorri verso il basso oltre il limite e poi torna verso l'alto; il lavoro è completato quando l'errore di prepend segnalato viene gestito senza che l'app vada in crash, oppure quando viene corretto l'errore di paging sottostante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
with version "3.0.0-alpha08"
How to reproduce afaik:
with a PagingSource which can provide more elements than PagerConfig.maxSize,
- scroll down more items than maxSize,
- scroll up until a load needs to happen:
java.lang.IllegalArgumentException: Additional prepend event after prepend state is done
at androidx.paging.SeparatorState.onInsert(Separators.kt:221)
at androidx.paging.SeparatorState.onEvent(Separators.kt:173)
at androidx.paging.SeparatorsKt$insertEventSeparators$$inlined$map$1$2.emit(Collect.kt:135)
at androidx.paging.PagingDataKt$map$$inlined$transform$1$2.emit(Collect.kt:136)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:58)
at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:11)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:69)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:185)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:108)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:308)
at kotlinx.coroutines.CancellableContinuationImpl.completeResume(CancellableContinuationImpl.kt:395)
at kotlinx.coroutines.channels.AbstractChannel$ReceiveElement.completeResumeReceive(AbstractChannel.kt:872)
at kotlinx.coroutines.channels.ArrayChannel.offerInternal(ArrayChannel.kt:83)
at kotlinx.coroutines.channels.AbstractSendChannel.send(AbstractChannel.kt:133)
at androidx.paging.PageFetcherSnapshot.doLoad(PageFetcherSnapshot.kt:487)
at androidx.paging.PageFetcherSnapshot$doLoad$1.invokeSuspend(Unknown Source:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Is it possible to provide a CoroutineContext that catches these exceptions so the app does not crash but we can report them?
Workaround: setting PagerConfig.maxSize = Int.MAX_VALUE but it defeats the purpose of using the paging library for infinite lists.
- Lingua principale
- Kotlin
- Stelle
- 508
- Fork
- 268
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di android/codelab-android-paging
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
android/codelab-android-paging#236 · 3 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
android/codelab-android-paging#243 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-2 giorni Idoneità per principianti 35/100
android/codelab-android-paging#241 · 1 commento ·
Tutte le issue di android/codelab-android-paging
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
afk-ok area:agents size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
enorm-labs/event-junkie#3523 ·
I maintainer di solito rispondono entro 1 giorno
-
[Submission] WeChat KidsApertasubmit-adaption submit-adaption-pre
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
BetterAndroid/android-notification-icon-project#750 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
lysine-dev/okhttp#9797 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
openbase/planetsudo.engine#107 ·
I maintainer di solito rispondono entro 1 giorno