summaryrefslogtreecommitdiff
path: root/androidx/paging/WrapperPositionalDataSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'androidx/paging/WrapperPositionalDataSource.java')
-rw-r--r--androidx/paging/WrapperPositionalDataSource.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/androidx/paging/WrapperPositionalDataSource.java b/androidx/paging/WrapperPositionalDataSource.java
index 257f6c7c..3b739ea7 100644
--- a/androidx/paging/WrapperPositionalDataSource.java
+++ b/androidx/paging/WrapperPositionalDataSource.java
@@ -25,23 +25,30 @@ class WrapperPositionalDataSource<A, B> extends PositionalDataSource<B> {
private final PositionalDataSource<A> mSource;
private final Function<List<A>, List<B>> mListFunction;
- private final InvalidatedCallback mInvalidatedCallback = new DataSource.InvalidatedCallback() {
- @Override
- public void onInvalidated() {
- invalidate();
- removeCallback();
- }
- };
-
WrapperPositionalDataSource(PositionalDataSource<A> source,
Function<List<A>, List<B>> listFunction) {
mSource = source;
mListFunction = listFunction;
- mSource.addInvalidatedCallback(mInvalidatedCallback);
}
- private void removeCallback() {
- mSource.removeInvalidatedCallback(mInvalidatedCallback);
+ @Override
+ public void addInvalidatedCallback(@NonNull InvalidatedCallback onInvalidatedCallback) {
+ mSource.addInvalidatedCallback(onInvalidatedCallback);
+ }
+
+ @Override
+ public void removeInvalidatedCallback(@NonNull InvalidatedCallback onInvalidatedCallback) {
+ mSource.removeInvalidatedCallback(onInvalidatedCallback);
+ }
+
+ @Override
+ public void invalidate() {
+ mSource.invalidate();
+ }
+
+ @Override
+ public boolean isInvalid() {
+ return mSource.isInvalid();
}
@Override