diff options
Diffstat (limited to 'androidx/paging/WrapperPositionalDataSource.java')
-rw-r--r-- | androidx/paging/WrapperPositionalDataSource.java | 29 |
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 |