FilesFragmentModule.kt 887 Bytes
Newer Older
1 2
package chat.rocket.android.files.di

3
import androidx.lifecycle.LifecycleOwner
4 5 6 7 8 9 10 11 12 13 14 15
import chat.rocket.android.core.lifecycle.CancelStrategy
import chat.rocket.android.dagger.scope.PerFragment
import chat.rocket.android.files.presentation.FilesView
import chat.rocket.android.files.ui.FilesFragment
import dagger.Module
import dagger.Provides
import kotlinx.coroutines.experimental.Job

@Module
class FilesFragmentModule {

    @Provides
16 17 18 19 20
    @PerFragment
    fun provideJob() = Job()

    @Provides
    @PerFragment
21 22 23 24 25
    fun provideLifecycleOwner(frag: FilesFragment): LifecycleOwner {
        return frag
    }

    @Provides
26
    @PerFragment
27 28 29 30 31
    fun provideCancelStrategy(owner: LifecycleOwner, jobs: Job): CancelStrategy {
        return CancelStrategy(owner, jobs)
    }

    @Provides
32
    @PerFragment
33 34 35 36
    fun provideFilesView(frag: FilesFragment): FilesView {
        return frag
    }
}