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;