ActivityBuilder.kt 1.06 KB
Newer Older
1 2 3
package chat.rocket.android.dagger.module

import chat.rocket.android.app.MainActivity
Lucio Maciel's avatar
Lucio Maciel committed
4
import chat.rocket.android.authentication.di.*
5 6 7 8
import chat.rocket.android.authentication.login.di.LoginFragmentProvider
import chat.rocket.android.authentication.server.di.ServerFragmentProvider
import chat.rocket.android.authentication.signup.di.SignupFragmentProvider
import chat.rocket.android.authentication.twofactor.di.TwoFAFragmentProvider
9 10 11 12 13 14 15 16 17 18 19 20
import chat.rocket.android.authentication.ui.AuthenticationActivity
import chat.rocket.android.dagger.scope.PerActivity
import dagger.Module
import dagger.android.ContributesAndroidInjector

@Module
abstract class ActivityBuilder {

    @PerActivity
    @ContributesAndroidInjector(modules = arrayOf(
        AuthenticationModule::class,
        LoginFragmentProvider::class,
Lucio Maciel's avatar
Lucio Maciel committed
21
        ServerFragmentProvider::class,
Lucio Maciel's avatar
Lucio Maciel committed
22 23
        SignupFragmentProvider::class,
        TwoFAFragmentProvider::class
24 25 26 27 28 29
    ))
    abstract fun bindAuthenticationActivity(): AuthenticationActivity

    @ContributesAndroidInjector
    abstract fun bindMainActivity(): MainActivity
}