MediaSessionCompat: Fix hasCallback

The field name of CallbackMessageHandler instance in MediaSession
was changed from "mCallback" to "mCallbackHandler".

Bug: 72979099
Test: Passed version-compat-tests
Change-Id: I0fdc69aecd29832afe631dde5fd351d9caaba1e9
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;