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 getPositionOffset();
97    method public boolean isDetached();
98    method public boolean isImmutable();
99    method public void loadAround(int);
100    method public void removeWeakCallback(androidx.paging.PagedList.Callback);
101    method public int size();
102    method public java.util.List<T!> snapshot();
103  }
104
105  @MainThread public abstract static class PagedList.BoundaryCallback<T> {
106    ctor public PagedList.BoundaryCallback();
107    method public void onItemAtEndLoaded(T);
108    method public void onItemAtFrontLoaded(T);
109    method public void onZeroItemsLoaded();
110  }
111
112  public static final class PagedList.Builder<Key, Value> {
113    ctor public PagedList.Builder(androidx.paging.DataSource<Key!,Value!>, androidx.paging.PagedList.Config);
114    ctor public PagedList.Builder(androidx.paging.DataSource<Key!,Value!>, int);
115    method @WorkerThread public androidx.paging.PagedList<Value!> build();
116    method public androidx.paging.PagedList.Builder<Key!,Value!> setBoundaryCallback(androidx.paging.PagedList.BoundaryCallback?);
117    method public androidx.paging.PagedList.Builder<Key!,Value!> setFetchExecutor(java.util.concurrent.Executor);
118    method public androidx.paging.PagedList.Builder<Key!,Value!> setInitialKey(Key?);
119    method public androidx.paging.PagedList.Builder<Key!,Value!> setNotifyExecutor(java.util.concurrent.Executor);
120  }
121
122  public abstract static class PagedList.Callback {
123    ctor public PagedList.Callback();
124    method public abstract void onChanged(int, int);
125    method public abstract void onInserted(int, int);
126    method public abstract void onRemoved(int, int);
127  }
128
129  public static class PagedList.Config {
130    field public final boolean enablePlaceholders;
131    field public final int initialLoadSizeHint;
132    field public final int pageSize;
133    field public final int prefetchDistance;
134  }
135
136  public static final class PagedList.Config.Builder {
137    ctor public PagedList.Config.Builder();
138    method public androidx.paging.PagedList.Config! build();
139    method public androidx.paging.PagedList.Config.Builder! setEnablePlaceholders(boolean);
140    method public androidx.paging.PagedList.Config.Builder! setInitialLoadSizeHint(int);
141    method public androidx.paging.PagedList.Config.Builder! setPageSize(int);
142    method public androidx.paging.PagedList.Config.Builder! setPrefetchDistance(int);
143  }
144
145  public abstract class PositionalDataSource<T> extends androidx.paging.DataSource<java.lang.Integer,T> {
146    ctor public PositionalDataSource();
147    method public static int computeInitialLoadPosition(androidx.paging.PositionalDataSource.LoadInitialParams, int);
148    method public static int computeInitialLoadSize(androidx.paging.PositionalDataSource.LoadInitialParams, int, int);
149    method @WorkerThread public abstract void loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams, androidx.paging.PositionalDataSource.LoadInitialCallback<T!>);
150    method @WorkerThread public abstract void loadRange(androidx.paging.PositionalDataSource.LoadRangeParams, androidx.paging.PositionalDataSource.LoadRangeCallback<T!>);
151    method public final <V> androidx.paging.PositionalDataSource<V!> map(androidx.arch.core.util.Function<T!,V!>);
152    method public final <V> androidx.paging.PositionalDataSource<V!> mapByPage(androidx.arch.core.util.Function<java.util.List<T!>!,java.util.List<V!>!>);
153  }
154
155  public abstract static class PositionalDataSource.LoadInitialCallback<T> {
156    ctor public PositionalDataSource.LoadInitialCallback();
157    method public abstract void onResult(java.util.List<T!>, int);
158    method public abstract void onResult(java.util.List<T!>, int, int);
159  }
160
161  public static class PositionalDataSource.LoadInitialParams {
162    ctor public PositionalDataSource.LoadInitialParams(int, int, int, boolean);
163    field public final int pageSize;
164    field public final boolean placeholdersEnabled;
165    field public final int requestedLoadSize;
166    field public final int requestedStartPosition;
167  }
168
169  public abstract static class PositionalDataSource.LoadRangeCallback<T> {
170    ctor public PositionalDataSource.LoadRangeCallback();
171    method public abstract void onResult(java.util.List<T!>);
172  }
173
174  public static class PositionalDataSource.LoadRangeParams {
175    ctor public PositionalDataSource.LoadRangeParams(int, int);
176    field public final int loadSize;
177    field public final int startPosition;
178  }
179
180}
181
182