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

Commit 9e541c22 authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Use current alpha on PRIMARY_BOUNCER->LOCKSCREEN" into main

parents 43cef1e1 b492f92e
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.keyguard.shared.model.TransitionState
import com.android.systemui.keyguard.shared.model.TransitionStep
import com.android.systemui.keyguard.shared.model.TransitionStep
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
import com.android.systemui.testKosmos
import com.android.systemui.testKosmos
import com.google.common.collect.Range
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runCurrent
@@ -48,6 +49,24 @@ class PrimaryBouncerToLockscreenTransitionViewModelTest : SysuiTestCase() {


    val underTest = kosmos.primaryBouncerToLockscreenTransitionViewModel
    val underTest = kosmos.primaryBouncerToLockscreenTransitionViewModel


    @Test
    fun lockscreenAlphaStartsFromViewStateAccessorAlpha() =
        testScope.runTest {
            val viewState = ViewStateAccessor(alpha = { 0.5f })
            val alpha by collectLastValue(underTest.lockscreenAlpha(viewState))

            keyguardTransitionRepository.sendTransitionStep(step(0f, TransitionState.STARTED))

            keyguardTransitionRepository.sendTransitionStep(step(0f))
            assertThat(alpha).isEqualTo(0.5f)

            keyguardTransitionRepository.sendTransitionStep(step(0.5f))
            assertThat(alpha).isIn(Range.open(0.5f, 1f))

            keyguardTransitionRepository.sendTransitionStep(step(1f))
            assertThat(alpha).isEqualTo(1f)
        }

    @Test
    @Test
    fun deviceEntryParentViewAlpha() =
    fun deviceEntryParentViewAlpha() =
        testScope.runTest {
        testScope.runTest {
+1 −1
Original line number Original line Diff line number Diff line
@@ -270,7 +270,7 @@ constructor(
                        occludedToLockscreenTransitionViewModel.lockscreenAlpha,
                        occludedToLockscreenTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToAodTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToAodTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToGoneTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToGoneTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToLockscreenTransitionViewModel.lockscreenAlpha,
                        primaryBouncerToLockscreenTransitionViewModel.lockscreenAlpha(viewState),
                    )
                    )
                    .onStart { emit(1f) }
                    .onStart { emit(1f) }
            ) { hideKeyguard, alpha ->
            ) { hideKeyguard, alpha ->
+9 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package com.android.systemui.keyguard.ui.viewmodel
package com.android.systemui.keyguard.ui.viewmodel


import android.util.MathUtils
import com.android.app.animation.Interpolators.EMPHASIZED_ACCELERATE
import com.android.app.animation.Interpolators.EMPHASIZED_ACCELERATE
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.domain.interactor.FromPrimaryBouncerTransitionInteractor
import com.android.systemui.keyguard.domain.interactor.FromPrimaryBouncerTransitionInteractor
@@ -58,7 +59,14 @@ constructor(
            onStep = { it }
            onStep = { it }
        )
        )


    val lockscreenAlpha: Flow<Float> = shortcutsAlpha
    fun lockscreenAlpha(viewState: ViewStateAccessor): Flow<Float> {
        var currentAlpha = 0f
        return transitionAnimation.sharedFlow(
            duration = 250.milliseconds,
            onStart = { currentAlpha = viewState.alpha() },
            onStep = { MathUtils.lerp(currentAlpha, 1f, it) },
        )
    }


    val deviceEntryBackgroundViewAlpha: Flow<Float> =
    val deviceEntryBackgroundViewAlpha: Flow<Float> =
        transitionAnimation.immediatelyTransitionTo(1f)
        transitionAnimation.immediatelyTransitionTo(1f)
+1 −1
Original line number Original line Diff line number Diff line
@@ -511,7 +511,7 @@ constructor(
                occludedToAodTransitionViewModel.lockscreenAlpha,
                occludedToAodTransitionViewModel.lockscreenAlpha,
                occludedToGoneTransitionViewModel.notificationAlpha(viewState),
                occludedToGoneTransitionViewModel.notificationAlpha(viewState),
                occludedToLockscreenTransitionViewModel.lockscreenAlpha,
                occludedToLockscreenTransitionViewModel.lockscreenAlpha,
                primaryBouncerToLockscreenTransitionViewModel.lockscreenAlpha,
                primaryBouncerToLockscreenTransitionViewModel.lockscreenAlpha(viewState),
                glanceableHubToLockscreenTransitionViewModel.keyguardAlpha,
                glanceableHubToLockscreenTransitionViewModel.keyguardAlpha,
                lockscreenToGlanceableHubTransitionViewModel.keyguardAlpha,
                lockscreenToGlanceableHubTransitionViewModel.keyguardAlpha,
            )
            )