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