Increasing Penalty on UMO taps

Increase penalty from low to moderate for action buttons and seekbar in
UMO because they have a big impact on the user experience.

Bug: 241487855.
Test: atest MediaControlPanelTest.
Test: atest SeekbarViewModelTest.
Change-Id: I1186b9a8da6fd3f53b69ec17cca282399d630601
This commit is contained in:
Michael Mikhail
2022-11-12 07:14:46 +00:00
parent 2238b567ec
commit 1952bb6239
6 changed files with 19 additions and 5 deletions

View File

@@ -231,7 +231,8 @@ public class BrightLineFalsingManager implements FalsingManager {
// check for false tap if it is a seekbar interaction
if (interactionType == MEDIA_SEEKBAR) {
localResult[0] &= isFalseTap(LOW_PENALTY);
localResult[0] &= isFalseTap(mFeatureFlags.isEnabled(Flags.MEDIA_FALSING_PENALTY)
? FalsingManager.MODERATE_PENALTY : FalsingManager.LOW_PENALTY);
}
logDebug("False Gesture (type: " + interactionType + "): " + localResult[0]);

View File

@@ -291,6 +291,8 @@ object Flags {
// TODO(b/254513168): Tracking Bug
@JvmField val UMO_SURFACE_RIPPLE = unreleasedFlag(907, "umo_surface_ripple")
@JvmField val MEDIA_FALSING_PENALTY = unreleasedFlag(908, "media_falsing_media")
// 1000 - dock
val SIMULATE_DOCK_THROUGH_CHARGING = releasedFlag(1000, "simulate_dock_through_charging")

View File

@@ -571,7 +571,10 @@ public class MediaControlPanel {
seamlessView.setContentDescription(deviceString);
seamlessView.setOnClickListener(
v -> {
if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
if (mFalsingManager.isFalseTap(
mFeatureFlags.isEnabled(Flags.MEDIA_FALSING_PENALTY)
? FalsingManager.MODERATE_PENALTY :
FalsingManager.LOW_PENALTY)) {
return;
}
@@ -994,7 +997,10 @@ public class MediaControlPanel {
} else {
button.setEnabled(true);
button.setOnClickListener(v -> {
if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
if (!mFalsingManager.isFalseTap(
mFeatureFlags.isEnabled(Flags.MEDIA_FALSING_PENALTY)
? FalsingManager.MODERATE_PENALTY :
FalsingManager.LOW_PENALTY)) {
mLogger.logTapAction(button.getId(), mUid, mPackageName, mInstanceId);
logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT);
action.run();

View File

@@ -120,6 +120,7 @@ public class BrightLineClassifierTest extends SysuiTestCase {
mGestureFinalizedListener = gestureCompleteListenerCaptor.getValue();
mFakeFeatureFlags.set(Flags.FALSING_FOR_LONG_TAPS, true);
mFakeFeatureFlags.set(Flags.MEDIA_FALSING_PENALTY, true);
}
@Test

View File

@@ -42,6 +42,7 @@ import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.Mock
import org.mockito.Mockito.any
import org.mockito.Mockito.anyInt
import org.mockito.Mockito.eq
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
@@ -464,7 +465,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
fun onFalseTapOrTouch() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
whenever(falsingManager.isFalseTouch(Classifier.MEDIA_SEEKBAR)).thenReturn(true)
whenever(falsingManager.isFalseTap(FalsingManager.LOW_PENALTY)).thenReturn(true)
whenever(falsingManager.isFalseTap(anyInt())).thenReturn(true)
viewModel.updateController(mockController)
val pos = 169

View File

@@ -210,7 +210,10 @@ public class MediaControlPanelTest : SysuiTestCase() {
private lateinit var recSubtitle3: TextView
private var shouldShowBroadcastButton: Boolean = false
private val fakeFeatureFlag =
FakeFeatureFlags().apply { this.set(Flags.UMO_SURFACE_RIPPLE, false) }
FakeFeatureFlags().apply {
this.set(Flags.UMO_SURFACE_RIPPLE, false)
this.set(Flags.MEDIA_FALSING_PENALTY, true)
}
@JvmField @Rule val mockito = MockitoJUnit.rule()