[Media TTT] Remove the tap-to-dismiss option for the phone chip.

Test: manual (verified tapping the screen doesn't remove the ttt chip)
Fixes: 240986362
Change-Id: I0d063c25a25ea47f3db240b42e62531d8836b104
This commit is contained in:
Caitlin Cassidy
2022-08-01 19:22:47 +00:00
parent d915985414
commit 7c4c5375aa
6 changed files with 3 additions and 72 deletions

View File

@@ -26,7 +26,6 @@ import android.os.PowerManager
import android.os.SystemClock
import android.util.Log
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.ViewGroup
import android.view.WindowManager
import android.view.accessibility.AccessibilityManager
@@ -38,7 +37,6 @@ import com.android.internal.widget.CachingIconView
import com.android.settingslib.Utils
import com.android.systemui.R
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.view.ViewUtil
@@ -61,7 +59,6 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
@Main private val mainExecutor: DelayableExecutor,
private val accessibilityManager: AccessibilityManager,
private val configurationController: ConfigurationController,
private val tapGestureDetector: TapGestureDetector,
private val powerManager: PowerManager,
@LayoutRes private val chipLayoutRes: Int,
) {
@@ -111,7 +108,6 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
} else {
// The chip is new, so set up all our callbacks and inflate the view
configurationController.addCallback(displayScaleListener)
tapGestureDetector.addOnGestureDetectedCallback(TAG, this::onScreenTapped)
// Wake the screen if necessary so the user will see the chip. (Per b/239426653, we want
// the chip to show over the dream state, so we should only wake up if the screen is
// completely off.)
@@ -176,7 +172,6 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
if (chipView == null) { return }
logger.logChipRemoval(removalReason)
configurationController.removeCallback(displayScaleListener)
tapGestureDetector.removeOnGestureDetectedCallback(TAG)
windowManager.removeView(chipView)
chipView = null
chipInfo = null
@@ -261,15 +256,6 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
isAppIcon = false
)
}
private fun onScreenTapped(e: MotionEvent) {
val view = chipView ?: return
// If the tap is within the chip bounds, we shouldn't hide the chip (in case users think the
// chip is tappable).
if (!viewUtil.touchIsWithinView(view, e.x, e.y)) {
removeChip(MediaTttRemovalReason.REASON_SCREEN_TAP)
}
}
}
// Used in CTS tests UpdateMediaTapToTransferSenderDisplayTest and

View File

@@ -41,7 +41,6 @@ import com.android.systemui.media.taptotransfer.common.DEFAULT_TIMEOUT_MILLIS
import com.android.systemui.media.taptotransfer.common.MediaTttChipControllerCommon
import com.android.systemui.media.taptotransfer.common.MediaTttLogger
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.animation.AnimationUtil.Companion.frames
import com.android.systemui.util.concurrency.DelayableExecutor
@@ -63,7 +62,6 @@ class MediaTttChipControllerReceiver @Inject constructor(
mainExecutor: DelayableExecutor,
accessibilityManager: AccessibilityManager,
configurationController: ConfigurationController,
tapGestureDetector: TapGestureDetector,
powerManager: PowerManager,
@Main private val mainHandler: Handler,
private val uiEventLogger: MediaTttReceiverUiEventLogger,
@@ -75,7 +73,6 @@ class MediaTttChipControllerReceiver @Inject constructor(
mainExecutor,
accessibilityManager,
configurationController,
tapGestureDetector,
powerManager,
R.layout.media_ttt_chip_receiver,
) {

View File

@@ -38,7 +38,6 @@ import com.android.systemui.media.taptotransfer.common.MediaTttChipControllerCom
import com.android.systemui.media.taptotransfer.common.MediaTttLogger
import com.android.systemui.media.taptotransfer.common.MediaTttRemovalReason
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.view.ViewUtil
@@ -58,7 +57,6 @@ class MediaTttChipControllerSender @Inject constructor(
@Main mainExecutor: DelayableExecutor,
accessibilityManager: AccessibilityManager,
configurationController: ConfigurationController,
tapGestureDetector: TapGestureDetector,
powerManager: PowerManager,
private val uiEventLogger: MediaTttSenderUiEventLogger
) : MediaTttChipControllerCommon<ChipSenderInfo>(
@@ -69,7 +67,6 @@ class MediaTttChipControllerSender @Inject constructor(
mainExecutor,
accessibilityManager,
configurationController,
tapGestureDetector,
powerManager,
R.layout.media_ttt_chip,
) {

View File

@@ -21,7 +21,6 @@ import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.os.PowerManager
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
@@ -31,7 +30,6 @@ import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener
import com.android.systemui.util.concurrency.DelayableExecutor
@@ -76,8 +74,6 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
@Mock
private lateinit var viewUtil: ViewUtil
@Mock
private lateinit var tapGestureDetector: TapGestureDetector
@Mock
private lateinit var powerManager: PowerManager
@Before
@@ -109,17 +105,15 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
fakeExecutor,
accessibilityManager,
configurationController,
tapGestureDetector,
powerManager,
)
}
@Test
fun displayChip_chipAddedAndGestureDetectionStarted() {
fun displayChip_chipAdded() {
controllerCommon.displayChip(getState())
verify(windowManager).addView(any(), any())
verify(tapGestureDetector).addOnGestureDetectedCallback(any(), any())
}
@Test
@@ -141,14 +135,12 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
}
@Test
fun displayChip_twice_chipAndGestureDetectionNotAddedTwice() {
fun displayChip_twice_chipNotAddedTwice() {
controllerCommon.displayChip(getState())
reset(windowManager)
reset(tapGestureDetector)
controllerCommon.displayChip(getState())
verify(windowManager, never()).addView(any(), any())
verify(tapGestureDetector, never()).addOnGestureDetectedCallback(any(), any())
}
@Test
@@ -221,7 +213,7 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
}
@Test
fun removeChip_chipRemovedAndGestureDetectionStoppedAndRemovalLogged() {
fun removeChip_chipRemovedAndRemovalLogged() {
// First, add the chip
controllerCommon.displayChip(getState())
@@ -230,7 +222,6 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
controllerCommon.removeChip(reason)
verify(windowManager).removeView(any())
verify(tapGestureDetector).removeOnGestureDetectedCallback(any())
verify(logger).logChipRemoval(reason)
}
@@ -342,40 +333,6 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
assertThat(chipView.getAppIconView().measuredHeight).isEqualTo(ICON_SIZE)
}
@Test
fun tapGestureDetected_outsideViewBounds_viewHidden() {
controllerCommon.displayChip(getState())
whenever(viewUtil.touchIsWithinView(any(), any(), any())).thenReturn(false)
val gestureCallbackCaptor = argumentCaptor<(MotionEvent) -> Unit>()
verify(tapGestureDetector).addOnGestureDetectedCallback(
any(), capture(gestureCallbackCaptor)
)
val callback = gestureCallbackCaptor.value!!
callback.invoke(
MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, 0f, 0f, 0)
)
verify(windowManager).removeView(any())
}
@Test
fun tapGestureDetected_insideViewBounds_viewNotHidden() {
controllerCommon.displayChip(getState())
whenever(viewUtil.touchIsWithinView(any(), any(), any())).thenReturn(true)
val gestureCallbackCaptor = argumentCaptor<(MotionEvent) -> Unit>()
verify(tapGestureDetector).addOnGestureDetectedCallback(
any(), capture(gestureCallbackCaptor)
)
val callback = gestureCallbackCaptor.value!!
callback.invoke(
MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, 0f, 0f, 0)
)
verify(windowManager, never()).removeView(any())
}
private fun getState(name: String = "name") = ChipInfo(name)
private fun getChipView(): ViewGroup {
@@ -400,7 +357,6 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
@Main mainExecutor: DelayableExecutor,
accessibilityManager: AccessibilityManager,
configurationController: ConfigurationController,
tapGestureDetector: TapGestureDetector,
powerManager: PowerManager,
) : MediaTttChipControllerCommon<ChipInfo>(
context,
@@ -410,7 +366,6 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
mainExecutor,
accessibilityManager,
configurationController,
tapGestureDetector,
powerManager,
R.layout.media_ttt_chip,
) {

View File

@@ -36,7 +36,6 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.media.taptotransfer.common.MediaTttLogger
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
@@ -107,7 +106,6 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
FakeExecutor(FakeSystemClock()),
accessibilityManager,
configurationController,
TapGestureDetector(context),
powerManager,
Handler.getMain(),
receiverUiEventLogger

View File

@@ -37,7 +37,6 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.media.taptotransfer.common.MediaTttLogger
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
@@ -115,7 +114,6 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor,
accessibilityManager,
configurationController,
TapGestureDetector(context),
powerManager,
senderUiEventLogger
)