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

Commit 20bc1f1b 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 am: 60bdbbef

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



Change-Id: I3fc5f34b79b1e20ed77edd79f253058a511e53a0
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9d9ff5c4 60bdbbef
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(