summaryrefslogtreecommitdiff
path: root/apex/media
diff options
context:
space:
mode:
authorJaewan Kim <jaewan@google.com>2020-06-27 04:37:46 +0900
committerJaewan Kim <jaewan@google.com>2020-07-02 10:32:00 +0900
commit5a6696991ff34606aab2a327eb782cae45076682 (patch)
treebf63752abea1d0e3e052082007db20331d20cc1f /apex/media
parent9c71148852068554c191451d05bcc3de23b9fcc0 (diff)
Fix flaky media key event related CTS tests
Media key events had been incorrectly dispatched to the MediaSession2, which is closed from the app side, but MediaSessionService didn't get the notification for it. It may happen if MediaController2 from the MediaSession2 was connecting and also MediaSession2 was closing. This fix ensures that closing session is always propagated to the controller in onConnect(). Test: Run following tests 10 times (previously flaky ~50%) $ atest CtsMediaTestCases:android.media.cts.MediaSessionTest Bug: 159865360 Change-Id: If16f8c665214614961f28f9406225af19fdad1a8
Diffstat (limited to 'apex/media')
-rw-r--r--apex/media/framework/java/android/media/MediaSession2.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/apex/media/framework/java/android/media/MediaSession2.java b/apex/media/framework/java/android/media/MediaSession2.java
index 081e76ab0215..6560afedab0f 100644
--- a/apex/media/framework/java/android/media/MediaSession2.java
+++ b/apex/media/framework/java/android/media/MediaSession2.java
@@ -404,7 +404,7 @@ public class MediaSession2 implements AutoCloseable {
mCallback.onPostConnect(MediaSession2.this, controllerInfo);
connected = true;
} finally {
- if (!connected) {
+ if (!connected || isClosed()) {
if (DEBUG) {
Log.d(TAG, "Rejecting connection or notifying that session is closed"
+ ", controllerInfo=" + controllerInfo);