1// Signature format: 4.0
2package androidx.work {
3
4  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
5    ctor public ArrayCreatingInputMerger();
6    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
7  }
8
9  public enum BackoffPolicy {
10    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
11    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
12  }
13
14  public final class Configuration {
15    method public java.util.concurrent.Executor getExecutor();
16    method public androidx.work.InputMergerFactory getInputMergerFactory();
17    method public int getMaxJobSchedulerId();
18    method public int getMinJobSchedulerId();
19    method public java.util.concurrent.Executor getTaskExecutor();
20    method public androidx.work.WorkerFactory getWorkerFactory();
21    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
22  }
23
24  public static final class Configuration.Builder {
25    ctor public Configuration.Builder();
26    method public androidx.work.Configuration build();
27    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
28    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
29    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
30    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
31    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
32    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
33    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
34  }
35
36  public static interface Configuration.Provider {
37    method public androidx.work.Configuration getWorkManagerConfiguration();
38  }
39
40  public final class Constraints {
41    ctor public Constraints(androidx.work.Constraints);
42    method public androidx.work.NetworkType getRequiredNetworkType();
43    method public boolean requiresBatteryNotLow();
44    method public boolean requiresCharging();
45    method @RequiresApi(23) public boolean requiresDeviceIdle();
46    method public boolean requiresStorageNotLow();
47    field public static final androidx.work.Constraints! NONE;
48  }
49
50  public static final class Constraints.Builder {
51    ctor public Constraints.Builder();
52    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
53    method public androidx.work.Constraints build();
54    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
55    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
56    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
57    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
58    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
59    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
60    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
61    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
62    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
63  }
64
65  public final class Data {
66    ctor public Data(androidx.work.Data);
67    method @androidx.room.TypeConverter public static androidx.work.Data fromByteArray(byte[]);
68    method public boolean getBoolean(String, boolean);
69    method public boolean[]? getBooleanArray(String);
70    method public byte getByte(String, byte);
71    method public byte[]? getByteArray(String);
72    method public double getDouble(String, double);
73    method public double[]? getDoubleArray(String);
74    method public float getFloat(String, float);
75    method public float[]? getFloatArray(String);
76    method public int getInt(String, int);
77    method public int[]? getIntArray(String);
78    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
79    method public long getLong(String, long);
80    method public long[]? getLongArray(String);
81    method public String? getString(String);
82    method public String![]? getStringArray(String);
83    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
84    method public byte[] toByteArray();
85    field public static final androidx.work.Data! EMPTY;
86    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
87  }
88
89  public static final class Data.Builder {
90    ctor public Data.Builder();
91    method public androidx.work.Data build();
92    method public androidx.work.Data.Builder putAll(androidx.work.Data);
93    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
94    method public androidx.work.Data.Builder putBoolean(String, boolean);
95    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
96    method public androidx.work.Data.Builder putByte(String, byte);
97    method public androidx.work.Data.Builder putByteArray(String, byte[]);
98    method public androidx.work.Data.Builder putDouble(String, double);
99    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
100    method public androidx.work.Data.Builder putFloat(String, float);
101    method public androidx.work.Data.Builder putFloatArray(String, float[]);
102    method public androidx.work.Data.Builder putInt(String, int);
103    method public androidx.work.Data.Builder putIntArray(String, int[]);
104    method public androidx.work.Data.Builder putLong(String, long);
105    method public androidx.work.Data.Builder putLongArray(String, long[]);
106    method public androidx.work.Data.Builder putString(String, String?);
107    method public androidx.work.Data.Builder putStringArray(String, String![]);
108  }
109
110  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
111    ctor public DelegatingWorkerFactory();
112    method public final void addFactory(androidx.work.WorkerFactory);
113    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
114  }
115
116  public enum ExistingPeriodicWorkPolicy {
117    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
118    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
119  }
120
121  public enum ExistingWorkPolicy {
122    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
123    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
124    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
125  }
126
127  public final class ForegroundInfo {
128    ctor public ForegroundInfo(android.app.Notification);
129    ctor public ForegroundInfo(android.app.Notification, int);
130    method public int getForegroundServiceType();
131    method public android.app.Notification getNotification();
132  }
133
134  public interface ForegroundUpdater {
135    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
136  }
137
138  public abstract class InputMerger {
139    ctor public InputMerger();
140    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
141  }
142
143  public abstract class InputMergerFactory {
144    ctor public InputMergerFactory();
145    method public abstract androidx.work.InputMerger? createInputMerger(String);
146  }
147
148  public abstract class ListenableWorker {
149    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
150    method public final android.content.Context getApplicationContext();
151    method public final java.util.UUID getId();
152    method public final androidx.work.Data getInputData();
153    method @RequiresApi(28) public final android.net.Network? getNetwork();
154    method @IntRange(from=0) public final int getRunAttemptCount();
155    method public final java.util.Set<java.lang.String!> getTags();
156    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
157    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
158    method public final boolean isStopped();
159    method public void onStopped();
160    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
161    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
162    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
163  }
164
165  public abstract static class ListenableWorker.Result {
166    method public static androidx.work.ListenableWorker.Result failure();
167    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
168    method public static androidx.work.ListenableWorker.Result retry();
169    method public static androidx.work.ListenableWorker.Result success();
170    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
171  }
172
173  public enum NetworkType {
174    enum_constant public static final androidx.work.NetworkType CONNECTED;
175    enum_constant public static final androidx.work.NetworkType METERED;
176    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
177    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
178    enum_constant public static final androidx.work.NetworkType UNMETERED;
179  }
180
181  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
182    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
183    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
184  }
185
186  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
187    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
188    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
189  }
190
191  public interface Operation {
192    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
193    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
194  }
195
196  public abstract static class Operation.State {
197  }
198
199  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
200    ctor public Operation.State.FAILURE(Throwable);
201    method public Throwable getThrowable();
202  }
203
204  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
205  }
206
207  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
208  }
209
210  public final class OverwritingInputMerger extends androidx.work.InputMerger {
211    ctor public OverwritingInputMerger();
212    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
213  }
214
215  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
216    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
217    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
218  }
219
220  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
221    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
222    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
223    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
224    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
225  }
226
227  public interface ProgressUpdater {
228    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
229  }
230
231  public abstract class WorkContinuation {
232    ctor public WorkContinuation();
233    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
234    method public abstract androidx.work.Operation enqueue();
235    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
236    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
237    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
238    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
239  }
240
241  public final class WorkInfo {
242    method public java.util.UUID getId();
243    method public androidx.work.Data getOutputData();
244    method public androidx.work.Data getProgress();
245    method @IntRange(from=0) public int getRunAttemptCount();
246    method public androidx.work.WorkInfo.State getState();
247    method public java.util.Set<java.lang.String!> getTags();
248  }
249
250  public enum WorkInfo.State {
251    method public boolean isFinished();
252    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
253    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
254    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
255    enum_constant public static final androidx.work.WorkInfo.State FAILED;
256    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
257    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
258  }
259
260  public abstract class WorkManager {
261    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
262    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
263    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
264    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
265    method public abstract androidx.work.Operation cancelAllWork();
266    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
267    method public abstract androidx.work.Operation cancelUniqueWork(String);
268    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
269    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
270    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
271    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
272    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
273    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
274    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
275    method @Deprecated public static androidx.work.WorkManager getInstance();
276    method public static androidx.work.WorkManager getInstance(android.content.Context);
277    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
278    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
279    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
280    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
281    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
282    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
283    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
284    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
285    method public static void initialize(android.content.Context, androidx.work.Configuration);
286    method public abstract androidx.work.Operation pruneWork();
287  }
288
289  public abstract class WorkRequest {
290    method public java.util.UUID getId();
291    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
292    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
293    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
294  }
295
296  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
297    method public final B addTag(String);
298    method public final W build();
299    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
300    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
301    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
302    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
303    method public final B setConstraints(androidx.work.Constraints);
304    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
305    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
306    method public final B setInputData(androidx.work.Data);
307  }
308
309  public abstract class Worker extends androidx.work.ListenableWorker {
310    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
311    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
312    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
313  }
314
315  public abstract class WorkerFactory {
316    ctor public WorkerFactory();
317    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
318  }
319
320  public final class WorkerParameters {
321    method public java.util.UUID getId();
322    method public androidx.work.Data getInputData();
323    method @RequiresApi(28) public android.net.Network? getNetwork();
324    method @IntRange(from=0) public int getRunAttemptCount();
325    method public java.util.Set<java.lang.String!> getTags();
326    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
327    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
328  }
329
330}
331
332