Merge "MediaSessionCompat: Fix hasCallback"
diff --git a/media-compat/api21/android/support/v4/media/session/MediaSessionCompatApi21.java b/media-compat/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
index 698e37d..624637a 100644
--- a/media-compat/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
+++ b/media-compat/api21/android/support/v4/media/session/MediaSessionCompatApi21.java
@@ -31,6 +31,7 @@
import android.os.Parcelable;
import android.os.ResultReceiver;
import android.support.annotation.RequiresApi;
+import android.support.v4.os.BuildCompat;
import android.util.Log;
import java.lang.reflect.Field;
@@ -140,8 +141,9 @@
public static boolean hasCallback(Object sessionObj) {
Field callbackField = null;
+ String callbackFieldName = BuildCompat.isAtLeastP() ? "mCallbackHandler" : "mCallback";
try {
- callbackField = sessionObj.getClass().getDeclaredField("mCallback");
+ callbackField = sessionObj.getClass().getDeclaredField(callbackFieldName);
if (callbackField != null) {
callbackField.setAccessible(true);
return callbackField.get(sessionObj) != null;