List of usage examples for android.support.v4.util SparseArrayCompat clear
public void clear()
From source file:com.mvcoding.financius.data.paging.PageLoader.java
@NonNull public Observable<PageResult<T>> load(@NonNull DataConverter<T> dataConverter, @NonNull DatabaseQuery databaseQuery, @NonNull Observable<Page> pageObservable) { final SparseArrayCompat<T> cache = new SparseArrayCompat<>(); final Observable<Cursor> cursorObservable = database.load(databaseQuery).doOnNext(cursor -> cache.clear()); return Observable.combineLatest(pageObservable, cursorObservable, (page, cursor) -> { final List<T> items = new ArrayList<>(); for (int i = page.getStart(), size = Math.min(cursor.getCount(), page.getStart() + page.getSize()); i < size; i++) { T item = cache.get(i);//from w w w . ja v a2s .co m if (item == null) { cursor.moveToPosition(i); item = dataConverter.from(cursor); cache.put(i, item); } items.add(item); } return new PageResult<>(page, items, cache.size() == items.size()); }); }