Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d01b7c6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't animate to AOD variant if udfps isn't enrolled" into main

parents 8acd1cfe 7bd097fe
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -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

@@ -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 ->
+9 −17
Original line number Diff line number Diff line
@@ -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
@@ -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

@@ -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
@@ -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() =
@@ -129,6 +120,7 @@ class UdfpsAccessibilityOverlayViewModelTest : SysuiTestCase() {

        // Listening for UDFPS
        fingerprintPropertyRepository.supportsUdfps()
        biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
        deviceEntryFingerprintAuthRepository.setIsRunning(true)
        deviceEntryRepository.setUnlocked(false)