-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMainActivityViewModel.kt
More file actions
37 lines (33 loc) · 1.18 KB
/
MainActivityViewModel.kt
File metadata and controls
37 lines (33 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.mindera.alfie
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.mindera.alfie.debug.operational.R
import com.mindera.alfie.domain.usecase.featuretoggle.GetFeatureToggleUseCase
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import javax.inject.Inject
@HiltViewModel
class MainActivityViewModel @Inject constructor(
getFeatureToggleUseCase: GetFeatureToggleUseCase,
@ApplicationContext context: Context
) : ViewModel() {
private val _wishlistToggle: MutableStateFlow<Boolean> = MutableStateFlow(false)
val wishlistToggle: StateFlow<Boolean> = _wishlistToggle
init {
viewModelScope.launch {
getFeatureToggleUseCase(
context.getString(R.string.feature_toggle_show_wishlist)
).collect {
_wishlistToggle.value = if (it.isEmpty()) {
false
} else {
it[0].enabled
}
}
}
}
}