[Media TTT] Add @SystemApis for new states of receiver devices
Adds two new states that indicates if the transfer for receiver is succeeded or failed. (ag/16730985) is a good reference. Bug: 257301489 Test: atest MediaTttChipControllerReceiverTest Change-Id: Ifb1d04c445235fde432b7fd3495114e61c41fd74
This commit is contained in:
@@ -511,10 +511,26 @@ public class StatusBarManager {
|
||||
@SystemApi
|
||||
public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1;
|
||||
|
||||
/**
|
||||
* State indicating that media transfer to this receiver device is succeeded.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 2;
|
||||
|
||||
/**
|
||||
* State indicating that media transfer to this receiver device is failed.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED = 3;
|
||||
|
||||
/** @hide */
|
||||
@IntDef(prefix = {"MEDIA_TRANSFER_RECEIVER_STATE_"}, value = {
|
||||
MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER,
|
||||
MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER,
|
||||
MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED,
|
||||
MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED,
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface MediaTransferReceiverState {}
|
||||
|
||||
@@ -35,6 +35,14 @@ enum class ChipStateReceiver(
|
||||
FAR_FROM_SENDER(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER,
|
||||
MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_FAR_FROM_SENDER
|
||||
),
|
||||
TRANSFER_TO_RECEIVER_SUCCEEDED(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED,
|
||||
MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_SUCCEEDED,
|
||||
),
|
||||
TRANSFER_TO_RECEIVER_FAILED(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED,
|
||||
MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_FAILED,
|
||||
);
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -123,8 +123,8 @@ open class MediaTttChipControllerReceiver @Inject constructor(
|
||||
}
|
||||
uiEventLogger.logReceiverStateChange(chipState)
|
||||
|
||||
if (chipState == ChipStateReceiver.FAR_FROM_SENDER) {
|
||||
removeView(routeInfo.id, removalReason = ChipStateReceiver.FAR_FROM_SENDER.name)
|
||||
if (chipState != ChipStateReceiver.CLOSE_TO_SENDER) {
|
||||
removeView(routeInfo.id, removalReason = chipState.name)
|
||||
return
|
||||
}
|
||||
if (appIcon == null) {
|
||||
|
||||
@@ -34,7 +34,11 @@ enum class MediaTttReceiverUiEvents(val metricId: Int) : UiEventLogger.UiEventEn
|
||||
@UiEvent(doc = "See android.app.StatusBarManager.MEDIA_TRANSFER_RECEIVER_* docs")
|
||||
MEDIA_TTT_RECEIVER_CLOSE_TO_SENDER(982),
|
||||
@UiEvent(doc = "See android.app.StatusBarManager.MEDIA_TRANSFER_RECEIVER_* docs")
|
||||
MEDIA_TTT_RECEIVER_FAR_FROM_SENDER(983);
|
||||
MEDIA_TTT_RECEIVER_FAR_FROM_SENDER(983),
|
||||
@UiEvent(doc = "See android.app.StatusBarManager.MEDIA_TRANSFER_RECEIVER_* docs")
|
||||
MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_SUCCEEDED(1263),
|
||||
@UiEvent(doc = "See android.app.StatusBarManager.MEDIA_TRANSFER_RECEIVER_* docs")
|
||||
MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_FAILED(1264);
|
||||
|
||||
override fun getId() = metricId
|
||||
}
|
||||
|
||||
@@ -192,6 +192,36 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_transferToReceiverSucceeded_noChipShown() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
verify(windowManager, never()).addView(any(), any())
|
||||
assertThat(uiEventLoggerFake.eventId(0)).isEqualTo(
|
||||
MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_SUCCEEDED.id
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_transferToReceiverFailed_noChipShown() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
verify(windowManager, never()).addView(any(), any())
|
||||
assertThat(uiEventLoggerFake.eventId(0)).isEqualTo(
|
||||
MediaTttReceiverUiEvents.MEDIA_TTT_RECEIVER_TRANSFER_TO_RECEIVER_FAILED.id
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_closeThenFar_chipShownThenHidden() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
@@ -213,6 +243,48 @@ class MediaTttChipControllerReceiverTest : SysuiTestCase() {
|
||||
verify(windowManager).removeView(viewCaptor.value)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_closeThenSucceeded_chipShownThenHidden() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
val viewCaptor = ArgumentCaptor.forClass(View::class.java)
|
||||
verify(windowManager).addView(viewCaptor.capture(), any())
|
||||
verify(windowManager).removeView(viewCaptor.value)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_closeThenFailed_chipShownThenHidden() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
StatusBarManager.MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED,
|
||||
routeInfo,
|
||||
null,
|
||||
null
|
||||
)
|
||||
|
||||
val viewCaptor = ArgumentCaptor.forClass(View::class.java)
|
||||
verify(windowManager).addView(viewCaptor.capture(), any())
|
||||
verify(windowManager).removeView(viewCaptor.value)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun commandQueueCallback_closeThenFar_wakeLockAcquiredThenReleased() {
|
||||
commandQueueCallback.updateMediaTapToTransferReceiverDisplay(
|
||||
|
||||
Reference in New Issue
Block a user