package keijumt.devandroid.di.module import android.arch.lifecycle.ViewModel import android.arch.lifecycle.ViewModelProvider import dagger.Binds import dagger.MapKey import dagger.Module import keijumt.devandroid.viewmodel.ViewModelFactory import kotlin.reflect.KClass @MustBeDocumented @Target(AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.RUNTIME) @MapKey internal annotation class ViewModelKey(val value: KClass<out ViewModel>) /** * Module: ViewModel 定義 */ @Module internal abstract class ViewModelModule { @Binds abstract fun bindViewModelFactory(factory: ViewModelFactory): ViewModelProvider.Factory }