HiltWorker
public
abstract
@interface
HiltWorker
implements
Annotation
androidx.hilt.work.HiltWorker |
Identifies a ListenableWorker
's constructor for injection.
The Worker
will be available for creation by the
HiltWorkerFactory
that should be set in WorkManager
's
configuration via
Configuration.Builder.setWorkerFactory(androidx.work.WorkerFactory)
.
The HiltWorker
containing a constructor annotated with
AssistedInject will
have its dependencies defined in the constructor parameters injected by Dagger's Hilt.
Example:
@HiltWorker public class UploadWorker extends Worker { @AssistedInject public UploadWorker(@Assisted Context context, @Assisted WorkerParameters params, HttpClient httpClient) { // ... } }
@HiltAndroidApp public class MyApplication extends Application implements Configuration.Provider { @Inject HiltWorkerFactory workerFactory; @Override public Configuration getWorkManagerConfiguration() { return Configuration.Builder() .setWorkerFactory(workerFactory) .build(); } }
Only one constructor in the Worker
must be annotated with
AssistedInject.
The constructor must define parameters for a
Assisted-annotated
Context
and a
Assisted-annotated
WorkerParameters
along with any other dependencies. Both the Context
and
WorkerParameters
must not be a type param of Provider
nor
Lazy and must not be qualified.
Only dependencies available in the
SingletonComponent
can be injected into the Worker
.
Summary
Inherited methods | |
---|---|