Merge "Add falsing to QSTile long click" into udc-qpr-dev

This commit is contained in:
Beverly Tai
2023-06-30 03:01:42 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 1 deletions

View File

@@ -330,7 +330,9 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
final int eventId = mClickEventId++;
mQSLogger.logTileLongClick(mTileSpec, mStatusBarStateController.getState(), mState.state,
eventId);
mHandler.obtainMessage(H.LONG_CLICK, eventId, 0, view).sendToTarget();
if (!mFalsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)) {
mHandler.obtainMessage(H.LONG_CLICK, eventId, 0, view).sendToTarget();
}
}
public LogMaker populate(LogMaker logMaker) {

View File

@@ -203,6 +203,19 @@ public class QSTileImplTest extends SysuiTestCase {
assertThat(mTile.mClicked).isTrue();
}
@Test
public void testLongClick_falsing() {
mFalsingManager.setFalseLongTap(true);
mTile.longClick(null /* view */);
mTestableLooper.processAllMessages();
assertThat(mTile.mLongClicked).isFalse();
mFalsingManager.setFalseLongTap(false);
mTile.longClick(null /* view */);
mTestableLooper.processAllMessages();
assertThat(mTile.mLongClicked).isTrue();
}
@Test
public void testSecondaryClick_Metrics() {
mTile.secondaryClick(null /* view */);
@@ -518,6 +531,7 @@ public class QSTileImplTest extends SysuiTestCase {
}
private static class TileImpl extends QSTileImpl<QSTile.BooleanState> {
boolean mClicked;
boolean mLongClicked;
int mRefreshes = 0;
protected TileImpl(
@@ -550,6 +564,11 @@ public class QSTileImplTest extends SysuiTestCase {
mClicked = true;
}
@Override
protected void handleLongClick(@Nullable View view) {
mLongClicked = true;
}
@Override
protected void handleUpdateState(BooleanState state, Object arg) {
mRefreshes++;