Android dagger hilt injecting application context in a Povides function
Hilt provides some predefined qualifiers. For example, as you might need the Context class from either the application or the activity, Hilt provides the @ApplicationContext and @ActivityContext qualifiers.
Suppose that the AnalyticsAdapter class from the example needs the context of the activity. The following code demonstrates how to provide the activity context to AnalyticsAdapter
class AnalyticsAdapter @Inject constructor( @ActivityContext private val context: Context, private val service: AnalyticsService ) { ... }
Provide the application context to in a Provide function
@InstallIn(ViewModelComponent::class) @Module object TaskModule { @Provides fun provideTasksLocalDataSource(@ApplicationContext context: Context): TasksDataSource { val database = createDataBase(context) return TasksLocalDataSource(database.taskDao()) } }
Search within Codexpedia
Custom Search
Search the entire web
Custom Search
Related Posts