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