DelegatingWorkerFactory
public class DelegatingWorkerFactory extends WorkerFactory
A WorkerFactory which delegates to other factories. Factories can register themselves as delegates, and they will be invoked in order until a delegated factory returns a non-null ListenableWorker instance.
Summary
Public constructors |
|---|
Public methods |
|
|---|---|
final void |
addFactory(@NonNull WorkerFactory workerFactory)Adds a |
final ListenableWorker |
createWorker(Override this method to implement your custom worker-creation logic. |
Public constructors
Public methods
addFactory
public final void addFactory(@NonNull WorkerFactory workerFactory)
Adds a WorkerFactory to the list of delegates.
| Parameters | |
|---|---|
@NonNull WorkerFactory workerFactory |
The |
createWorker
public final ListenableWorker createWorker(
@NonNull Context appContext,
@NonNull String workerClassName,
@NonNull WorkerParameters workerParameters
)
Override this method to implement your custom worker-creation logic. Use Configuration.Builder.setWorkerFactory to use your custom class.
Throwing an Exception here and no ListenableWorker will be created. If a WorkerFactory is unable to create an instance of the ListenableWorker, it should return null so it can delegate to the default WorkerFactory.
Returns a new instance of the specified workerClassName given the arguments. The returned worker must be a newly-created instance and must not have been previously returned or invoked by WorkManager. Otherwise, WorkManager will throw an IllegalStateException.
| Parameters | |
|---|---|
@NonNull Context appContext |
The application context |
@NonNull String workerClassName |
The class name of the worker to create |
@NonNull WorkerParameters workerParameters |
Parameters for worker initialization |
| Returns | |
|---|---|
ListenableWorker |
A new |