ServiceBuilder.kt 950 Bytes
Newer Older
1 2
package chat.rocket.android.dagger.module

3 4
import chat.rocket.android.chatroom.di.MessageServiceProvider
import chat.rocket.android.chatroom.service.MessageService
Leonardo Aramaki's avatar
Leonardo Aramaki committed
5
import chat.rocket.android.push.FirebaseMessagingService
6
import chat.rocket.android.push.FirebaseTokenService
Leonardo Aramaki's avatar
Leonardo Aramaki committed
7
import chat.rocket.android.push.di.FirebaseMessagingServiceProvider
8 9 10 11 12 13 14 15
import chat.rocket.android.push.di.FirebaseTokenServiceProvider
import dagger.Module
import dagger.android.ContributesAndroidInjector

@Module abstract class ServiceBuilder {

    @ContributesAndroidInjector(modules = [FirebaseTokenServiceProvider::class])
    abstract fun bindFirebaseTokenService(): FirebaseTokenService
16

Leonardo Aramaki's avatar
Leonardo Aramaki committed
17 18
    @ContributesAndroidInjector(modules = [FirebaseMessagingServiceProvider::class])
    abstract fun bindGcmListenerService(): FirebaseMessagingService
19 20 21

    @ContributesAndroidInjector(modules = [MessageServiceProvider::class])
    abstract fun bindMessageService(): MessageService
22
}