448309eada01c130b2fee8977f7fd74875978cbc |
|
06-Apr-2018 |
Jack He <siyuanh@google.com> |
HFP: Fix AG indicator update for Multi-HFP * Keep AG indicator subscription when at least one HFP device is connected * Respect AT+BIA commands by turnning indicator subscription on and off Bug: 77655992 Test: make, HeadsetPhoneStateTest, HeadsetStateMachineTest Change-Id: Ifa4a1c2f730b286f4f8d35fdec92e37f05f02b67 (cherry picked from commit 53f33f4b5221ca9ca9f41588b25861bfe300f3c7)
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
67ccceab9600aaeec6dc34658c45c074de39aa38 |
|
28-Nov-2017 |
Jack He <siyuanh@google.com> |
HFP: Add support for Multi-HFP (1/2) * Create one HeadsetStateMachine for each HFP/HSP device during the following event: - CONNECT request sent from API - CONNECTION_STATE_CHANGED event from stack * Use a HashMap to manage these state machines * Removed synchronized label for methods in HeadsetService because state machines are lazy initialized instead of being created in the beginning * Remove code in HeadsetStateMachine that used to deal with multiple headset devices. Instead, move these logic to HeadsetService * System state update is sent to one device at a time from the Java layer and updates from HFP/HSP devices are synced among them * SCO audio is restricted to one device at a time * In-band ringtone is disabled when multiple devices are connected * Audio paramters are device specific and are cached within each device's state machine. It is only set to the audio framework in AudioOn state * Reject connection request when number of connections goes above limit * Added unit tests for HeadsetService to test multi-device scenario * Add HeadsetObjectsFactory to ease mocking during unit tests Bug: 68952570 Test: runtest -j40 bluetooth, native unit tests, HFP regression for 1 device, simple tests for multiple devices Change-Id: Id22c5cbddfc4f9f95e35f035fcab6c4a5d797ebf
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
1f7304a0df9fa7e1ccee0cd9a61933a0f9be3e8c |
|
06-Jan-2018 |
Jack He <siyuanh@google.com> |
HFP: Add isInbandRingingEnabled() API (2/4) * Use BluetoothHeadset.isInbandRingingEnabled() API to check whether in-band ringing is currently enabled in the system when deciding on audio routes for ringtone * Implement this API in Bluetooth.apk by checking both: 1. Whether in-band ringing is supported on this platform 2. Whether in-band ringing is enabled by system properties * The actual implementation may change in the future to reflect the actual state of in-band ringing as the HFP stack evolves Bug: 71646213 Test: make, toggle in-band ringing from Development Settings and observe whether Telecom service tries to open SCO when there is an incoming call Change-Id: I8e41993632e0f42b5c65df7037d3eae4586b062f
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
37bdea3793773250d6cfa7e8eff1065f159d3d2c |
|
07-Dec-2017 |
Jack He <siyuanh@google.com> |
HFP: Add APIs for set and get active device (2/3) 1. Call BluetoothHeadset.setActiveDevice(BluetoothDevice device) to set a connected HFP/HSP device as active. 2. Listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intent that will contain the latest active device (in EXTRA_DEVICE field). If the active device could not be changed, the EXTRA_DEVICE field could be null. 3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice() can be used. If setActiveDevice() is in-progress, the result is undefined. 4. BluetoothHeadset.setActiveDevice() could be called by some other parts of the system, so interested parties should always listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared for active device updates. Bug: 68951996 Test: runtest -j40 bluetooth Change-Id: I4471a35aa17f369bef49fbdb6f3ccaee393013b9
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
f9a5f7d045fab365c03a4c6cf577b3e92bbfda07 |
|
15-Dec-2017 |
Jack He <siyuanh@google.com> |
HFP: Use objects for shared library interface and callbacks (2/2) * Declare bluetooth::headset::Interface and bluetooth::headset::Callbacks instead of using structs * Rename methods into CamelStyle according to Google C++ style guide * These classes can be mocked during test to isolate behaviors * Replaced NULL with nulltpr * Added more logging for connection and audio state callback in JNI Bug: 70538124 Test: unit tests, testplans/135585 Change-Id: Ic62f143a5cd8c0f3f459d109d10b692a00d7a5af
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
1c0b19d06b9dc40e8335c8332853333b2a678041 |
|
04-Dec-2017 |
Jack He <siyuanh@google.com> |
HFP: Add method to disable inband ringing through BSIR (2/2) * Add sendBsir(boolean, BluetoothDevice) to turn in-band ringtone feature ON and OFF dynamically during a service level connection with a headset * Added missing mutex lock in native interface as well Bug: 70173881 Test: make Change-Id: I5e0744367c07d0448c72ce15fa6f60ffbd5f4995
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
b84959643bd2a986eb55f27e5d0c840728b18cee |
|
07-Dec-2017 |
Jack He <siyuanh@google.com> |
HFP: Remove dead code in HFP profile The following hidden API methods are not implemented by the stack and should be removed: - getBatteryUsageHint() - acceptIncomingConnect() - rejectIncomingConnect() The following hidden API methods are no longer needed due to lack of usage and should be removed: - enableWBS() - disableWBS() - bindResponse() Bug: 70336991 Test: make Change-Id: I84c5555879597857a45f370d8de82d67cbd4e379
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
0420b4fe3c7794139218821fab49f7f149d0075e |
|
08-Nov-2017 |
Jack He <siyuanh@google.com> |
Extract dependencies for HeadsetStateMachine * Isolated JNI native interface in a separate class HeadsetNativeInterface so that is can be mocked when testing HeadsetStateMachine * Moved HeadsetStateMachine.StackEvent out as HeadsetStackEvent * Restructured create(), start(), stop() and cleanup() methods in HeadsetService to create looper from a handler thread instead of using looper from main thread * Added Javadoc to create, start, stop, and cleanup methods in ProfileService Bug: 69005831 Test: runtest -j40 bluetooth Change-Id: I7f68f734281415290ca5ca7fab8b20a6ee4a59fc
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
cb39925dbd2f38b2769f7b9ff4912627f500fe74 |
|
25-Jun-2017 |
Jakub Pawlowski <jpawlowski@google.com> |
Rename bt_bdaddr_t into RawAddress (2/3) Test: compilation test Change-Id: I8b334c77a96ea29d58b1e4cf176e0a941b74d2b9
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
a86dc0fbdd99227e8ed07af1e3a9c11c1eb39e6f |
|
19-Apr-2017 |
Zach Johnson <zachoverflow@google.com> |
Publish AG audio route policy to native layers Bug: 32958838 Test: manual Change-Id: I97ec6e38b4f3243548732d2af644d6f0ad894e97
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
273651938dbc9bab838945f1524fb588699419c7 |
|
28-May-2017 |
Pavlin Radoslavov <pavlin@google.com> |
Add mutex-based protection mechanism to the HFP JNI layer The protection mechanism is needed to avoid a race condition during graceful cleaning up of the Bluetooth Handsfree Interface when Bluetooth is disabled, and native upcalls like connection_state_callback() Bug: 62116636 Test: manual Change-Id: I6be4c0bd996beca5252e881c55279ea4f7503e7b
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
6eac09b725ed509b26e8f49d8442426f7816953a |
|
09-Nov-2016 |
Jack He <siyuanh@google.com> |
Check support for in-band ringing during HFP init * Check in-band ringing support for this platform during HFP init Bug: 19171297 Test: mm -j 40, HFP regression testing, testplans/82144 Change-Id: I5a90b2218b0dc15eb92f32bf9b4ed3ff3b01980b
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
2116dbf94fbc00da999ac629c78627983f599a26 |
|
17-Mar-2017 |
Andre Eisenbach <eisenbach@google.com> |
Revert "jni: introduce ScopedBtAddr" Causes crash on Fugu. Reverting for now until further investigation. This reverts commit 2b233628767c0bf6ff21ae2acdeada8bea94e583. Change-Id: I21daf6b75312695d7ccb83ae603aaeffc3c9e770
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
2b233628767c0bf6ff21ae2acdeada8bea94e583 |
|
15-Feb-2017 |
Marie Janssen <jamuraa@google.com> |
jni: introduce ScopedBtAddr ScopedBtAddr handles marshalling bt_bdaddr_t into jbyteArrays so we don't have to. It also complains when it can't allocate things and deletes the local reference when it goes out of scope. Test: compiles, sanity tests with various profiles Change-Id: I78a6364cc5cac0e8664d2d04388a6e2ac4c7a58f
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
479b34835a560d032e211c3c27e10384af69c3b9 |
|
11-Oct-2016 |
Marie Janssen <jamuraa@google.com> |
jni: use ScopedLocalRef where possible RAII simplifies code paths and eliminates errors. Test: mma -j40, sanity testing on devices Change-Id: I278f91445217c898a868b8328549c080d7123dbb
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
dbd48b5fbeb449c31c92cbe8565db5e8f74c41e6 |
|
06-Dec-2016 |
Marie Janssen <jamuraa@google.com> |
JNI: clang-format code Add clang-format file. Add PREUPLOAD to check newly uploaded code. clang-format --style=file jni/*.cpp Test: mma -j37 Change-Id: I76bc67f7e69ac374f82d6c5d9745657f31dccdae
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
ae15d3d42fcb3349c11d394423493020e78c5f43 |
|
30-Nov-2016 |
Marie Janssen <jamuraa@google.com> |
JNI: style cleanup Beginning of style cleanup: - no assigns in conditionals - move declarations closer to first use - replace __FUNCTION__ with __func__ - remove unnecessary gotos Test: mma && manual sanity tests Change-Id: I7f8fca01dd57f57538b71fe7d7753fffe1de4d00
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
fe37710d689b7573ddeb901141db42c28b6cab39 |
|
12-Oct-2016 |
Marie Janssen <jamuraa@google.com> |
jni: Use RAII to manage callback environment CallbackEnv is a new RAII object which: - Retrieves the callback environment when instantiated - Clears exceptions when it goes out of scope - Centralizes checks that we are in the correct environment It can be used the same as a pointer to JNIEnv with the -> operator and the JNIEnv pointer can be retrieved with get(); Test: basic functionality tests Change-Id: I004f2655e2e02847782fec794faa62da85c85d49
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
003ef8ff43533b17d1b7f0d4d9c5eaf2fe3496bb |
|
29-Feb-2016 |
Mudumba Ananth <ananthm%broadcom.com@gtempaccount.com> |
HFP 1.7 profile update (4/4) -> Added HF Indicator support. -> Sent a Broadcast intent upon receiving AT + BIND and AT + BIEV Events with the required parameters -> Support for sending +BIND response on indicator status change Bug: 19983867 Change-Id: I2580fc771080f1bc92fc4ddd5ca7c7cb57773183 (cherry picked from commit 2ab50a41dac634a78cef60a419c3bcc848c1aa78)
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
7b0fee2bccb630e4b9f93ee29f474c7aa89a28f9 |
|
23-Feb-2016 |
Aurimas Liutikas <aurimas@google.com> |
Fix warnings in packages/apps/Bluetooth Bug: 27301103 Change-Id: I5eec4610f64af4191f64e946122623b6fe222b92
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
b6132733b6e386cc8c93b5598c72ed8efe04bf3e |
|
28-Apr-2014 |
Matthew Xie <mattx@google.com> |
Add WBS support on Bluedroid (5/6) Bug 13764086 Change-Id: Ib6c5d5f4321006ce1a35045907618abc417e6352
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
69d4ca45a25e86823fbdb754ca6a3995f8131d59 |
|
15-Mar-2014 |
Nitin Srivastava <nitinsr@codeaurora.org> |
Multi HF support 1. Added support for Multi HF connections in Bluetooth application. 2. All connection transition states for 2nd HS onwards is handled in new state- MultiHFPending. 3. The changes are done to handle proper state transition for all connected HS. Change-Id: I033ae57943e50273f9d3cac4c5f8d1624cb9ee09
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
ede67c26e7b2564ea35db6d9b3027a269c150e13 |
|
24-Oct-2012 |
Zhihai Xu <zhihaixu@google.com> |
License of files Bluetooth package is not updated to ASL2 bug 7385618 Change-Id: I338fd87083387706f3b5f410c9592219bb8a1acb
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
976912e5f597f015754aa67f2a74040e27f58eab |
|
23-Aug-2012 |
Syed Ibrahim M <syedibra@broadcom.com> |
Fix for BT crash during CPBR AT cmd processing Delete the local reference of jstring objects during every callback for unknown AT command and dial command after JNI calls the Java methods. Bug 7044655 Change-Id: I21792b95fbad37c488ec5a1a30521a5413192751
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
c55a9837c004044051b71bb47182ace156691283 |
|
07-Apr-2012 |
Matthew Xie <mattx@google.com> |
replace logx with alogx Change-Id: Iec82cb4545bb26a8aa55dc7d473247396b9fd6e1 Conflicts: jni/com_android_bluetooth_hid.cpp
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
e469f16e5a7d99471d7db1b216d422e8d12cc4cf |
|
06-Jun-2012 |
Matthew Xie <mattx@google.com> |
matt: my fix to get it compile, change logx to alogx, and etc Change-Id: I0b361ad6ba9a5f6ac4db9203a389ee309b04019a
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
405b6148a168c05f9c9eac6a80db68b9a58392e2 |
|
27-Apr-2012 |
Sreenidhi T <nidhit@broadcom.com> |
Added AT+CPBR support Change-Id: Ice860d8f97350d805a5478e94a27ae19cf42dafd
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
bbbfba6398ac613896a4456fae1c9bf909c28bf2 |
|
18-Apr-2012 |
Ravi Nagarajan <nravi@broadcom.com> |
Handle the scenario where the phone number is empty. CLCC should not send number & type if number is NULL Change-Id: I5a5bde4f1493d05f02ea9246e36b5d849e96bef2
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
6654f5c903de510a70f9e72cd5ad7837b615d93f |
|
12-Apr-2012 |
fredc <fredc@broadcom.com> |
Non persistent adapter service Change-Id: I65e1c18e2899cea0a1e5c0102c4d24d39dce0249 Conflicts: jni/com_android_bluetooth_hdp.cpp jni/com_android_bluetooth_hid.cpp Conflicts: jni/com_android_bluetooth_hid.cpp
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
676cb1bdd1c14c7af56562bab51f168e7f8f6d62 |
|
23-Mar-2012 |
Matthew Xie <mattx@google.com> |
Initial implementation of hdp service and jni Change-Id: Ieca906080835098383cabbc13fa914363459f555
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
93f548ff8560bdecdc4bdd2f91f7dacda1e6bbc3 |
|
21-Mar-2012 |
Kausik Sinnaswamy <kausik@broadcom.com> |
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
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|
6c91bc0a163cc7600c40d7fb979777fd911d1ef1 |
|
17-Feb-2012 |
Matthew Xie <mattx@google.com> |
Initial implementation of HFP and A2DP profile/service/statemachine. Change-Id: Ic6e6d358b94313f237b7be61b70dcc6f4f7902e7
/packages/apps/Bluetooth/jni/com_android_bluetooth_hfp.cpp
|