That fuck shit the fascists are using
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}