From 9661a45db0b81af56fc7773ce40c8a9f2892ab50 Mon Sep 17 00:00:00 2001 From: Jaewan Kim Date: Tue, 30 Jun 2020 14:58:43 +0900 Subject: [PATCH] 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 --- .../java/com/android/server/media/MediaSessionService.java | 2 +- .../core/java/com/android/server/media/MediaSessionStack.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 242132c8e5ff4..dc86163ae1311 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -2096,7 +2096,7 @@ public class MediaSessionService extends SystemService implements Monitor { boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) { if (mCurrentFullUserRecord.getMediaButtonSessionLocked() instanceof MediaSession2Record) { - // TODO(jaewan): Implement + // TODO(jaewan): Make MediaSession2 to receive media key event return; } MediaSessionRecord session = null; diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java index 402355a0161ac..b678c8962a219 100644 --- a/services/core/java/com/android/server/media/MediaSessionStack.java +++ b/services/core/java/com/android/server/media/MediaSessionStack.java @@ -244,6 +244,10 @@ class MediaSessionStack { private MediaSessionRecordImpl findMediaButtonSession(int uid) { MediaSessionRecordImpl mediaButtonSession = null; for (MediaSessionRecordImpl session : mSessions) { + if (session instanceof MediaSession2Record) { + // TODO(jaewan): Make MediaSession2 to receive media key event + continue; + } if (uid == session.getUid()) { if (session.checkPlaybackActiveState( mAudioPlayerStateMonitor.isPlaybackActive(session.getUid()))) {