Fixed
Status Update
Comments
sa...@google.com <sa...@google.com> #2
Comment has been deleted.
ap...@google.com <ap...@google.com> #3
1. stack for remoteKeys.nextKey gets null
06-17 14:48:03.981 18015-18015/com.example.android.codelabs.paging E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.codelabs.paging, PID: 18015
java.io.InvalidObjectException: Remote key should not be null for APPEND
at com.example.android.codelabs.paging.data.GithubRemoteMediator.load(GithubRemoteMediator.kt:68)
at com.example.android.codelabs.paging.data.GithubRemoteMediator$load$1.invokeSuspend(GithubRemoteMediator.kt)
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:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
2. I have checked loadStateFlow / listener logic and changed it to listen only remote errors using loadState.mediator.refersh. But still, in offline mode application shows empty list. I have also removed the loadStateFlow / listener but still, it's not working in offline mode. It is not fetching data available in databa.
06-17 14:48:03.981 18015-18015/com.example.android.codelabs.paging E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.codelabs.paging, PID: 18015
java.io.InvalidObjectException: Remote key should not be null for APPEND
at com.example.android.codelabs.paging.data.GithubRemoteMediator.load(GithubRemoteMediator.kt:68)
at com.example.android.codelabs.paging.data.GithubRemoteMediator$load$1.invokeSuspend(GithubRemoteMediator.kt)
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:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
2. I have checked loadStateFlow / listener logic and changed it to listen only remote errors using loadState.mediator.refersh. But still, in offline mode application shows empty list. I have also removed the loadStateFlow / listener but still, it's not working in offline mode. It is not fetching data available in databa.
sa...@google.com <sa...@google.com>
sr...@gmail.com <sr...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b5e4aa03a057d56a55ffc6abf250ce8a34e5071b
Author: Dustin Lam <dustinlam@google.com>
Date: Wed Jun 17 00:50:31 2020
Allow local REFRESH even if remote REFRESH fails
Bug: 158892717
Test: ./gradlew paging:paging-common:test
Change-Id: I38b1b1784af935cfbd8b937d9f4ab372f59619ed
M paging/common/src/main/kotlin/androidx/paging/PageFetcherSnapshot.kt
M paging/common/src/main/kotlin/androidx/paging/PagerState.kt
M paging/common/src/main/kotlin/androidx/paging/ViewportHint.kt
M paging/common/src/test/kotlin/androidx/paging/CachingTest.kt
M paging/common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
M paging/common/src/test/kotlin/androidx/paging/TestPagingSourceExt.kt
M testutils/testutils-paging/src/main/java/androidx/paging/TestPagingSource.kt
https://android-review.googlesource.com/1341068
Branch: androidx-master-dev
commit b5e4aa03a057d56a55ffc6abf250ce8a34e5071b
Author: Dustin Lam <dustinlam@google.com>
Date: Wed Jun 17 00:50:31 2020
Allow local REFRESH even if remote REFRESH fails
Bug: 158892717
Test: ./gradlew paging:paging-common:test
Change-Id: I38b1b1784af935cfbd8b937d9f4ab372f59619ed
M paging/common/src/main/kotlin/androidx/paging/PageFetcherSnapshot.kt
M paging/common/src/main/kotlin/androidx/paging/PagerState.kt
M paging/common/src/main/kotlin/androidx/paging/ViewportHint.kt
M paging/common/src/test/kotlin/androidx/paging/CachingTest.kt
M paging/common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
M paging/common/src/test/kotlin/androidx/paging/TestPagingSourceExt.kt
M testutils/testutils-paging/src/main/java/androidx/paging/TestPagingSource.kt
Description
The
FragmentManager
should be converted over to saving its state using theSavedStateRegistry
architecture component.We should provide
FragmentManager
with aSavedStateRegistryController
and move all of the code from theFragmentActivity
'sinit()
into theattachController()
method ofFragmentManager
.It currently relies on the
SavedStateRegistry
of theFragmentActivity
which hacked together methods likemarkFragmentsCreated()
andmFragments.saveAllState()
that can likely be called directly from theFragmentManager
.The more complex piece is moving the
OnContextAvailableListener()
over sinceFragmentManager
does not have the same signal for when theContext
is immediately available.