Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba4caf4d authored by Caitlin Cassidy's avatar Caitlin Cassidy Committed by Android (Google) Code Review
Browse files

Merge "[Media TTT] Turn the screen on when the chip first displays." into tm-dev

parents 612b7a69 a6d273f8
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import android.content.Context
import android.content.pm.PackageManager
import android.graphics.PixelFormat
import android.graphics.drawable.Drawable
import android.os.PowerManager
import android.os.SystemClock
import android.util.Log
import android.view.Gravity
import android.view.LayoutInflater
@@ -53,6 +55,7 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
    private val viewUtil: ViewUtil,
    @Main private val mainExecutor: DelayableExecutor,
    private val tapGestureDetector: TapGestureDetector,
    private val powerManager: PowerManager,
    @LayoutRes private val chipLayoutRes: Int
) {
    /** The window layout parameters we'll use when attaching the view to a window. */
@@ -95,6 +98,12 @@ abstract class MediaTttChipControllerCommon<T : ChipInfoCommon>(
        if (oldChipView == null) {
            tapGestureDetector.addOnGestureDetectedCallback(TAG, this::onScreenTapped)
            windowManager.addView(chipView, windowLayoutParams)
            // Wake the screen so the user will see the chip
            powerManager.wakeUp(
                SystemClock.uptimeMillis(),
                PowerManager.WAKE_REASON_APPLICATION,
                "com.android.systemui:media_tap_to_transfer_activated"
            )
        }

        // Cancel and re-set the chip timeout each time we get a new state.
+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.graphics.drawable.Drawable
import android.graphics.drawable.Icon
import android.media.MediaRoute2Info
import android.os.Handler
import android.os.PowerManager
import android.util.Log
import android.view.ViewGroup
import android.view.WindowManager
@@ -52,6 +53,7 @@ class MediaTttChipControllerReceiver @Inject constructor(
    viewUtil: ViewUtil,
    mainExecutor: DelayableExecutor,
    tapGestureDetector: TapGestureDetector,
    powerManager: PowerManager,
    @Main private val mainHandler: Handler,
    private val uiEventLogger: MediaTttReceiverUiEventLogger,
) : MediaTttChipControllerCommon<ChipReceiverInfo>(
@@ -61,6 +63,7 @@ class MediaTttChipControllerReceiver @Inject constructor(
    viewUtil,
    mainExecutor,
    tapGestureDetector,
    powerManager,
    R.layout.media_ttt_chip_receiver
) {
    private val commandQueueCallbacks = object : CommandQueue.Callbacks {
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.media.taptotransfer.sender
import android.app.StatusBarManager
import android.content.Context
import android.media.MediaRoute2Info
import android.os.PowerManager
import android.util.Log
import android.view.View
import android.view.ViewGroup
@@ -51,6 +52,7 @@ class MediaTttChipControllerSender @Inject constructor(
    viewUtil: ViewUtil,
    @Main mainExecutor: DelayableExecutor,
    tapGestureDetector: TapGestureDetector,
    powerManager: PowerManager,
    private val uiEventLogger: MediaTttSenderUiEventLogger
) : MediaTttChipControllerCommon<ChipSenderInfo>(
    context,
@@ -59,6 +61,7 @@ class MediaTttChipControllerSender @Inject constructor(
    viewUtil,
    mainExecutor,
    tapGestureDetector,
    powerManager,
    R.layout.media_ttt_chip
) {
    private var currentlyDisplayedChipState: ChipStateSender? = null
+8 −4
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import android.content.Context
import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.media.MediaRoute2Info
import android.os.PowerManager
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
@@ -30,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.media.taptotransfer.receiver.ChipReceiverInfo
import com.android.systemui.statusbar.gesture.TapGestureDetector
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.concurrency.FakeExecutor
@@ -71,6 +70,8 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
    private lateinit var viewUtil: ViewUtil
    @Mock
    private lateinit var tapGestureDetector: TapGestureDetector
    @Mock
    private lateinit var powerManager: PowerManager

    @Before
    fun setUp() {
@@ -88,16 +89,17 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
        fakeExecutor = FakeExecutor(fakeClock)

        controllerCommon = TestControllerCommon(
            context, logger, windowManager, viewUtil, fakeExecutor, tapGestureDetector
            context, logger, windowManager, viewUtil, fakeExecutor, tapGestureDetector, powerManager
        )
    }

    @Test
    fun displayChip_chipAddedAndGestureDetectionStarted() {
    fun displayChip_chipAddedAndGestureDetectionStartedAndScreenOn() {
        controllerCommon.displayChip(getState())

        verify(windowManager).addView(any(), any())
        verify(tapGestureDetector).addOnGestureDetectedCallback(any(), any())
        verify(powerManager).wakeUp(any(), any(), any())
    }

    @Test
@@ -281,6 +283,7 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
        viewUtil: ViewUtil,
        @Main mainExecutor: DelayableExecutor,
        tapGestureDetector: TapGestureDetector,
        powerManager: PowerManager
    ) : MediaTttChipControllerCommon<ChipInfo>(
        context,
        logger,
@@ -288,6 +291,7 @@ class MediaTttChipControllerCommonTest : SysuiTestCase() {
        viewUtil,
        mainExecutor,
        tapGestureDetector,
        powerManager,
        R.layout.media_ttt_chip
    ) {
        override fun updateChipView(chipInfo: ChipInfo, currentChipView: ViewGroup) {
+4 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.media.MediaRoute2Info
import android.os.Handler
import android.os.PowerManager
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import android.view.View
@@ -64,6 +65,8 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
    @Mock
    private lateinit var logger: MediaTttLogger
    @Mock
    private lateinit var powerManager: PowerManager
    @Mock
    private lateinit var windowManager: WindowManager
    @Mock
    private lateinit var viewUtil: ViewUtil
@@ -97,6 +100,7 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
            viewUtil,
            FakeExecutor(FakeSystemClock()),
            TapGestureDetector(context),
            powerManager,
            Handler.getMain(),
            receiverUiEventLogger,
        )
Loading