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

Commit 78949b84 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Allow double tap when pulsing

Change-Id: Ifd8d5a274981940c6dca21193dc26f9a74e0cfaa
Fixes: 75722320
Test: manual
Test: atest tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
parent dc430954
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -528,8 +528,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
        if (alpha == 0f) {
            scrim.setClickable(false);
        } else {
            // Eat touch events (unless dozing).
            scrim.setClickable(!mState.isLowPowerState());
            // Eat touch events (unless dozing or pulsing).
            scrim.setClickable(mState != ScrimState.AOD && mState != ScrimState.PULSING);
        }
        updateScrim(scrim, alpha);
    }
+18 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.Arrays;
import java.util.HashSet;
import java.util.function.Consumer;

@RunWith(AndroidTestingRunner.class)
@@ -437,6 +439,22 @@ public class ScrimControllerTest extends SysuiTestCase {
        assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_FULLY_OPAQUE);
    }

    @Test
    public void testEatsTouchEvent() {
        HashSet<ScrimState> eatsTouches =
                new HashSet<>(Arrays.asList(ScrimState.AOD, ScrimState.PULSING));
        for (ScrimState state : ScrimState.values()) {
            if (state == ScrimState.UNINITIALIZED) {
                continue;
            }
            mScrimController.transitionTo(state);
            mScrimController.finishAnimationsImmediately();
            Assert.assertEquals("Should be clickable unless AOD or PULSING, was: " + state,
                    mScrimBehind.getViewAlpha() != 0 && !eatsTouches.contains(state),
                    mScrimBehind.isClickable());
        }
    }

    /**
     * Conserves old notification density after leaving state and coming back.
     *