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

Commit 0a9bb885 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Add proper falsing to secondary click

Touches on this were not being registered for falsing, causing the
lockscreen to collapse.

Test: manual, secondary clicks work
Test: atest QSTileImplTest
Fixes: 406698355
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Change-Id: Ie12acf6b68a1d69d9fccb5c7754aa70cb4c9a719
parent fcdb3b9f
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -210,6 +210,19 @@ public class QSTileImplTest extends SysuiTestCase {
        assertThat(mTile.mClicked).isTrue();
    }

    @Test
    public void testSecondaryClick_falsing() {
        mFalsingManager.setFalseTap(true);
        mTile.secondaryClick(null /* expandable */);
        mTestableLooper.processAllMessages();
        assertThat(mTile.mSecondaryClicked).isFalse();

        mFalsingManager.setFalseTap(false);
        mTile.secondaryClick(null /* expandable */);
        mTestableLooper.processAllMessages();
        assertThat(mTile.mSecondaryClicked).isTrue();
    }

    @Test
    public void testLongClick_falsing() {
        mFalsingManager.setFalseLongTap(true);
@@ -556,6 +569,7 @@ public class QSTileImplTest extends SysuiTestCase {
    private static class TileImpl extends QSTileImpl<QSTile.BooleanState> {
        boolean mClicked;
        boolean mLongClicked;
        boolean mSecondaryClicked;
        int mRefreshes = 0;

        protected TileImpl(
@@ -593,6 +607,11 @@ public class QSTileImplTest extends SysuiTestCase {
            mLongClicked = true;
        }

        @Override
        protected void handleSecondaryClick(@Nullable Expandable expandable) {
            mSecondaryClicked = true;
        }

        @Override
        protected void handleUpdateState(BooleanState state, Object arg) {
            mRefreshes++;
+3 −1
Original line number Diff line number Diff line
@@ -317,8 +317,10 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
        final int eventId = mClickEventId++;
        mQSLogger.logTileSecondaryClick(mTileSpec, mStatusBarStateController.getState(),
                mState.state, eventId);
        if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
            mHandler.obtainMessage(H.SECONDARY_CLICK, eventId, 0, expandable).sendToTarget();
        }
    }

    @Override
    public void longClick(@Nullable Expandable expandable) {