File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed
app/src/main/java/otus/homework/coroutines Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ package otus.homework.coroutines
2
+
3
+ import androidx.lifecycle.ViewModel
4
+ import androidx.lifecycle.ViewModelProvider
5
+ import androidx.lifecycle.viewmodel.initializer
6
+ import androidx.lifecycle.viewmodel.viewModelFactory
7
+
8
+ class CatsViewModel (
9
+ private val catsService : CatsService ,
10
+ private val imageService : ImageService
11
+ ) : ViewModel() {
12
+
13
+ companion object {
14
+ fun provideFactory (
15
+ catsService : CatsService ,
16
+ imageService : ImageService
17
+ ): ViewModelProvider .Factory = viewModelFactory {
18
+ initializer {
19
+ CatsViewModel (catsService, imageService)
20
+ }
21
+ }
22
+ }
23
+ }
Original file line number Diff line number Diff line change @@ -2,13 +2,21 @@ package otus.homework.coroutines
2
2
3
3
import android.os.Bundle
4
4
import androidx.appcompat.app.AppCompatActivity
5
+ import androidx.lifecycle.ViewModelProvider
5
6
6
7
class MainActivity : AppCompatActivity () {
7
8
8
9
lateinit var catsPresenter: CatsPresenter
9
10
10
11
private val diContainer = DiContainer ()
11
12
13
+ private val viewModel by lazy {
14
+ ViewModelProvider (
15
+ this ,
16
+ CatsViewModel .provideFactory(diContainer.catsService, diContainer.imageService)
17
+ )[CatsViewModel ::class .java]
18
+ }
19
+
12
20
override fun onCreate (savedInstanceState : Bundle ? ) {
13
21
super .onCreate(savedInstanceState)
14
22
You can’t perform that action at this time.
0 commit comments