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

Commit 0ccc9eef authored by Yiyi Shen's avatar Yiyi Shen
Browse files

[Audiosharing] Handle cancel notification in receiver

Test: atest
Bug: 395786392
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Ib4b8ed3eff1df01819b37be2c1334abeae00ea2c
parent 9fb0e28b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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());
        }
+16 −0
Original line number Diff line number Diff line
@@ -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<BroadcastReceiver> receiversForIntent =