1// Signature format: 4.0
2package androidx.paging {
3
4  public abstract class DataSource<Key, Value> {
5    method @AnyThread public void addInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback);
6    method @AnyThread public void invalidate();
7    method @WorkerThread public boolean isInvalid();
8    method public abstract <ToValue> androidx.paging.DataSource<Key!,ToValue!> map(androidx.arch.core.util.Function<Value!,ToValue!>);
9    method public abstract <ToValue> androidx.paging.DataSource<Key!,ToValue!> mapByPage(androidx.arch.core.util.Function<java.util.List<Value!>!,java.util.List<ToValue!>!>);
10    method @AnyThread public void removeInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback);
11  }
12
13  public abstract static class DataSource.Factory<Key, Value> {
14    ctor public DataSource.Factory();
15    method public abstract androidx.paging.DataSource<Key!,Value!> create();
16    method public <ToValue> androidx.paging.DataSource.Factory<Key!,ToValue!> map(androidx.arch.core.util.Function<Value!,ToValue!>);
17    method public <ToValue> androidx.paging.DataSource.Factory<Key!,ToValue!> mapByPage(androidx.arch.core.util.Function<java.util.List<Value!>!,java.util.List<ToValue!>!>);
18  }
19
20  public static interface DataSource.InvalidatedCallback {
21    method @AnyThread public void onInvalidated();
22  }
23
24  public abstract class ItemKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
25    ctor public ItemKeyedDataSource();
26    method public abstract Key getKey(Value);
27    method public abstract void loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams<Key!>, androidx.paging.ItemKeyedDataSource.LoadCallback<Value!>);
28    method public abstract void loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams<Key!>, androidx.paging.ItemKeyedDataSource.LoadCallback<Value!>);
29    method public abstract void loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams<Key!>, androidx.paging.ItemKeyedDataSource.LoadInitialCallback<Value!>);
30    method public final <ToValue> androidx.paging.ItemKeyedDataSource<Key!,ToValue!> map(androidx.arch.core.util.Function<Value!,ToValue!>);
31    method public final <ToValue> androidx.paging.ItemKeyedDataSource<Key!,ToValue!> mapByPage(androidx.arch.core.util.Function<java.util.List<Value!>!,java.util.List<ToValue!>!>);
32  }
33
34  public abstract static class ItemKeyedDataSource.LoadCallback<Value> {
35    ctor public ItemKeyedDataSource.LoadCallback();
36    method public abstract void onResult(java.util.List<Value!>);
37  }
38
39  public abstract static class ItemKeyedDataSource.LoadInitialCallback<Value> extends androidx.paging.ItemKeyedDataSource.LoadCallback<Value> {
40    ctor public ItemKeyedDataSource.LoadInitialCallback();
41    method public abstract void onResult(java.util.List<Value!>, int, int);
42  }
43
44  public static class ItemKeyedDataSource.LoadInitialParams<Key> {
45    ctor public ItemKeyedDataSource.LoadInitialParams(Key?, int, boolean);
46    field public final boolean placeholdersEnabled;
47    field public final Key? requestedInitialKey;
48    field public final int requestedLoadSize;
49  }
50
51  public static class ItemKeyedDataSource.LoadParams<Key> {
52    ctor public ItemKeyedDataSource.LoadParams(Key, int);
53    field public final Key key;
54    field public final int requestedLoadSize;
55  }
56
57  public abstract class PageKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
58    ctor public PageKeyedDataSource();
59    method public abstract void loadAfter(androidx.paging.PageKeyedDataSource.LoadParams<Key!>, androidx.paging.PageKeyedDataSource.LoadCallback<Key!,Value!>);
60    method public abstract void loadBefore(androidx.paging.PageKeyedDataSource.LoadParams<Key!>, androidx.paging.PageKeyedDataSource.LoadCallback<Key!,Value!>);
61    method public abstract void loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams<Key!>, androidx.paging.PageKeyedDataSource.LoadInitialCallback<Key!,Value!>);
62    method public final <ToValue> androidx.paging.PageKeyedDataSource<Key!,ToValue!> map(androidx.arch.core.util.Function<Value!,ToValue!>);
63    method public final <ToValue> androidx.paging.PageKeyedDataSource<Key!,ToValue!> mapByPage(androidx.arch.core.util.Function<java.util.List<Value!>!,java.util.List<ToValue!>!>);
64  }
65
66  public abstract static class PageKeyedDataSource.LoadCallback<Key, Value> {
67    ctor public PageKeyedDataSource.LoadCallback();
68    method public abstract void onResult(java.util.List<Value!>, Key?);
69  }
70
71  public abstract static class PageKeyedDataSource.LoadInitialCallback<Key, Value> {
72    ctor public PageKeyedDataSource.LoadInitialCallback();
73    method public abstract void onResult(java.util.List<Value!>, int, int, Key?, Key?);
74    method public abstract void onResult(java.util.List<Value!>, Key?, Key?);
75  }
76
77  public static class PageKeyedDataSource.LoadInitialParams<Key> {
78    ctor public PageKeyedDataSource.LoadInitialParams(int, boolean);
79    field public final boolean placeholdersEnabled;
80    field public final int requestedLoadSize;
81  }
82
83  public static class PageKeyedDataSource.LoadParams<Key> {
84    ctor public PageKeyedDataSource.LoadParams(Key, int);
85    field public final Key key;
86    field public final int requestedLoadSize;
87  }
88
89  public abstract class PagedList<T> extends java.util.AbstractList<T> {
90    method public void addWeakCallback(java.util.List<T!>?, androidx.paging.PagedList.Callback);
91    method public void detach();
92    method public T? get(int);
93    method public androidx.paging.PagedList.Config getConfig();
94    method public abstract androidx.paging.DataSource<?,T!> getDataSource();
95    method public abstract Object? getLastKey();
96    method public int getLoadedCount();
97    method public int getPositionOffset();
98    method public boolean isDetached();
99    method public boolean isImmutable();
100    method public void loadAround(int);
101    method public void removeWeakCallback(androidx.paging.PagedList.Callback);
102    method public int size();
103    method public java.util.List<T!> snapshot();
104  }
105
106  @MainThread public abstract static class PagedList.BoundaryCallback<T> {
107    ctor public PagedList.BoundaryCallback();
108    method public void onItemAtEndLoaded(T);
109    method public void onItemAtFrontLoaded(T);
110    method public void onZeroItemsLoaded();
111  }
112
113  public static final class PagedList.Builder<Key, Value> {
114    ctor public PagedList.Builder(androidx.paging.DataSource<Key!,Value!>, androidx.paging.PagedList.Config);
115    ctor public PagedList.Builder(androidx.paging.DataSource<Key!,Value!>, int);
116    method @WorkerThread public androidx.paging.PagedList<Value!> build();
117    method public androidx.paging.PagedList.Builder<Key!,Value!> setBoundaryCallback(androidx.paging.PagedList.BoundaryCallback?);
118    method public androidx.paging.PagedList.Builder<Key!,Value!> setFetchExecutor(java.util.concurrent.Executor);
119    method public androidx.paging.PagedList.Builder<Key!,Value!> setInitialKey(Key?);
120    method public androidx.paging.PagedList.Builder<Key!,Value!> setNotifyExecutor(java.util.concurrent.Executor);
121  }
122
123  public abstract static class PagedList.Callback {
124    ctor public PagedList.Callback();
125    method public abstract void onChanged(int, int);
126    method public abstract void onInserted(int, int);
127    method public abstract void onRemoved(int, int);
128  }
129
130  public static class PagedList.Config {
131    field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
132    field public final boolean enablePlaceholders;
133    field public final int initialLoadSizeHint;
134    field public final int maxSize;
135    field public final int pageSize;
136    field public final int prefetchDistance;
137  }
138
139  public static final class PagedList.Config.Builder {
140    ctor public PagedList.Config.Builder();
141    method public androidx.paging.PagedList.Config build();
142    method public androidx.paging.PagedList.Config.Builder setEnablePlaceholders(boolean);
143    method public androidx.paging.PagedList.Config.Builder setInitialLoadSizeHint(@IntRange(from=1) int);
144    method public androidx.paging.PagedList.Config.Builder setMaxSize(@IntRange(from=2) int);
145    method public androidx.paging.PagedList.Config.Builder setPageSize(@IntRange(from=1) int);
146    method public androidx.paging.PagedList.Config.Builder setPrefetchDistance(@IntRange(from=0) int);
147  }
148
149  public abstract class PositionalDataSource<T> extends androidx.paging.DataSource<java.lang.Integer,T> {
150    ctor public PositionalDataSource();
151    method public static int computeInitialLoadPosition(androidx.paging.PositionalDataSource.LoadInitialParams, int);
152    method public static int computeInitialLoadSize(androidx.paging.PositionalDataSource.LoadInitialParams, int, int);
153    method @WorkerThread public abstract void loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams, androidx.paging.PositionalDataSource.LoadInitialCallback<T!>);
154    method @WorkerThread public abstract void loadRange(androidx.paging.PositionalDataSource.LoadRangeParams, androidx.paging.PositionalDataSource.LoadRangeCallback<T!>);
155    method public final <V> androidx.paging.PositionalDataSource<V!> map(androidx.arch.core.util.Function<T!,V!>);
156    method public final <V> androidx.paging.PositionalDataSource<V!> mapByPage(androidx.arch.core.util.Function<java.util.List<T!>!,java.util.List<V!>!>);
157  }
158
159  public abstract static class PositionalDataSource.LoadInitialCallback<T> {
160    ctor public PositionalDataSource.LoadInitialCallback();
161    method public abstract void onResult(java.util.List<T!>, int);
162    method public abstract void onResult(java.util.List<T!>, int, int);
163  }
164
165  public static class PositionalDataSource.LoadInitialParams {
166    ctor public PositionalDataSource.LoadInitialParams(int, int, int, boolean);
167    field public final int pageSize;
168    field public final boolean placeholdersEnabled;
169    field public final int requestedLoadSize;
170    field public final int requestedStartPosition;
171  }
172
173  public abstract static class PositionalDataSource.LoadRangeCallback<T> {
174    ctor public PositionalDataSource.LoadRangeCallback();
175    method public abstract void onResult(java.util.List<T!>);
176  }
177
178  public static class PositionalDataSource.LoadRangeParams {
179    ctor public PositionalDataSource.LoadRangeParams(int, int);
180    field public final int loadSize;
181    field public final int startPosition;
182  }
183
184}
185
186