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

Commit 33b09ade authored by Jaewan Kim's avatar Jaewan Kim Committed by android-build-merger
Browse files

Merge "Fix MediaSessionManager.Callback to be called with the media button session" into oc-dev

am: cadb3054

Change-Id: Ic7d1774707a6ca6ccf1f4921c7db82dcd6b45bbd
parents 4c32e347 cadb3054
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -673,7 +673,7 @@ public class MediaSessionService extends SystemService implements Monitor {
        public void onMediaButtonSessionChanged(MediaSessionRecord oldMediaButtonSession,
                MediaSessionRecord newMediaButtonSession) {
            if (DEBUG_KEY_EVENT) {
                Log.d(TAG, "Media button session will be changed to " + newMediaButtonSession);
                Log.d(TAG, "Media button session is changed to " + newMediaButtonSession);
            }
            synchronized (mLock) {
                if (oldMediaButtonSession != null) {
+10 −9
Original line number Diff line number Diff line
@@ -124,9 +124,7 @@ class MediaSessionStack {
            // When the media button session is removed, nullify the media button session and do not
            // search for the alternative media session within the app. It's because the alternative
            // media session might be a dummy which isn't able to handle the media key events.
            mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
                    mMediaButtonSession, null);
            mMediaButtonSession = null;
            updateMediaButtonSession(null);
        }
        clearCache(record.getUserId());
    }
@@ -163,9 +161,7 @@ class MediaSessionStack {
            MediaSessionRecord newMediaButtonSession =
                    findMediaButtonSession(mMediaButtonSession.getUid());
            if (newMediaButtonSession != mMediaButtonSession) {
                mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
                        mMediaButtonSession, newMediaButtonSession);
                mMediaButtonSession = newMediaButtonSession;
                updateMediaButtonSession(newMediaButtonSession);
            }
        }
    }
@@ -199,9 +195,7 @@ class MediaSessionStack {
                // Found the media button session.
                mAudioPlaybackMonitor.cleanUpAudioPlaybackUids(mediaButtonSession.getUid());
                if (mMediaButtonSession != mediaButtonSession) {
                    mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
                            mMediaButtonSession, mediaButtonSession);
                    mMediaButtonSession = mediaButtonSession;
                    updateMediaButtonSession(mediaButtonSession);
                }
                return;
            }
@@ -262,6 +256,13 @@ class MediaSessionStack {
        return mMediaButtonSession;
    }

    private void updateMediaButtonSession(MediaSessionRecord newMediaButtonSession) {
        MediaSessionRecord oldMediaButtonSession = mMediaButtonSession;
        mMediaButtonSession = newMediaButtonSession;
        mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
                oldMediaButtonSession, newMediaButtonSession);
    }

    public MediaSessionRecord getDefaultVolumeSession() {
        if (mCachedVolumeDefault != null) {
            return mCachedVolumeDefault;