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

Commit 9d28e799 authored by Josh Tsuji's avatar Josh Tsuji
Browse files

Check whether doze is enabled before starting the screen off animation.

We should always have been doing this, but it was masked by the WM color-fade screen off animation and was only visible in certain situations (such as AOD enabled but suppressed by power saver).

Fixes: 192380279
Test: screen off with/without power saver
Change-Id: I88e3479173cfd32675d45a2801e5ab7518b4d8b0
parent b65f6796
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -223,8 +223,15 @@ public class DozeParameters implements TunerService.Tunable,
     * then abruptly showing AOD.
     */
    public boolean shouldControlUnlockedScreenOff() {
        return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations()
                && mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation();
        return mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation();
    }

    /**
     * Whether we're capable of controlling the screen off animation if we want to. This isn't
     * possible if AOD isn't even enabled or if the flag is disabled.
     */
    public boolean canControlUnlockedScreenOff() {
        return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations();
    }

    private boolean getBoolean(String propName, int resId) {
+7 −2
Original line number Diff line number Diff line
@@ -45,7 +45,8 @@ class UnlockedScreenOffAnimationController @Inject constructor(
    private val wakefulnessLifecycle: WakefulnessLifecycle,
    private val statusBarStateControllerImpl: StatusBarStateControllerImpl,
    private val keyguardViewMediatorLazy: dagger.Lazy<KeyguardViewMediator>,
    private val keyguardStateController: KeyguardStateController
    private val keyguardStateController: KeyguardStateController,
    private val dozeParameters: dagger.Lazy<DozeParameters>
) : WakefulnessLifecycle.Observer {
    private val handler = Handler()

@@ -146,7 +147,7 @@ class UnlockedScreenOffAnimationController @Inject constructor(
    }

    override fun onStartedGoingToSleep() {
        if (shouldPlayUnlockedScreenOffAnimation()) {
        if (dozeParameters.get().shouldControlUnlockedScreenOff()) {
            lightRevealAnimationPlaying = true
            lightRevealAnimator.start()

@@ -164,6 +165,10 @@ class UnlockedScreenOffAnimationController @Inject constructor(
     * on the current state of the device.
     */
    fun shouldPlayUnlockedScreenOffAnimation(): Boolean {
        if (!dozeParameters.get().canControlUnlockedScreenOff()) {
            return false
        }

        // We only play the unlocked screen off animation if we are... unlocked.
        if (statusBarStateControllerImpl.state != StatusBarState.SHADE) {
            return false