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

Commit 60bdbbef authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update udfps icon interpolator for transition to AlternateBouncer" into...

Merge "Update udfps icon interpolator for transition to AlternateBouncer" into udc-qpr-dev am: 9a35c764

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24059669



Change-Id: Iec2975ceaece0347bc39e35fa25b7bf372a9fd79
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4c502578 9a35c764
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInterac
import com.android.systemui.keyguard.domain.interactor.UdfpsKeyguardInteractor
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.shared.model.StatusBarState
import com.android.wm.shell.animation.Interpolators
import javax.inject.Inject
import kotlin.math.roundToInt
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -68,7 +69,7 @@ open class UdfpsLockscreenViewModel(
                        if (visibleInKeyguardState(it.from, statusBarState)) {
                            1f
                        } else {
                            it.value
                            Interpolators.FAST_OUT_SLOW_IN.getInterpolation(it.value)
                        },
                    color = getColorAttrDefaultColor(context, alternateBouncerColorResId),
                )
+57 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.systemui.statusbar.phone.SystemUIDialogManager
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.time.FakeSystemClock
import com.android.wm.shell.animation.Interpolators
import com.google.common.collect.Range
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -689,6 +690,62 @@ class UdfpsLockscreenViewModelTest : SysuiTestCase() {
            assertThat(transition?.alpha).isEqualTo(1f)
        }

    @Test
    fun occludedToAlternateBouncer() =
        testScope.runTest {
            val transition by collectLastValue(underTest.transition)
            val visible by collectLastValue(underTest.visible)

            // TransitionState.STARTED: occluded -> alternate bouncer
            transitionRepository.sendTransitionStep(
                TransitionStep(
                    from = KeyguardState.OCCLUDED,
                    to = KeyguardState.ALTERNATE_BOUNCER,
                    value = 0f,
                    transitionState = TransitionState.STARTED,
                    ownerName = "occludedToAlternateBouncer",
                )
            )
            runCurrent()
            assertThat(transition?.alpha).isEqualTo(1f)
            assertThat(transition?.scale).isEqualTo(0f)
            assertThat(transition?.color).isEqualTo(alternateBouncerColor)
            assertThat(visible).isTrue()

            // TransitionState.RUNNING: occluded -> alternate bouncer
            transitionRepository.sendTransitionStep(
                TransitionStep(
                    from = KeyguardState.OCCLUDED,
                    to = KeyguardState.ALTERNATE_BOUNCER,
                    value = .6f,
                    transitionState = TransitionState.RUNNING,
                    ownerName = "occludedToAlternateBouncer",
                )
            )
            runCurrent()
            assertThat(transition?.alpha).isEqualTo(1f)
            assertThat(transition?.scale)
                .isEqualTo(Interpolators.FAST_OUT_SLOW_IN.getInterpolation(.6f))
            assertThat(transition?.color).isEqualTo(alternateBouncerColor)
            assertThat(visible).isTrue()

            // TransitionState.FINISHED: occluded -> alternate bouncer
            transitionRepository.sendTransitionStep(
                TransitionStep(
                    from = KeyguardState.OCCLUDED,
                    to = KeyguardState.ALTERNATE_BOUNCER,
                    value = 1f,
                    transitionState = TransitionState.FINISHED,
                    ownerName = "occludedToAlternateBouncer",
                )
            )
            runCurrent()
            assertThat(transition?.alpha).isEqualTo(1f)
            assertThat(transition?.scale).isEqualTo(1f)
            assertThat(transition?.color).isEqualTo(alternateBouncerColor)
            assertThat(visible).isTrue()
        }

    private suspend fun givenTransitionToLockscreenFinished() {
        transitionRepository.sendTransitionStep(
            TransitionStep(