From 6092b0d4664926763bed8bf108be5f68ca3d3122 Mon Sep 17 00:00:00 2001 From: Michael Mikhail Date: Sat, 5 Nov 2022 02:47:34 +0000 Subject: 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 --- .../media/controls/ui/MediaControlPanel.java | 3 +++ .../media/controls/ui/MediaControlPanelTest.kt | 27 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java index 5b14cf34827a..215fa03c8c59 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java @@ -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(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt index 81901569bde8..1ad2ca9b9db3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt @@ -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) -- cgit v1.2.3-59-g8ed1b