Simplify adding flags to debug menu (#3886)

This commit is contained in:
David Perez 2024-09-09 14:51:04 -05:00 committed by GitHub
parent fa93985a2e
commit bef05d5ed9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9,6 +9,8 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import javax.inject.Inject
@ -28,22 +30,11 @@ class DebugMenuViewModel @Inject constructor(
init {
combine(
featureFlagManager.getFeatureFlagFlow(FlagKey.AuthenticatorSync),
featureFlagManager.getFeatureFlagFlow(FlagKey.EmailVerification),
featureFlagManager.getFeatureFlagFlow(FlagKey.OnboardingCarousel),
featureFlagManager.getFeatureFlagFlow(FlagKey.OnboardingFlow),
) { (authenticatorSync, emailVerification, onboardingCarousel, onboardingFlow) ->
sendAction(
DebugMenuAction.Internal.UpdateFeatureFlagMap(
mapOf(
FlagKey.AuthenticatorSync to authenticatorSync,
FlagKey.EmailVerification to emailVerification,
FlagKey.OnboardingCarousel to onboardingCarousel,
FlagKey.OnboardingFlow to onboardingFlow,
),
),
)
}
flows = FlagKey.activeFlags.map { flagKey ->
featureFlagManager.getFeatureFlagFlow(flagKey).map { flagKey to it }
},
) { DebugMenuAction.Internal.UpdateFeatureFlagMap(it.toMap()) }
.onEach(::sendAction)
.launchIn(viewModelScope)
}