Fixed
Status Update
Comments
yb...@google.com <yb...@google.com>
fl...@google.com <fl...@google.com>
ap...@google.com <ap...@google.com> #2
Just to let you know that this issue present in the latest available release. I did just update to alpha09 and it breaks my code. My PagingSource if a Room backed source, but I have the same issue: the paging library failed to generate a separator for the first item.
It is still working with the alpha08.
fl...@google.com <fl...@google.com>
mi...@gmail.com <mi...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit aa90cc2cb835209e12964d3afbc91e96b6d4e36b
Author: Dustin Lam <dustinlam@google.com>
Date: Tue Nov 24 11:34:08 2020
Add empty terminal insert for separators support with RemoteMediator
Re-applies a previous hack which inserted empty insert events to allow
separators to add terminal separators (header / footer), since
Separators may need to wait for a LoadStateUpdate event to mark terminal
load state from RemoteMediator.
Fixes: 172254056
Test: ./gradlew paging:paging-common:test
Change-Id: I5c5f2ac3860889909a30cd322a1e7b36eec1a9fd
M paging/common/src/main/kotlin/androidx/paging/MutableLoadStateCollection.kt
M paging/common/src/main/kotlin/androidx/paging/PageEvent.kt
M paging/common/src/main/kotlin/androidx/paging/PageFetcher.kt
M paging/common/src/main/kotlin/androidx/paging/Separators.kt
M paging/common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
M paging/common/src/test/kotlin/androidx/paging/SeparatorsTest.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/room/CustomerDao.java
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/NetworkCustomerPagingSource.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomViewModel.kt
https://android-review.googlesource.com/1510174
Branch: androidx-master-dev
commit aa90cc2cb835209e12964d3afbc91e96b6d4e36b
Author: Dustin Lam <dustinlam@google.com>
Date: Tue Nov 24 11:34:08 2020
Add empty terminal insert for separators support with RemoteMediator
Re-applies a previous hack which inserted empty insert events to allow
separators to add terminal separators (header / footer), since
Separators may need to wait for a LoadStateUpdate event to mark terminal
load state from RemoteMediator.
Fixes: 172254056
Test: ./gradlew paging:paging-common:test
Change-Id: I5c5f2ac3860889909a30cd322a1e7b36eec1a9fd
M paging/common/src/main/kotlin/androidx/paging/MutableLoadStateCollection.kt
M paging/common/src/main/kotlin/androidx/paging/PageEvent.kt
M paging/common/src/main/kotlin/androidx/paging/PageFetcher.kt
M paging/common/src/main/kotlin/androidx/paging/Separators.kt
M paging/common/src/test/kotlin/androidx/paging/PageFetcherSnapshotTest.kt
M paging/common/src/test/kotlin/androidx/paging/SeparatorsTest.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/room/CustomerDao.java
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/NetworkCustomerPagingSource.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RemoteMediator.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomAdapter.kt
M paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3room/V3RoomViewModel.kt
fe...@gmail.com <fe...@gmail.com> #4
onDestructiveMigration() don't work for me
fe...@gmail.com <fe...@gmail.com> #5
I need do stuff before .fallbackToDestructiveMigration() is called like saving data and after call this method restore this datas
Description
Version used: 1.1.0
Devices/Android versions reproduced on: All
When we are working with Room database that contains predefined data, we can populate these predefined data when first creation of the database via Callback#onCreate(SupportSQLiteDatabase). If that project decided to fallback to destructive migration, all the predefined data will be delete during the migration and there is no way to notify if that happens so we can insert those predefined data.
My suggestion would be adding a new callback method e.g. onDestructiveMigrate(SupportSQLiteDatabase). Then notify the callback once migrated by destruction.