diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java index 43f6a5eaf82..c070e6ce0fc 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java @@ -141,6 +141,12 @@ public class AudioSharingReceiver extends BroadcastReceiver { showAddSourceNotification(context, device); } break; + case ACTION_LE_AUDIO_SHARING_CANCEL_NOTIF: + int notifId = intent.getIntExtra(EXTRA_NOTIF_ID, -1); + if (notifId != -1) { + cancelSharingNotification(context, notifId); + } + break; default: Log.w(TAG, "Received unexpected intent " + intent.getAction()); } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java index 9bda070dc40..6b8ec727a1c 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java @@ -82,6 +82,9 @@ import java.util.stream.Collectors; public class AudioSharingReceiverTest { private static final String ACTION_LE_AUDIO_SHARING_STOP = "com.android.settings.action.BLUETOOTH_LE_AUDIO_SHARING_STOP"; + private static final String ACTION_LE_AUDIO_SHARING_CANCEL_NOTIF = + "com.android.settings.action.BLUETOOTH_LE_AUDIO_SHARING_CANCEL_NOTIF"; + private static final String EXTRA_NOTIF_ID = "NOTIF_ID"; private static final String TEST_DEVICE_NAME = "test"; @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); @@ -343,6 +346,19 @@ public class AudioSharingReceiverTest { any(Notification.class)); } + @Test + @EnableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING) + public void broadcastReceiver_receiveAudioSharingCancelNotif_cancel() { + Intent intent = new Intent(ACTION_LE_AUDIO_SHARING_CANCEL_NOTIF); + intent.setPackage(mContext.getPackageName()); + intent.putExtra(EXTRA_NOTIF_ID, + com.android.settings.R.string.share_audio_notification_title); + AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent); + audioSharingReceiver.onReceive(mContext, intent); + + verify(mNm).cancel(com.android.settings.R.string.share_audio_notification_title); + } + private AudioSharingReceiver getAudioSharingReceiver(Intent intent) { assertThat(mShadowApplication.hasReceiverForIntent(intent)).isTrue(); List receiversForIntent =