Created
September 22, 2020 04:48
-
-
Save ch8n/01b322090ca6fd36e8d53c9f646ceeea to your computer and use it in GitHub Desktop.
for medium article
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object ViewModelResolver { | |
// step 1, we need a viewmodel which is creted by ViewmodelProviders | |
fun provideDetailViewModel():MovieDetailViewModel = ViewModelProviders | |
.of(??, ??) | |
.get(MovieDetailViewModel::class.java) | |
// step 2, add dependencies of ViewmodelProviders, | |
// we have used added fragment Activty, so that we can support | |
// multiple activities not just MovieDetail activity | |
fun provideDetailViewModel( | |
factory : MovieDetailViewModelFactory, | |
activity : FragmentActivity | |
) :MovieDetailViewModel = ViewModelProviders | |
.of(activity, factory) | |
.get(MovieDetailViewModel::class.java) | |
// step 3, resolver for viewmodel factory? | |
fun provideDetailViewModelFactory() = | |
MovieDetailViewModelFactory(??) | |
// step 4, repository has already been resolved in App resolver | |
fun provideDetailViewModelFactory(movieRepository : MovieRepository) | |
= MovieDetailViewModelFactory(movieRepository) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment