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

Commit d16663cd authored by Joseph Pirozzo's avatar Joseph Pirozzo
Browse files

AVRCP Controller audio focus while browsing.

Upon receiving a request to play a media item via browsing, request
focus before sending the play request.

Bug: 110111397
Test: select browsable item, verify focus request.
Change-Id: I69b4843cb536ea0967cd65c0afa8fc97e9ba25d8
parent 126ae202
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -289,6 +289,9 @@ public class BluetoothMediaBrowserService extends MediaBrowserService {
        @Override
        @Override
        public void onSkipToQueueItem(long id) {
        public void onSkipToQueueItem(long id) {
            if (DBG) Log.d(TAG, "onSkipToQueueItem" + id);
            if (DBG) Log.d(TAG, "onSkipToQueueItem" + id);
            if (mA2dpSinkService != null) {
                mA2dpSinkService.requestAudioFocus(mA2dpDevice, true);
            }
            MediaSession.QueueItem queueItem = mMediaQueue.get((int) id);
            MediaSession.QueueItem queueItem = mMediaQueue.get((int) id);
            if (queueItem != null) {
            if (queueItem != null) {
                String mediaId = queueItem.getDescription().getMediaId();
                String mediaId = queueItem.getDescription().getMediaId();
@@ -331,6 +334,9 @@ public class BluetoothMediaBrowserService extends MediaBrowserService {
        public void onPlayFromMediaId(String mediaId, Bundle extras) {
        public void onPlayFromMediaId(String mediaId, Bundle extras) {
            synchronized (BluetoothMediaBrowserService.this) {
            synchronized (BluetoothMediaBrowserService.this) {
                // Play the item if possible.
                // Play the item if possible.
                if (mA2dpSinkService != null) {
                    mA2dpSinkService.requestAudioFocus(mA2dpDevice, true);
                }
                mAvrcpCtrlSrvc.fetchAttrAndPlayItem(mA2dpDevice, mediaId);
                mAvrcpCtrlSrvc.fetchAttrAndPlayItem(mA2dpDevice, mediaId);
            }
            }