Как заинжектить activity в класс используя Dagger2?
Помогите, пожалуйста написть граф для Dagger2. Мне нужно заинжектить MainActivity в следующий класс:
class JokeDialog @Inject constructor(var activity: Activity) {
val dialog = AlertDialog.Builder(activity)
.setNegativeButton(android.R.string.cancel) { _, _ ->
}
.setPositiveButton(android.R.string.ok) { _, _ ->
}
operator fun invoke( message: String,action: () -> Unit) {
dialog
.setMessage(message)
.setPositiveButton(android.R.string.ok) { _, _ ->
action()
}.show()
}
}
Мой AppComponent выглядит так:
@Singleton
@Component(modules = [MainActivityModule::class])
interface AppComponent {
@Component.Factory
interface Factory {
fun create(
@BindsInstance context: Context
): AppComponent
}
fun inject(mainActivity: MainActivity)
}
@Module
class MainActivityModule {
@Provides
fun provideJokeDialog(mainActivity: MainActivity): JokeDialog = JokeDialog(mainActivity)
}