diff options
author | Kausik Sinnaswamy <kausik@broadcom.com> | 2012-03-21 15:14:32 +0530 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-07-16 21:50:40 -0700 |
commit | 93f548ff8560bdecdc4bdd2f91f7dacda1e6bbc3 (patch) | |
tree | f009b5b83b93b111599445976b79378cbb7e81bf /jni/com_android_bluetooth_a2dp.cpp | |
parent | 345d21b0575a4b866bfc9ccfde9c654e7b859ac6 (diff) | |
download | android_packages_apps_Bluetooth-93f548ff8560bdecdc4bdd2f91f7dacda1e6bbc3.tar.gz android_packages_apps_Bluetooth-93f548ff8560bdecdc4bdd2f91f7dacda1e6bbc3.tar.bz2 android_packages_apps_Bluetooth-93f548ff8560bdecdc4bdd2f91f7dacda1e6bbc3.zip |
Caching callbackEnv in HFP/A2DP JNI results in the ENV going out-of-syn after an disassociate_evt/associate_evt sequence. Removed the caching.
Change-Id: Iebe3d2b3fa632c3332be82291bf32ace62c30ad5
Diffstat (limited to 'jni/com_android_bluetooth_a2dp.cpp')
-rw-r--r-- | jni/com_android_bluetooth_a2dp.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/jni/com_android_bluetooth_a2dp.cpp b/jni/com_android_bluetooth_a2dp.cpp index 0edf4b46a..ebc23a5a8 100644 --- a/jni/com_android_bluetooth_a2dp.cpp +++ b/jni/com_android_bluetooth_a2dp.cpp @@ -20,9 +20,13 @@ static jobject mCallbacksObj = NULL; static JNIEnv *sCallbackEnv = NULL; static bool checkCallbackThread() { - if (sCallbackEnv == NULL) { - sCallbackEnv = getCallbackEnv(); - } + // Always fetch the latest callbackEnv from AdapterService. + // Caching this could cause this sCallbackEnv to go out-of-sync + // with the AdapterService's ENV if an ASSOCIATE/DISASSOCIATE event + // is received + //if (sCallbackEnv == NULL) { + sCallbackEnv = getCallbackEnv(); + //} JNIEnv* env = AndroidRuntime::getJNIEnv(); if (sCallbackEnv != env || sCallbackEnv == NULL) return false; |