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

Commit 9661a45d authored by Jaewan Kim's avatar Jaewan Kim
Browse files

Exclude MediaSession2 from the media button session

This prevents unexpected Session2Token change notification when
the MediaSession2 token is selected as media button session.

Bug: 160136629
Test: Run CTS
Change-Id: I68650564fbbdaf3f3e85d41f3989cc8b08c36322
parent 9c711488
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2096,7 +2096,7 @@ public class MediaSessionService extends SystemService implements Monitor {
                boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
                boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
            if (mCurrentFullUserRecord.getMediaButtonSessionLocked()
            if (mCurrentFullUserRecord.getMediaButtonSessionLocked()
                    instanceof MediaSession2Record) {
                    instanceof MediaSession2Record) {
                // TODO(jaewan): Implement
                // TODO(jaewan): Make MediaSession2 to receive media key event
                return;
                return;
            }
            }
            MediaSessionRecord session = null;
            MediaSessionRecord session = null;
+4 −0
Original line number Original line Diff line number Diff line
@@ -244,6 +244,10 @@ class MediaSessionStack {
    private MediaSessionRecordImpl findMediaButtonSession(int uid) {
    private MediaSessionRecordImpl findMediaButtonSession(int uid) {
        MediaSessionRecordImpl mediaButtonSession = null;
        MediaSessionRecordImpl mediaButtonSession = null;
        for (MediaSessionRecordImpl session : mSessions) {
        for (MediaSessionRecordImpl session : mSessions) {
            if (session instanceof MediaSession2Record) {
                // TODO(jaewan): Make MediaSession2 to receive media key event
                continue;
            }
            if (uid == session.getUid()) {
            if (uid == session.getUid()) {
                if (session.checkPlaybackActiveState(
                if (session.checkPlaybackActiveState(
                        mAudioPlayerStateMonitor.isPlaybackActive(session.getUid()))) {
                        mAudioPlayerStateMonitor.isPlaybackActive(session.getUid()))) {