Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryForegroundViewModel.kt +7 −5 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart Loading Loading @@ -70,12 +71,13 @@ constructor( // While dozing, the display can show the AOD UI; show the AOD udfps when dozing private val useAodIconVariant: Flow<Boolean> = combine(isShowingAodOrDozing, deviceEntryUdfpsInteractor.isUdfpsSupported) { isTransitionToAodOrDozing, isUdfps -> isTransitionToAodOrDozing && isUdfps deviceEntryUdfpsInteractor.isUdfpsEnrolledAndEnabled.flatMapLatest { udfspEnrolled -> if (udfspEnrolled) { isShowingAodOrDozing.distinctUntilChanged() } else { flowOf(false) } } .distinctUntilChanged() private val padding: Flow<Int> = deviceEntryUdfpsInteractor.isUdfpsSupported.flatMapLatest { udfpsSupported -> Loading packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt +9 −17 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import com.android.systemui.deviceentry.data.ui.viewmodel.deviceEntryUdfpsAccess import com.android.systemui.flags.Flags.FULL_SCREEN_USER_SWITCHER import com.android.systemui.flags.fakeFeatureFlagsClassic import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository import com.android.systemui.keyguard.data.repository.fakeBiometricSettingsRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionState Loading @@ -39,6 +39,7 @@ import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.runner.RunWith Loading @@ -52,7 +53,7 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { } private val deviceEntryIconTransition = kosmos.fakeDeviceEntryIconViewModelTransition private val testScope = kosmos.testScope private val keyguardRepository = kosmos.fakeKeyguardRepository private val biometricSettingsRepository = kosmos.fakeBiometricSettingsRepository private val accessibilityRepository = kosmos.fakeAccessibilityRepository private val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository private val fingerprintPropertyRepository = kosmos.fingerprintPropertyRepository Loading Loading @@ -85,22 +86,12 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { setupVisibleStateOnLockscreen() // AOD keyguardTransitionRepository.sendTransitionStep( TransitionStep( keyguardTransitionRepository.sendTransitionSteps( from = KeyguardState.LOCKSCREEN, to = KeyguardState.AOD, value = 0f, transitionState = TransitionState.STARTED, ) ) keyguardTransitionRepository.sendTransitionStep( TransitionStep( from = KeyguardState.LOCKSCREEN, to = KeyguardState.AOD, value = 1f, transitionState = TransitionState.FINISHED, ) this, ) runCurrent() assertThat(visible).isFalse() } fun fpNotRunning_overlayNotVisible() = Loading Loading @@ -129,6 +120,7 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { // Listening for UDFPS fingerprintPropertyRepository.supportsUdfps() biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true) deviceEntryFingerprintAuthRepository.setIsRunning(true) deviceEntryRepository.setUnlocked(false) Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryForegroundViewModel.kt +7 −5 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart Loading Loading @@ -70,12 +71,13 @@ constructor( // While dozing, the display can show the AOD UI; show the AOD udfps when dozing private val useAodIconVariant: Flow<Boolean> = combine(isShowingAodOrDozing, deviceEntryUdfpsInteractor.isUdfpsSupported) { isTransitionToAodOrDozing, isUdfps -> isTransitionToAodOrDozing && isUdfps deviceEntryUdfpsInteractor.isUdfpsEnrolledAndEnabled.flatMapLatest { udfspEnrolled -> if (udfspEnrolled) { isShowingAodOrDozing.distinctUntilChanged() } else { flowOf(false) } } .distinctUntilChanged() private val padding: Flow<Int> = deviceEntryUdfpsInteractor.isUdfpsSupported.flatMapLatest { udfpsSupported -> Loading
packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt +9 −17 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import com.android.systemui.deviceentry.data.ui.viewmodel.deviceEntryUdfpsAccess import com.android.systemui.flags.Flags.FULL_SCREEN_USER_SWITCHER import com.android.systemui.flags.fakeFeatureFlagsClassic import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository import com.android.systemui.keyguard.data.repository.fakeBiometricSettingsRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionState Loading @@ -39,6 +39,7 @@ import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat import kotlin.test.Test import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.runner.RunWith Loading @@ -52,7 +53,7 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { } private val deviceEntryIconTransition = kosmos.fakeDeviceEntryIconViewModelTransition private val testScope = kosmos.testScope private val keyguardRepository = kosmos.fakeKeyguardRepository private val biometricSettingsRepository = kosmos.fakeBiometricSettingsRepository private val accessibilityRepository = kosmos.fakeAccessibilityRepository private val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository private val fingerprintPropertyRepository = kosmos.fingerprintPropertyRepository Loading Loading @@ -85,22 +86,12 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { setupVisibleStateOnLockscreen() // AOD keyguardTransitionRepository.sendTransitionStep( TransitionStep( keyguardTransitionRepository.sendTransitionSteps( from = KeyguardState.LOCKSCREEN, to = KeyguardState.AOD, value = 0f, transitionState = TransitionState.STARTED, ) ) keyguardTransitionRepository.sendTransitionStep( TransitionStep( from = KeyguardState.LOCKSCREEN, to = KeyguardState.AOD, value = 1f, transitionState = TransitionState.FINISHED, ) this, ) runCurrent() assertThat(visible).isFalse() } fun fpNotRunning_overlayNotVisible() = Loading Loading @@ -129,6 +120,7 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() { // Listening for UDFPS fingerprintPropertyRepository.supportsUdfps() biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true) deviceEntryFingerprintAuthRepository.setIsRunning(true) deviceEntryRepository.setUnlocked(false) Loading