Closed tuancoltech closed 2 years ago
Have you tried using epoxy's paging3 support? It's a different module from paging2 https://github.com/airbnb/epoxy/tree/master/epoxy-paging3
Have you tried using epoxy's paging3 support? It's a different module from paging2 https://github.com/airbnb/epoxy/tree/master/epoxy-paging3
@elihart Yes, and it still does not work since the implementation is still the same.
FYI: I only changed from epoxy-paging
to epoxy-paging3
without modifying any other code.
I see, yes it seems like what you're saying is right. Also in general AsyncPagedListDiffer and PagedList in the paging3 module are now deprecated and need to be replaced so the whole module needs an update.
I won't be able to do that work myself (paging is all community contributed) so if anyone wants this fixed please contribute the change with tests.
I see, yes it seems like what you're saying is right. Also in general AsyncPagedListDiffer and PagedList in the paging3 module are now deprecated and need to be replaced so the whole module needs an update.
I won't be able to do that work myself (paging is all community contributed) so if anyone wants this fixed please contribute the change with tests.
Thank you for the response anyway.
Same error here, anyone help ?
@elihart
I see, yes it seems like what you're saying is right. Also in general AsyncPagedListDiffer and PagedList in the paging3 module are now deprecated and need to be replaced so the whole module needs an update.
PagedDataEpoxyController
and PagedDataModelCache
already exist in epoxy-paging3
module.
I believe PagedListEpoxyController
and PagedListModelCache
are here for large application developers when they migrate from paging2 to paging3 because they don't have to change everything at once.
I've just started migration and found this issue, so I've sent #1263.
Hello,
So in our app we're using
com.airbnb.android:epoxy-paging:4.5.0
, which internally depends onandroidx.paging:paging-runtime:2.0.0
.From another library module that we implements,
androidx.paging:paging-runtime-ktx:3.0.0
is used. As Gradle's version resolution strategy, when the same library module is being used inside the app, the newer one will be selected. (https://docs.gradle.org/current/userguide/dependency_resolution.html)Hence, we'll finally have the source code of
com.airbnb.android:epoxy-paging:4.5.0
withandroidx.paging:paging-runtime-ktx:3.0.0
inside the APK.This leads to a crash with below stack trace:
The reason is: Class
PagedListModelCache
insidepaging-runtime
's implementation relies on this field:mMainThreadExecutor
, which is gotten fromAsyncPagedListDiffer
, via reflection.However, from
androidx.paging:paging-runtime-ktx:3.0.0
, the field was renamed tomainThreadExecutor
, which then breaks this logic ofPagedListModelCache
.So my question is: Are you planing to update your
epoxy-paging
module to make it work with newer version ofpaging-runtime
from Google?If you are not doing it in a very near future, what would you suggest us doing to solve this issue?
Thanks.