app/src/main/java/com/geekorum/ttrss/accounts/di.kt
changeset 164 2d6e9f2063cd
parent 137 5464f07a306c
child 244 5f02f86f179c
equal deleted inserted replaced
163:07a90afdb9db 164:2d6e9f2063cd
    24 import android.accounts.AccountManager
    24 import android.accounts.AccountManager
    25 import android.app.Activity
    25 import android.app.Activity
    26 import android.content.Context
    26 import android.content.Context
    27 import androidx.lifecycle.ViewModel
    27 import androidx.lifecycle.ViewModel
    28 import com.geekorum.geekdroid.accounts.AccountTokenRetriever
    28 import com.geekorum.geekdroid.accounts.AccountTokenRetriever
       
    29 import com.geekorum.geekdroid.dagger.ViewModelKey
    29 import com.geekorum.geekdroid.network.TokenRetriever
    30 import com.geekorum.geekdroid.network.TokenRetriever
    30 import com.geekorum.geekdroid.security.SecretEncryption
    31 import com.geekorum.geekdroid.security.SecretEncryption
    31 import com.geekorum.ttrss.network.TinyrssApiModule
    32 import com.geekorum.ttrss.network.TinyrssApiModule
    32 import com.geekorum.ttrss.network.impl.LoggedRequestInterceptorFactory
    33 import com.geekorum.ttrss.network.impl.LoggedRequestInterceptorFactory
    33 import com.geekorum.ttrss.network.impl.TinyRssApi
    34 import com.geekorum.ttrss.network.impl.TinyRssApi
    34 import dagger.Binds
    35 import dagger.Binds
    35 import dagger.Module
    36 import dagger.Module
    36 import dagger.Provides
    37 import dagger.Provides
    37 import dagger.Subcomponent
    38 import dagger.Subcomponent
    38 import dagger.android.ContributesAndroidInjector
    39 import dagger.android.ContributesAndroidInjector
    39 import dagger.multibindings.ClassKey
       
    40 import dagger.multibindings.IntoMap
    40 import dagger.multibindings.IntoMap
    41 import javax.inject.Scope
    41 import javax.inject.Scope
    42 import kotlin.annotation.AnnotationRetention.RUNTIME
    42 import kotlin.annotation.AnnotationRetention.RUNTIME
    43 
    43 
    44 /**
    44 /**
   158 
   158 
   159 @Module
   159 @Module
   160 private abstract class ViewModelsModule {
   160 private abstract class ViewModelsModule {
   161     @Binds
   161     @Binds
   162     @IntoMap
   162     @IntoMap
   163     @ClassKey(LoginViewModel::class)
   163     @ViewModelKey(LoginViewModel::class)
   164     abstract fun getLoginViewModel(loginViewModel: LoginViewModel): ViewModel
   164     abstract fun getLoginViewModel(loginViewModel: LoginViewModel): ViewModel
   165 
   165 
   166 }
   166 }