From 9452bb9fe40d4c4b4354aaae0202cf85f7fe45f1 Mon Sep 17 00:00:00 2001
From: Santiago Seifert <aquilescanta@google.com>
Date: Mon, 7 Aug 2023 16:15:39 +0000
Subject: [PATCH] Remove callback upon MediaSession#release

This change prevents all callbacks from MediaSession after
the app calls MediaSession#release. Concretely, this change
fixes flakiness in MediaControllerTest, where the callback
implementation tries to access the media session after its
corresponding field has been set to null.

Bug: 294178159
Test: atest CtsMediaBetterTogetherTestCases
Change-Id: I112fa5df6aafdb2774ed65c2d08ab1eb680e6b47
---
 media/java/android/media/session/MediaSession.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index 29e8716f08ac..cda919f14bc6 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -442,6 +442,7 @@ public final class MediaSession {
      * but it must be released if your activity or service is being destroyed.
      */
     public void release() {
+        setCallback(null);
         try {
             mBinder.destroySession();
         } catch (RemoteException e) {
-- 
GitLab