Allocate CallbacksObj Before Initializing A2DP JNI Interface

Bug: 31016704
Change-Id: If3dd4fdbc92e1420bc60910c39771aa549ac5dab
diff --git a/jni/com_android_bluetooth_a2dp.cpp b/jni/com_android_bluetooth_a2dp.cpp
index b621ce4..2b4cb56 100644
--- a/jni/com_android_bluetooth_a2dp.cpp
+++ b/jni/com_android_bluetooth_a2dp.cpp
@@ -131,6 +131,11 @@
          mCallbacksObj = NULL;
     }
 
+    if ((mCallbacksObj = env->NewGlobalRef(object)) == NULL) {
+        ALOGE("Failed to allocate Global Ref for A2DP Callbacks");
+        return;
+    }
+
     if ( (sBluetoothA2dpInterface = (btav_interface_t *)
           btInf->get_profile_interface(BT_PROFILE_ADVANCED_AUDIO_ID)) == NULL) {
         ALOGE("Failed to get Bluetooth A2DP Interface");
@@ -142,8 +147,6 @@
         sBluetoothA2dpInterface = NULL;
         return;
     }
-
-    mCallbacksObj = env->NewGlobalRef(object);
 }
 
 static void cleanupNative(JNIEnv *env, jobject object) {