Merge "Catch if an invalid constant is sent" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8c3195cb27
@@ -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"
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user