History log of /packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dedebbfb6eb1af92f013dedd234c2162cc2ec4be 09-Oct-2013 Edward Jee <edjee@google.com> Handles AT+BVRA=1 received during an open SCO session.

Bug: 11072505
Change-Id: If665517cd9efa087154edd57b23163e7cc098f6f
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
cdc8ec8d84c7f16b851238da0d80b51335c4ea07 16-Aug-2013 Edward Jee <edjee@google.com> Enables AT+ANDROID command in Bluetooth HFP.

Adds another vendor-specific command AT+ANDROID in Bluetooth Hands-Free
Profile. And creates an API function that sends an unsolicited result
code +ANDROID .

Bug: 8736189
Change-Id: I7e5bba8a568f596565a1531948061e4d2fe456e0
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
bb1ac417208c8e283f9b5b49f4413856500ed0f9 05-Aug-2013 Dianne Hackborn <hackbod@google.com> Use explicit Intent for binding to service.

Change-Id: I51971a02532ad0ad8fafb0529e7adf83ed846cf4
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
fd0cb64aeb1f806a041a5881dd2ba846b0aa6a93 02-May-2013 Ravi Nagarajan <nravi@broadcom.com> Fix for roam indicator not updating correctly

Use telephony manager PhoneStateListener to update the roam indicator
bug 8781689

Change-Id: I7c06f162918a10d06d77fb302e99bd2db8b02874
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
522d3b2b0a69c0157ca87995d92bb712f6102c1a 28-Jan-2013 Wink Saville <wink@google.com> Add protected log methods to StateMachine

This allow child classes to Override the logging and
have consistent behavior across StateMachines.

Change-Id: I7e23a44d08ca304ade2d7830fd0e307f63f1879e
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
28cc9881bb7fb2e5e410006f4f303c494b97665e 01-Dec-2012 Zhihai Xu <zhihaixu@google.com> need send status code back(OK) after broadcast the intent(VENDOR_SPECIFIC_HEADSET_EVENT)

bug 7564004

Change-Id: I5fc1eed1c0db194c3fdd63799b2340eea994988d
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
dd66c701616d77e5bf7f5fd795999f59e5fe28bd 18-Nov-2012 Zhihai Xu <zhihaixu@google.com> Code to broadcast VENDOR_SPECIFIC_HEADSET_EVENT missing

add +XEVENT vendor specific command handler in processUnknownAt

bug 7564004

Change-Id: I78847553700b2da28dbf9ca8f9d0509f5f3fa924
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
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/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
fb8b279141dac5255926d2dd4317f803cd1bbcf0 11-Oct-2012 Matthew Xie <mattx@google.com> Fix NREC command format error

Add = sign before off
bug 7326510

Change-Id: Ief269f608646acaa2872679a5c649da3cf22de37
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
fd1da115cbf09b7dd9bca3c7d3a4fb816a835dc5 08-Oct-2012 Matthew Xie <mattx@google.com> Turn off dbg messages, be prepared for production build

bug 7174712

Change-Id: I58747ec6507da8ea8ae27a182b601aaf626ede42
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
6893668d1ccf0cc6361ef31ace52fedc2e37e35a 15-Sep-2012 Wink Saville <wink@google.com> Add StateMachine make methods.

StateMachines must be started before any messages are sent to them
otherwise an exception is thrown.

Bug: 7091976
Change-Id: I05315d45d4d6db42843442b7feb37c665cfabcab
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
ca6110d57998fee7c7b572ca29061ee99a82ba37 09-Aug-2012 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Implement enableNoAutoconnect() for NFC handover

Implementation of BT enable in Quiet mode without initiating auto connect and not allowing
Incoming HFP, A2DP and HID connections.

Change-Id: I857aea8d95677f8287df4641ec0aeae58a9f7a99
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
44d87716fccf8ff6f114db72711388fa57068078 13-Aug-2012 Ravi Nagarajan <nravi@broadcom.com> listenForPhoneState only after SLC

Start phone state listener after SLC setup, instead of on
Disconnected SM exit(). On BT OFF, quitNow() forces a SM exit()
which incorrectly started the phone state listener. Additionally
no indicator updates should be sent prior to SLC setup
bug 6976119

Change-Id: Icff2bc52602230b098651225bec92d532f3a3ff9
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
73d192095093759688cccc896714f71fcee218d8 08-Aug-2012 Matthew Xie <mattx@google.com> Merge "Fix for BT turn on/off issues: NPE, FD/thread leaks, ANR." into jb-mr1-dev
15d36984a79d6e35c659edb0efdf929f0b526bd5 01-Aug-2012 Fred <fredc@broadcom.com> Fix for BT turn on/off issues: NPE, FD/thread leaks, ANR.

This fix addresses numerous BT on/off issues found from the CTS test.
Fixed fD/pipe leak in various state machine Looper objects by calling quit() function.
Fixed cursor leak in AtPhonebook.
Change Pbap to stop the RFCOMM listener on the STATE_TURNING_OFF instead of STATE_OFF.
Removed several cleanup() methods causing NPE.
Reduced RFCOMM listener timeout from 3 seconds to 300ms between retry.
bug 6834336

Change-Id: I52423343d8f52f65294af0143f373871a9874d77
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
4f5430babbc5a8f870e5a578a4ea3452f41dd97a 01-Aug-2012 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Implement Profile Auto connection logic

Implement Profile Auto connection logic (moved from Settings App )in Bluetooth APK
to avoid Auto connection not happening if the Settings App is not running
As part of this implementation following features are implemented
1. Auto connection initiation during BT on OFF
2. Profile Auto connection priority management
3. Connecting Missing profile logic
4. Initialize Profile Priorities on Bond State Change

Change-Id: I12b7c190e28f043b4b008c9b48ac7e13aaf178e6
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
15d72a0c3338645bcc409023150aec40b08aadc1 29-Jun-2012 Ravi Nagarajan <nravi@broadcom.com> Resolve incoming pairing and connection issue

When the remote side initiates pairing & connection, occassionally
connection is made before the phone has had a chance to do SDP.
In this case, the profile priorities are not initialized, which caused
us to incorrectly reject the incoming connection. Allow connection
if priority is undefined, but device is not unpaired

Change-Id: Icd8257adea19fc9a4d3853cd85da9bd791cfe505

Conflicts:

src/com/android/bluetooth/a2dp/A2dpStateMachine.java
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
10bab53713ca13b3ccdaac5286c9b576e577be5e 25-Jun-2012 Swaminatha Balaji <swbalaji@broadcom.com> Fix for When Hf is rejected the device should initiate A2dp if a2dp is enabled

Change-Id: I15d3d6c8456e94553f479009c600dca1cd2361ac
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
6b19b0e94877ae8f0803133f8cfb4885acff2763 14-Jun-2012 Syed Ibrahim M <syedibra@broadcom.com> Virtual call implementation

Change-Id: I72a96eedd1cac10a0da7223ebc9b70fd4a21974d
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
579f67ec87646f840c1235eb62d99ab9fa11f23c 05-Jun-2012 Sreenidhi T <nidhit@broadcom.com> Additional check included for the case when PhoneApp queries Bluetooth Audio state before the stack responds for the sco disconnect issued previously in AudioOn state.

Change-Id: I8b85fc9d3b4463205f01dfaa3bb309a3dbeb8231
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
a25e9c65c2a0192b7b3d819e2b87704f1942aa2f 21-May-2012 Sreenidhi T <nidhit@broadcom.com> Changing the order of notification of connection state change, as it was causing a race condition, with the UI not being updated with the correct connection state.

Change-Id: I6f4c75e4eac4ae798cb7918a4f1b7458e1eaa4b0
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
942da5b41b0c9e45e83e9801f80b982f1e4cd011 18-May-2012 Kausik Sinnaswamy <kausik@broadcom.com> Ensure that A2DP stream is suspended during Voice Dial when SCO
connection is established. This is needed to be compliant with the SIG's
AV+HF whitepaper

Change-Id: Ie072782ea70de0f1b13c6cf8bfcb88c072a1d093
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
75e9fd59f4d4011ba7155732a41b06f0df40bada 15-May-2012 Swaminatha Balaji <swbalaji@broadcom.com> Fix for A2dp/hf connection happening even when profile is disabled in Settings

Change-Id: I32145db12e0107b858e2e25ad1ae6cba6eadb55d
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
74ae04c73312403e89db0f8e9bd9601d403b4783 07-May-2012 fredc <fredc@broadcom.com> Fixed memory leak in Binder objects from repeatedly turning on/off Bluetooth

Change-Id: Ibee5382816d47b1e9b846461942a9daccc4210a7
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
ce4edb8ed132976651b32b337f3d90e1a170afa9 08-May-2012 Sreenidhi T <nidhit@broadcom.com> Changes done for disconnecting sco connection based on disconnectAudioNative() return status, instead of waiting till BTA_AG_AUDIO_CLOSE_EVT is received. The delay in disconnecting sco was causing audio to be routed to earpiece instead of speaker, when selected from incall screen.

Change-Id: I307c3e9c114676649750cb64f1043fc7fe79d71b
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
405b6148a168c05f9c9eac6a80db68b9a58392e2 27-Apr-2012 Sreenidhi T <nidhit@broadcom.com> Added AT+CPBR support

Change-Id: Ice860d8f97350d805a5478e94a27ae19cf42dafd
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
68e7fc4f2c62ebc76e86109a919592ad25ec11d7 24-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Handle NREC. On connect, enable echo cancellation locally, headset will then override it

Change-Id: I8fca1e82d1457b47122c17393ffbff362e1f3134
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
42a6e53f2ec04cbd78fea952fc926fdf3e5b8cd9 19-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Connection state change has to be handled in AudioOn state. Some headsets send RFCOMM disconnect prior to disconnecting the SCO. In this case the state machine has to handle the connection state change

Change-Id: Ib80a49cbd959055624baae6e5a35022c628f4bba
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
3fafe61ef25c1899fdc817c52163aec16c31055c 19-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.

Change-Id: I2b0235f71c1feaf32215b2aaf89a2e06d8fa7d73
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
9a0efb0ee8c63797280b3b9309782541134e9205 16-Apr-2012 fredc <fredc@broadcom.com> adapter non persistent service. Fixed null exception when profile services connect/disconnect

Change-Id: Iefafd1115471256d3107f039897e2af16077cdae
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
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/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
206363c7e1d2a7eb116aa6559c83431cd3f55def 11-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> AT Response needs to be send for CNUM

Change-Id: Ia6aa0e91bc42b9a77143087f65b95c81117b9e3c
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
8f8e1bdc4dfc5d9d974b0e0b01dbe981707c9c6f 30-Mar-2012 Ravi Nagarajan <nravi@broadcom.com> ATD commands have a trailing ';'. Remove the trailing ';' prior to dialing a call. Else a send tone popup is received.

Change-Id: Icbd53166001d3be102bac6a8d2f782cb22c4dc56
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
5f1bee8200197a49d8ffc49fe3e91d19c927ff52 28-Mar-2012 Ravi Nagarajan <nravi@broadcom.com> Resolved HSP PTS issues. When call is active, and CKPD is received: 1. If audio is not ON, audio will be enabled 2. If audio is ON, call with be disconnected (fixed a typo here, which answered the call, instead of hangup)

Change-Id: Ib60f7109f9fe982523c3db68ea6014c25bad8262
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
b18d6a7da48a6847df88abadd42fbb51316cb76d 27-Mar-2012 Ravi Nagarajan <nravi@broadcom.com> Integrate HFP with VR app. Handle both cases where VR is started by peer as well as launched from the phone

Change-Id: Icf2922f4caf20190fdb3f0afa2ddd19d1852c4fb
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
345d21b0575a4b866bfc9ccfde9c654e7b859ac6 20-Mar-2012 Matthew Xie <mattx@google.com> Fix persistent audio on, Donot connect_audio when enter CONNECTED state. Process DISCONNECT message in AudioOn state.

Change-Id: Id89842ff2179234c320752ae69dcf3c99b125bce
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
bcbeaf69468424800a939b3e8678eaef21efa3d6 09-Mar-2012 Matthew Xie <mattx@google.com> process slc_connect state change event, query and send stack the phone state

Change-Id: I4472384290d87f13f7be5647327c789c01582a7b
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
ab1a751670c1bceb23f3cf880f6ad9421c0487c2 19-Mar-2012 Matthew Xie <mattx@google.com> Revert "fix persistent audio on, Donot connect_audio when enter CONNECTED state"

This reverts commit 3ce52a01d734e73a21074ab8397cf67b16d6595f

Hi Matt,
I reviewed your changes (2), and they look good. However, your changes in (1), seem to be causing a side-effect while testing the headset connection setup while call is active/outgoing/incoming. Since this change was merged, I am sending my comments thru email.
Here is the scenario
1. No headset connection

2. Place an outgoing call, and answer it at the remote side

3. Initiate connection from headset

4. SCO seems to be setup by Java side even before SLC setup completes

ISSUE#1: Once Java receives connection event, it automatically calls connect_audio, even though SLC has not been setup
ð Can you make a change to call connect_audio, only after SLC is complete? If this difficult to do, can this code just be removed, as the stack will do automatically after SLC setup when phone_state_change is called

ISSUE#2: If we redo this for an outgoing call (call answered prior to headset connection), then the Java side does not initiate SCO audio
ð To have a consistent behavior, if Java side is setting up SCO for active call, shouldn’t we be doing the same for outgoing call too?

Thanks
Ravi
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
53b834a8a7f9f077ff751ade222d2f81d9d6fdad 09-Mar-2012 Matthew Xie <mattx@google.com> fix persistent audio on, Donot connect_audio when enter CONNECTED state

Change-Id: Ieb2c327ab562c02f293fa616e555ed5a8dc55570
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
47ead0fdf1786e6f0c5bde1c6b1b40b08168edb9 10-Mar-2012 Matthew Xie <mattx@google.com> output call back event information

Change-Id: I6a84a19f91fbb102668745623327f7e234c2ad5d
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
f0b6639617ce2245ffb88968e8a864d0fa99dd8c 09-Mar-2012 Matthew Xie <mattx@google.com> Save volumes and notify stack only when they change

Change-Id: Ibcf6a55111ee3d6ecab6ecd75ab957258b35e49c
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
9b300c1a33952a22c3bba1521da2d01cbf607b7b 08-Mar-2012 Matthew Xie <mattx@google.com> update call state to match hf hal header, memory dial fix null pointer

Change-Id: I62f26d0259a910ac80d7a18c6bef49abb6eab820
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
6c91bc0a163cc7600c40d7fb979777fd911d1ef1 17-Feb-2012 Matthew Xie <mattx@google.com> Initial implementation of HFP and A2DP profile/service/statemachine.

Change-Id: Ic6e6d358b94313f237b7be61b70dcc6f4f7902e7
/packages/apps/Bluetooth/src/com/android/bluetooth/hfp/HeadsetStateMachine.java