Add falsing to Long Clicks on UMO

Adds falsing check for long taps to make sure that long taps are
intended by users.

Bug: 241487855
Test: atest MediaControlPanelTest
Change-Id: I0f6be6321bca4af37605a7506b0053a5aa596724
This commit is contained in:
Michael Mikhail
2022-11-05 02:47:34 +00:00
parent a8fd186b86
commit 6092b0d466
2 changed files with 30 additions and 0 deletions

View File

@@ -373,6 +373,7 @@ public class MediaControlPanel {
mMediaViewController.attach(player, MediaViewController.TYPE.PLAYER);
vh.getPlayer().setOnLongClickListener(v -> {
if (mFalsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)) return true;
if (!mMediaViewController.isGutsVisible()) {
openGuts();
return true;
@@ -423,6 +424,7 @@ public class MediaControlPanel {
mMediaViewController.attach(recommendations, MediaViewController.TYPE.RECOMMENDATION);
mRecommendationViewHolder.getRecommendations().setOnLongClickListener(v -> {
if (mFalsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)) return true;
if (!mMediaViewController.isGutsVisible()) {
openGuts();
return true;
@@ -1191,6 +1193,7 @@ public class MediaControlPanel {
setSmartspaceRecItemOnClickListener(mediaCoverContainer, recommendation, itemIndex);
// Bubble up the long-click event to the card.
mediaCoverContainer.setOnLongClickListener(v -> {
if (mFalsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)) return true;
View parent = (View) v.getParent();
if (parent != null) {
parent.performLongClick();

View File

@@ -1136,6 +1136,19 @@ public class MediaControlPanelTest : SysuiTestCase() {
/* ***** Guts tests for the player ***** */
@Test
fun player_longClick_isFalse() {
whenever(falsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)).thenReturn(true)
player.attachPlayer(viewHolder)
val captor = ArgumentCaptor.forClass(View.OnLongClickListener::class.java)
verify(viewHolder.player).onLongClickListener = captor.capture()
captor.value.onLongClick(viewHolder.player)
verify(mediaViewController, never()).openGuts()
verify(mediaViewController, never()).closeGuts()
}
@Test
fun player_longClickWhenGutsClosed_gutsOpens() {
player.attachPlayer(viewHolder)
@@ -1315,6 +1328,20 @@ public class MediaControlPanelTest : SysuiTestCase() {
/* ***** Guts tests for the recommendations ***** */
@Test
fun recommendations_longClick_isFalse() {
whenever(falsingManager.isFalseLongTap(FalsingManager.LOW_PENALTY)).thenReturn(true)
player.attachRecommendation(recommendationViewHolder)
player.bindRecommendation(smartspaceData)
val captor = ArgumentCaptor.forClass(View.OnLongClickListener::class.java)
verify(viewHolder.player).onLongClickListener = captor.capture()
captor.value.onLongClick(viewHolder.player)
verify(mediaViewController, never()).openGuts()
verify(mediaViewController, never()).closeGuts()
}
@Test
fun recommendations_longClickWhenGutsClosed_gutsOpens() {
player.attachRecommendation(recommendationViewHolder)