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

Commit 1da0782b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Catch if an invalid constant is sent" into tm-dev am: 8c3195cb am: 7c6c22db

parents a0c6fe47 7c6c22db
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.media.taptotransfer.receiver

import android.app.StatusBarManager
import android.util.Log
import com.android.internal.logging.UiEventLogger

/**
@@ -25,15 +26,15 @@ import com.android.internal.logging.UiEventLogger
 */
enum class ChipStateReceiver(
    @StatusBarManager.MediaTransferSenderState val stateInt: Int,
    val uiEvent: UiEventLogger.UiEventEnum,
    val uiEvent: UiEventLogger.UiEventEnum
) {
    CLOSE_TO_SENDER(
        StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER,
        MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_CLOSE_TO_SENDER,
        MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_CLOSE_TO_SENDER
    ),
    FAR_FROM_SENDER(
        StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER,
        MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_FAR_FROM_SENDER,
        MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_FAR_FROM_SENDER
    );

    companion object {
@@ -43,8 +44,13 @@ enum class ChipStateReceiver(
         */
        fun getReceiverStateFromId(
            @StatusBarManager.MediaTransferReceiverState displayState: Int
        ) : ChipStateReceiver = values().first { it.stateInt == displayState }

        ): ChipStateReceiver? =
        try {
            values().first { it.stateInt == displayState }
        } catch (e: NoSuchElementException) {
            Log.e(TAG, "Could not find requested state $displayState", e)
            null
        }

        /**
         * Returns the state int from [StatusBarManager] associated with the given sender state
@@ -56,3 +62,5 @@ enum class ChipStateReceiver(
        fun getReceiverStateIdFromName(name: String): Int = valueOf(name).stateInt
    }
}

private const val TAG = "ChipStateReceiver"
+13 −1
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
            TapGestureDetector(context),
            powerManager,
            Handler.getMain(),
            receiverUiEventLogger,
            receiverUiEventLogger
        )

        val callbackCaptor = ArgumentCaptor.forClass(CommandQueue.Callbacks::class.java)
@@ -206,6 +206,18 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
        assertThat(chipView.getAppIconView().measuredHeight).isEqualTo(expectedSize)
    }

    @Test
    fun commandQueueCallback_invalidStateParam_noChipShown() {
        commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
            StatusBarManager.MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED,
            routeInfo,
            null,
            APP_NAME
        )

        verify(windowManager, never()).addView(any(), any())
    }

    private fun getChipView(): ViewGroup {
        val viewCaptor = ArgumentCaptor.forClass(View::class.java)
        verify(windowManager).addView(viewCaptor.capture(), any())