I am trying to inject Context
using Dagger 2.
AppComponent.kt:
@Singleton
@Component(
modules = [
AppModule::class
]
)
interface AppComponent {
fun context(): Context
}
AppModule.kt:
@Module
class AppModule(private val application: Application) {
@Provides
@Singleton
fun providesApplicationContext(): Context = application
}
MainApp.kt:
class MainApp : Application() {
lateinit var appComponent: AppComponent
override fun onCreate() {
super.onCreate()
appComponent = initDagger()
}
private fun initDagger() = DaggerAppComponent.builder()
.appModule(AppModule(this))
.build()
}
Manager.kt: (Class where I want to inject Context
)
object Manager {
@Inject
lateinit var context: Context
}
However, I am getting following error:
error: Dagger does not support injection into static fields
public static android.content.Context context;
^
Is this because I am using an object
(Singleton)?
If you have any doubts related to question, please comment below. Thank you.