DelegatingWorkerFactory
open class DelegatingWorkerFactory : 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 functions |
|
|---|---|
Unit |
addFactory(workerFactory: WorkerFactory)Adds a |
final ListenableWorker? |
createWorker(Override this method to implement your custom worker-creation logic. |
Public constructors
Public functions
addFactory
fun addFactory(workerFactory: WorkerFactory): Unit
Adds a WorkerFactory to the list of delegates.
| Parameters | |
|---|---|
workerFactory: WorkerFactory |
The |
createWorker
final fun createWorker(
appContext: Context,
workerClassName: String,
workerParameters: WorkerParameters
): ListenableWorker?
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 | |
|---|---|
appContext: Context |
The application context |
workerClassName: String |
The class name of the worker to create |
workerParameters: WorkerParameters |
Parameters for worker initialization |
| Returns | |
|---|---|
ListenableWorker? |
A new |