This is a feature used for NFC-to-Bluetooth handover:
we want to enable BT for file transfer, and disconnect
it when we're done. During this period we don't want
to auto-connect other devices - it should be transparent
to the user that Bluetooth is used. Also, don't allow
A2DP/HSP incoming connections.
Change-Id: I0a03e8084c439b1271b6a80f4d9da5aacfe19c45
Bluetooth devices can be renamed by the user. Make the
input system aware of the user-specified name and transparently
pass it down to applications. This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.
Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
For devices that don't care about the previously default bluetooth profiles,
add a config var to disable them.
Change-Id: I04bb7ad4b1235bc37227645f472fdf5b918f6a31
Currently, when airplane mode was on and BT was on, turning BT off
moved BT to hotoff state. This fix moves BT all the way to Poweroff
state to have better power performance.
bug 5854282
Change-Id: I7ba41797a46a81ddb3a576453f2a8303b5eed525
CTS test revealed that persistSwitchSetting could take more than 1 second.
STATE_TURNING_ON intent missed the test timing. We move the broadcast
before persistSwitchSetting
bug 5740715
Change-Id: I54a0a0afc8d1c4fc28f84e6122809af2f1456ca7
Move broadcastState(BluetoothAdapter.STATE_TURNING_ON/OFF) before any other
method calls when turn on/off Bluetooth.
Bug 5703346
Change-Id: Iddbdab58367a7d648708aa23671eb09701d66793
The fix holds a reference to the Reaper objects, so that they don't get GCed
and cause the error - unlink not called on death recipients.
bug 5602314
Change-Id: Ib8a9e254d7c9ebe9d54f5c10b3daa31d062b4df0
Donnot make the bluetoothservice.getUuids call if the bluetooth
is not on. Also get rid of all the necessary locks on BluetoothService
for get property call. It had a lock on BluetoothAdapterProperty.
bug5472114
Change-Id: I383472ae6006fc1f0129c960c8a44ed0df027a43
Send CONNECT_OTHER_PROFILE to Device profile for low priority hfp and a2dp
incoming connect. In the case when HFP autoconnect is off but a2dp autoconnect
is on, if HF autoconnect to HFP, phone will reject HFP but connect a2dp.
Before this fix, phone reject HFP. A2dp will not get connected unless the HF do
media auto-connect, which most carkits do not do.
Also do similar change for incoming a2dp connection
bug 5091838
Change-Id: Ife1815f527bcd94e0d9ffc645028484fa9c49a43
The state diagram does not capture every messages. Here we explain
the missing parts to make the diagram clearer.
Change-Id: Ic5de5eb0556be4339d98023b0e7947d6e2cb30d1
All the messages sent to the StateMachine were ignored before the StateMachine
starts. To avoid TURN_HOT message from being ignored, move it out to BluetoothService
to send to the BluetoothAdapterStateMachine after the state machine starts
bug 5333923
Change-Id: I14ccd6dd7e6430aad2bca9230d01578b5327cc3f
Check null of pidPair instead of pidPair.first which caused a nullpointer
exception. clean local variables after sending out STATE_OFF intent.
Check bluetooth state in removeServiceRecord.
bug 5330367
Change-Id: Ib0af8143223bea48d3f587cca18544c4aef29980
so that the Binder object does not get destroyed when the thread
that registers the service record ends.
bug 5276332
Change-Id: Id17a4c279e03aa6928dca5bf048c7c90862bd9cf
Each channel is uniquely represented by the object itself,
so use the hash code to identify it. Using channelPath in the
calculation will mess up things - since in Connecting state the
channel path is null and when its connected, we will get a different
hash code.
Change-Id: I6af6c783e18fddbd38344432b8156e000baafb15
Channel connection / disconnection was handled as boolean,
doesn't capture all the values. Also make it asynchronous
instead of the dbus call being synchronous.
Change-Id: If30177b9f93b7c83f162fbbc1233edf3e46dbfea
When an incoming connection comes and then we disconnect it,
and then launch the outgoing connection - we crash because
the channel path chan.mChannelPath is null.
Change-Id: I9115cc038f7ce85a193bf05d14b2b0a5e0579a69
The powerdown event was missed some time for unknown reasons and bluez could
crash for unknown reasons. We will debug on the issue. But for the time
being, we add a powerdown timer and process power up event to recover from
bluez crash
bug 5239719
Change-Id: Ie7315fb01e029747951e1a97a2d2f1dce53a997b
Move Bluetooth remove service record handler to the app main thread.
This removes the dependency of caller thread that constructs the
BluetoothAdapter singleton instance. The caller thread could stop while
BluetoothAdapter singleton exists but lose the handler context.
Make the BluetoothService.removeServiceRecord return quickly without
blocking on native call.
bug 4999443
Change-Id: I302534baa381f4aca8192e1e4a9ea21793b07ba6