diff options
author | Gaurav Asati <gasati@codeaurora.org> | 2014-11-04 19:07:45 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:25:41 -0600 |
commit | 9aa4ca7ab542b8ac306396eddf387e35e39cec3a (patch) | |
tree | afdf230c171e79fbdd8f25cbb10ba0e4aed6226f /jni | |
parent | 6d58ab27c66e1343f11118fc0f371a582cfe21f8 (diff) | |
download | android_packages_apps_Bluetooth-9aa4ca7ab542b8ac306396eddf387e35e39cec3a.tar.gz android_packages_apps_Bluetooth-9aa4ca7ab542b8ac306396eddf387e35e39cec3a.tar.bz2 android_packages_apps_Bluetooth-9aa4ca7ab542b8ac306396eddf387e35e39cec3a.zip |
Bluetooth: Disconnect SCO for In-Band Ringtone.
-Disconnect SCO when remote sends RING indication
even after disabling in-band ringtone.
Change-Id: I6955de8a7dd192aea492b768dd80343a32ca1cc0
CRs-Fixed: 751075
Bluetooth : Stop the ring when HS disconnects.
This change makes sure that Ring is stopped
when HF is disconnected.
Change-Id: I3e150089ad799133101f9466f5c7aa042a1e600e
CRs-Fixed: 748283
Bluetooth: Abandon Audio Focus.
- After call is rejected by user abandon
audio focus.
- When audio focus abandonment is delayed
A2dp sink cannot resume.
Change-Id: I5a02b639427e711ac695f551469261549a62797e
Add support for AT+CGMI and AT+CGMM
Added support for AT+CGMI and AT+CGMM commands. AT+CGMI gets
the AG manufacturer identifacation. AT+CGMM gets the AG
manufacturer model. The information is broadcasted as strings.
CRs-fixed: 844824
Change-Id: I9d53e378f6651ee0afd94b5525189c17cfeffa76
Diffstat (limited to 'jni')
-rw-r--r-- | jni/com_android_bluetooth_hfpclient.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/jni/com_android_bluetooth_hfpclient.cpp b/jni/com_android_bluetooth_hfpclient.cpp index 62133ebe0..6c6927cb2 100644 --- a/jni/com_android_bluetooth_hfpclient.cpp +++ b/jni/com_android_bluetooth_hfpclient.cpp @@ -56,6 +56,8 @@ static jmethodID method_onSubscriberInfo; static jmethodID method_onInBandRing; static jmethodID method_onLastVoiceTagNumber; static jmethodID method_onRingIndication; +static jmethodID method_onCgmi; +static jmethodID method_onCgmm; static bool checkCallbackThread() { // Always fetch the latest callbackEnv from AdapterService. @@ -251,6 +253,28 @@ static void ring_indication_cb () { checkAndClearExceptionFromCallback(sCallbackEnv, __FUNCTION__); } +static void cgmi_cb (const char *str) { + jstring js_manf_id; + + CHECK_CALLBACK_ENV + + js_manf_id = sCallbackEnv->NewStringUTF(str); + sCallbackEnv->CallVoidMethod(mCallbacksObj, method_onCgmi, js_manf_id); + checkAndClearExceptionFromCallback(sCallbackEnv, __FUNCTION__); + sCallbackEnv->DeleteLocalRef(js_manf_id); +} + +static void cgmm_cb (const char *str) { + jstring js_manf_model; + + CHECK_CALLBACK_ENV + + js_manf_model = sCallbackEnv->NewStringUTF(str); + sCallbackEnv->CallVoidMethod(mCallbacksObj, method_onCgmm, js_manf_model); + checkAndClearExceptionFromCallback(sCallbackEnv, __FUNCTION__); + sCallbackEnv->DeleteLocalRef(js_manf_model); +} + static bthf_client_callbacks_t sBluetoothHfpClientCallbacks = { sizeof(sBluetoothHfpClientCallbacks), connection_state_cb, @@ -274,6 +298,8 @@ static bthf_client_callbacks_t sBluetoothHfpClientCallbacks = { in_band_ring_cb, last_voice_tag_number_cb, ring_indication_cb, + cgmi_cb, + cgmm_cb, }; static void classInitNative(JNIEnv* env, jclass clazz) { @@ -299,6 +325,8 @@ static void classInitNative(JNIEnv* env, jclass clazz) { method_onLastVoiceTagNumber = env->GetMethodID(clazz, "onLastVoiceTagNumber", "(Ljava/lang/String;)V"); method_onRingIndication = env->GetMethodID(clazz, "onRingIndication","()V"); + method_onCgmi = env->GetMethodID(clazz, "onCgmi","(Ljava/lang/String;)V"); + method_onCgmm = env->GetMethodID(clazz, "onCgmm","(Ljava/lang/String;)V"); ALOGI("%s succeeds", __FUNCTION__); } |