That fuck shit the fascists are using
at master 44 lines 1.3 kB view raw
1package org.signal.pagingtest; 2 3import androidx.annotation.NonNull; 4import androidx.lifecycle.LiveData; 5import androidx.lifecycle.ViewModel; 6 7import org.signal.paging.LivePagedData; 8import org.signal.paging.PagingController; 9import org.signal.paging.PagingConfig; 10import org.signal.paging.PagedData; 11 12import java.util.List; 13 14public class MainViewModel extends ViewModel { 15 16 private final LivePagedData<String, Item> pagedData; 17 private final MainDataSource dataSource; 18 19 public MainViewModel() { 20 this.dataSource = new MainDataSource(1000); 21 this.pagedData = PagedData.createForLiveData(dataSource, new PagingConfig.Builder().setBufferPages(3) 22 .setPageSize(25) 23 .build()); 24 } 25 26 public void onItemClicked(@NonNull String key) { 27 dataSource.updateItem(key); 28 pagedData.getController().onDataItemChanged(key); 29 } 30 31 public @NonNull LiveData<List<Item>> getList() { 32 return pagedData.getData(); 33 } 34 35 public @NonNull PagingController<String> getPagingController() { 36 return pagedData.getController(); 37 } 38 39 public void prependItems() { 40 String key = dataSource.prepend(); 41 pagedData.getController().onDataItemInserted(key, 0); 42 } 43 44}