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) {