From 4312f7784bc9daefbac4be881c51f79408508c7f Mon Sep 17 00:00:00 2001 From: Hyundo Moon Date: Wed, 23 Jan 2019 16:27:05 +0900 Subject: [PATCH] Set MediaSession.mCallback as non-null when a callback is set In order to avoid regression, this CL sets a dummy object to MediaSession.mCallback when a callback is set. Since the previous versions of MediaSessionCompat checks the nullity of mCallback by reflection, this needs to be set. This was slipped in previous merged CL "3ff5777: Introduce MediaSessionEngine". Bug: 119749862 Test: make -j; Change-Id: Iea12a77e7edd51ef3cee7e83c057f39e5528c3b6 --- media/java/android/media/session/MediaSession.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java index eda913e50cfa6..5ca6b617f575f 100644 --- a/media/java/android/media/session/MediaSession.java +++ b/media/java/android/media/session/MediaSession.java @@ -116,7 +116,7 @@ public final class MediaSession { private final MediaSessionEngine mImpl; - // Do not change the name of mCallbackWrapper. Support lib accesses this by using reflection. + // Do not change the name of mCallback. Support lib accesses this by using reflection. @UnsupportedAppUsage private Object mCallback; @@ -160,6 +160,7 @@ public final class MediaSession { * @param callback The callback object */ public void setCallback(@Nullable Callback callback) { + mCallback = callback == null ? null : new Object(); mImpl.setCallback(callback); } @@ -173,6 +174,7 @@ public final class MediaSession { * @param handler The handler that events should be posted on. */ public void setCallback(@Nullable Callback callback, @Nullable Handler handler) { + mCallback = callback == null ? null : new Object(); mImpl.setCallback(callback, handler); }