arnaud.giuliani
06/13/2019, 3:59 PMgetViewModel
you can pass a KClass & the name is considered as the keydavid.pacheco
06/13/2019, 5:11 PMkey
allowed for different instances of a ViewModel of the same name. In v2 this is no longer possible (from what I can tell).
v1
lifecycleOwner.getViewModelByClass(
key = componentId.toString(),
name = viewModelDetails.viewModelName,
clazz = viewModelDetails.clazz)
v2
lifecycleOwner.getViewModel(clazz = viewModelDetails.clazz,
qualifier = named(viewModelDetails.viewModelName))
david.pacheco
06/13/2019, 5:11 PME/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 14558
D/KOIN: [ViewModel] ~ 'class com.exmaple.MiniTileTvViewModel'(name:'MINI_TV_VIEW_MODEL' key:'14558') - HubFragment{82c856e (ac81ba23-878b-4585-abe2-2e3615a96675) id=0x7f090121}
I/KOIN: +-- 'com.example.MiniTileTvViewModel'
D/KOIN: |-- find definition in 0.037382 ms
I/KOIN: | +-- 'com.example.PackagesRepo'
D/KOIN: | |-- find definition in 0.030214 ms
D/KOIN: | |-- get instance in 0.031721 ms
D/KOIN: | !-- [com.example.PackagesRepo] resolved in 0.132888 ms
D/KOIN: |-- get instance in 0.617685 ms
I/KOIN: \-- (*) Created
D/KOIN: !-- [com.example.MiniTileTvViewModel] resolved in 1.176259 ms
E/Koin: Got viewModel com.example.MiniTileTvViewModel@2bcf2c0
E/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 13948
D/KOIN: [ViewModel] ~ 'class com.example.MiniTileTvViewModel'(name:'MINI_TV_VIEW_MODEL' key:'13948') - HubFragment{82c856e (ac81ba23-878b-4585-abe2-2e3615a96675) id=0x7f090121}
I/KOIN: +-- 'com.example.MiniTileTvViewModel'
D/KOIN: |-- find definition in 0.139476 ms
I/KOIN: | +-- 'com.example.PackagesRepo'
D/KOIN: | |-- find definition in 0.024432 ms
D/KOIN: | |-- get instance in 0.024497 ms
D/KOIN: | !-- [com.example.PackagesRepo] resolved in 0.107163 ms
D/KOIN: |-- get instance in 0.239346 ms
I/KOIN: \-- (*) Created
D/KOIN: !-- [com.example.MiniTileTvViewModel] resolved in 0.472294 ms
E/Koin: Got viewModel com.example.MiniTileTvViewModel@bc4d97
david.pacheco
06/13/2019, 5:11 PME/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 14558
D/[Koin]: !- ViewModelProvider getting instance
D/[Koin]: +- get 'com.example.MiniTileTvViewModel'
D/[Koin]: | create instance for [type:Factory,name:'MINI_TV_VIEW_MODEL', primary_type:'com.example.MiniTileTvViewModel']
D/[Koin]: +- get 'com.example.PackagesRepo'
D/[Koin]: +- got 'com.example.PackagesRepo' in 0.009683 ms
D/[Koin]: +- got 'com.example.MiniTileTvViewModel' in 0.151841 ms
D/[Koin]: !- ViewModelProvider got instance in 0.233833
E/Koin: Got viewModel com.example.MiniTileTvViewModel@4ac4131
E/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 13948
D/[Koin]: !- ViewModelProvider getting instance
D/[Koin]: !- ViewModelProvider got instance in 0.006366
E/Koin: Got viewModel com.example.MiniTileTvViewModel@4ac4131
E/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 14558
D/[Koin]: !- ViewModelProvider getting instance
D/[Koin]: !- ViewModelProvider got instance in 0.033286
E/Koin: Got viewModel com.example.MiniTileTvViewModel@4ac4131
E/Koin: Trying to get ViewModelDetails(viewModelName=MINI_TV_VIEW_MODEL, clazz=class com.example.MiniTileTvViewModel) - id 13948
D/[Koin]: !- ViewModelProvider getting instance
D/[Koin]: !- ViewModelProvider got instance in 0.00646
E/Koin: Got viewModel com.example.MiniTileTvViewModel@4ac4131
arnaud.giuliani
06/14/2019, 11:39 AMdavid.pacheco
06/14/2019, 12:45 PMdavid.pacheco
06/15/2019, 7:10 AM