Skip to content

Instantly share code, notes, and snippets.

@baudouxbenjamin
Last active January 20, 2020 13:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save baudouxbenjamin/00a1c7e68c0d1f4c7185f7dcba10ce05 to your computer and use it in GitHub Desktop.
Save baudouxbenjamin/00a1c7e68c0d1f4c7185f7dcba10ce05 to your computer and use it in GitHub Desktop.
class MainActivity : DaggerAppComppatActivity() {
@Inject
lateinit var viewModel: MainViewModel
...
}
@Module
class MainModule {
@Provides
fun provideModel(activity: MainActivity, factory: MainViewModelFactory): MainViewModel {
return ViewModelProviders.of(activity, factory).get(MainViewModel::class.java)
}
@Suppress("UNCHECKED_CAST")
class MainViewModelFactory @Inject constructor(private val database: Database): ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return MainViewModel(database) as T
}
}
}
class MainViewModel constructor(private val database: Database) : ViewModel() {
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment