Commit Graph

375 Commits

Author SHA1 Message Date
Jaikumar Ganesh
6d172e60bb Merge "Add error codes for channel disconnection / connection." 2011-09-09 15:19:43 -07:00
Matthew Xie
5d61d8ddec Merge "Apply timeout for powerdown event and reset state machine when bluez crashes" 2011-09-08 17:16:50 -07:00
Jaikumar Ganesh
b5d2d4526c Add error codes for channel disconnection / connection.
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
2011-09-08 15:26:53 -07:00
Jaikumar Ganesh
8ee53da561 Fix crash while connecting channel.
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
2011-09-08 15:17:25 -07:00
Jaikumar Ganesh
eb9d34630f Make Bluetooth Health APIs public.
Fix a few bugs:
  a) Pass a integer token to identify the channel.
  b) Close fds in case of errors.

Change-Id: I2046787be5008769435f2f72a5bd67c19b749da0
2011-09-08 15:17:17 -07:00
Matthew Xie
694c0b833b Apply timeout for powerdown event and reset state machine when bluez crashes
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
2011-09-08 15:05:19 -07:00
Matthew Xie
484867a8ed Move Bluetooth remove service record handler to the app main thread
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
2011-08-29 16:24:50 -07:00
Amith Yamasani
7b71e4586b Merge "Update searchables when packages are modified, in case they are enabled/disabled." 2011-08-23 13:34:48 -07:00
Amith Yamasani
13bc602b21 Update searchables when packages are modified, in case they are enabled/disabled.
Bug: 5198361 : SearchManagerService doesn't respond to package updates.
Change-Id: I2ac794c5da4769eadd6b860ab0f9123060d2a5e5
2011-08-23 12:11:35 -07:00
Matthew Xie
f9838d0bb9 Merge "Set bluetooth discoverable off at power on time if the timeout is no forever" 2011-08-23 10:54:07 -07:00
Matthew Xie
d96daf1ae5 Set bluetooth discoverable off at power on time if the timeout is no forever
Set bluetooth discoverable off at power on time if the discoverable timeout
is no forever
bug 5068151

Change-Id: I413e8de5f49030b741a8b84a566065d112ee60be
2011-08-22 19:45:48 -07:00
Jaikumar Ganesh
ef4f8f2c08 Fix sendConnection State intent api params.
Reported by: sj222.choi@samsung.com

Change-Id: I2e767b372bd5d9fa42d083a37e402a013388a3c2
2011-08-22 18:18:24 -07:00
Jaikumar Ganesh
cb1d354c1e Add Api to get profile connection state.
This gets the current connection state of the profile with respect
to the local Bluetooth adapter.

Change-Id: I7cff6c9201d29a8b45413cff7384b7483f21bd5c
2011-08-22 14:44:38 -07:00
Matthew Xie
116f7ee276 Merge "Change prepare bluetooth timeout from 7 seconds to 10 seconds" 2011-08-15 18:01:57 -07:00
Matthew Xie
25c4e2a803 Change prepare bluetooth timeout from 7 seconds to 10 seconds
It was observed that the preparing bluetooth could take up to 8 seconds before
the SD loaded event came in.

Change-Id: I722f94ed9cbd12bdd033ca405838366139c61383
2011-08-15 17:52:29 -07:00
Jaikumar Ganesh
89d55ad781 Fix stuck in pairing when BT is turned off.
When pairing is stuck, on turning BT off, we were
not setting the outgoing parining variable to null in
setBondState because of the extra check for isEnabled.

isEnabled check was added to prevent the proxy crash in
setProfilePriorities function. Proxies should never be null.
Add a safety check and also some extra logs to debug the problem.

Change-Id: I694dfeb8fa9426b3916775ca868c2313fa9c22ee
2011-08-15 16:41:08 -07:00
Matthew Xie
14e48e91f6 Implement switchConnectable with Powered property setting instead of scan modes
Bluez powered property setting is more apropriate for what this method intend to
achieve and it fixes a bug that incoming connection request wake up the stack in
The pairable events are replaced by power and discoverable events
HotOff state
bug 5080232

Change-Id: I43b44cb2f5203bd99bf764d5a1696e8ff52a31db
2011-08-15 11:31:54 -07:00
Matthew Xie
24c2d6bc82 Merge "Revert "Implement switchConnectable with Powered property setting instead of scan modes"" 2011-08-11 11:42:09 -07:00
Matthew Xie
10fc9bc55e Revert "Implement switchConnectable with Powered property setting instead of scan modes"
This reverts commit c5708036b4
2011-08-10 19:04:00 -07:00
Jaikumar Ganesh
d2344ce087 Merge "Check for BT state when sending Bond State Change intent." 2011-08-09 17:33:18 -07:00
Jaikumar Ganesh
bc85a087c9 Check for BT state when sending Bond State Change intent.
When users use application specific Bluetooth state changes,
and the bond state changes, we crash.

We need to recheck Bluetooth state in all functions and scenarios
and even maintain a per application pid Bluetooth state, but this fix
is quick fix for a problem.

Change-Id: I905dfb53965907ccb27757ff6ed1816536277f14
2011-08-09 17:18:29 -07:00
Matthew Xie
06ec66266c Merge "Implement switchConnectable with Powered property setting instead of scan modes" 2011-08-09 12:15:54 -07:00
Matthew Xie
c5708036b4 Implement switchConnectable with Powered property setting instead of scan modes
Bluez powered property setting is more apropriate for what this method intend to
achieve and it fixes a bug that incoming connection request wake up the stack in
HotOff state
bug 5080232

Change-Id: I1e29314041f082c1536b46f9707d17d463ae0fd7
2011-08-05 11:58:23 -07:00
Jaikumar Ganesh
32a1e19aba Merge "Provide address and name in BT Hot off state." 2011-08-05 11:37:22 -07:00
Jaikumar Ganesh
a66590ed78 Provide address and name in BT Hot off state.
Clients need this before BT is turned on.
Todo: If BT "hot" feature is off, read from system properties.

Change-Id: I266c2d4731cacde7a53c65e3d5fb43a2cbe29481
2011-08-05 11:34:06 -07:00
Jaikumar Ganesh
8c90038503 Merge "Fix PAN bug for reverse tethering." 2011-08-03 18:15:11 -07:00
Matthew Xie
cffb287b44 Merge "Add a timeout for disconnecting devices to recover from error situation" 2011-08-03 17:31:11 -07:00
Jaikumar Ganesh
b389bdfba2 Merge "Enforce permission for changeApplicationState function." 2011-08-03 17:20:52 -07:00
Matthew Xie
9a943a6420 Add a timeout for disconnecting devices to recover from error situation
Start the timer (3 second) just after calling disconnect devices.
If the timer expires, it indicates an error condition. we don't wait
on the ALL_DEVICES_DISCONNECTED event upon the error. Instead, get out of
switching state and turn off BT to reset out of the error condition.

Change-Id: I27aa8cd7b6fe50d9191e2d32fc2d6eac50424403
2011-08-03 17:08:55 -07:00
Jaikumar Ganesh
2cbb33c362 Fix PAN bug for reverse tethering.
We were the setting the iface as null while disconnecting
and so when disconnected the iface used was null - which would
lead to a crash. During connecting we don't know the interface,
so we use null.

Change-Id: I970f2f1886fa32237936eff439c359187a798832
2011-08-03 16:42:55 -07:00
Jaikumar Ganesh
f5fb6c8ce3 Enforce permission for changeApplicationState function.
The ADMIN permission is for use cases where we want to manage BT connection
at a deeper level. So just the Bluetooth permission is good enough here.

Change-Id: Iddd038fe9f9a26f155b4edc9484ba1fe27b178ba
2011-08-03 15:00:07 -07:00
Jaikumar Ganesh
adcea06113 Merge "Fix PAN bugs." 2011-08-03 11:16:18 -07:00
Jaikumar Ganesh
e3b79ca1b9 Fix PAN bugs.
1. The interface was null for reverse tethering.
2. When disconnecting the server, we were passing the address instead of the
interface.

Change-Id: I6004cdf1eed000211cddc6b120e0aded5758eb1e
2011-08-03 09:15:41 -07:00
Matthew Xie
4376b7f2d7 Merge "Move mBluetoothService.runBluetooth after broadcasting the STATE_ON intent." 2011-08-02 15:44:28 -07:00
Matthew Xie
8594394aad Move mBluetoothService.runBluetooth after broadcasting the STATE_ON intent.
This is because broadcastState method move the Bluetooth adapter state
to ON. The mBluetoothService.runBluetooth should be called only in the ON state.
Remove mIsDiscovering variable in BluetoothService.
Fix a bug in BluetoothA2dpService that caused 2 times of state change
from DISCONNECTED to CONNECTING that messed up BluetoothService's
connection state count.
Change-Id: Ifb782a845ae70f007d2e036d930bb55f445d68b5
2011-08-02 15:22:09 -07:00
Jaikumar Ganesh
bbd8675057 Fix tethering using BT.
1. Since Input device runs in Bluetooth Service, avoid the proxy call.
2. Accept or reject incoming tethering connections.

This broke because of incoming connection request change for phonebook, HID,
A2DP.
Change-Id: Ia8c537bb79e4dbc66cfb6b23dcad4f99dbf950b3
2011-08-02 10:31:26 -07:00
Matthew Xie
6903a7de88 Merge "Provide an API to set the friendly name of a remote device." 2011-07-28 17:46:45 -07:00
Matthew Xie
269e81a563 Provide an API to set the friendly name of a remote device.
BluetoothDevice setName overwrite the locally cached remote name.
The changed name is saved in the local storage so that the change
is preserved over power cycle.
bug 5081605
Change-Id: I486966033828d153bfb1076a99e274c8a7f41636
2011-07-28 15:56:11 -07:00
Jaikumar Ganesh
ef2cb7c93a Add ability to turn BT on / off on a per application basis.
This changes adds an API for system applications
to enable bluetooth without all the side effects like
auto connection to headsets etc.

Also some tweaks to the adapter state machine

Change-Id: Ib9f22d548a26d72334b300101c8eb0d80f08a4bb
2011-07-26 14:49:36 -07:00
Matthew Xie
184dd03c81 Merge "Keep Bluetooth module hot to quickly swith it on/off" 2011-07-25 11:14:25 -07:00
Matthew Xie
7f9ecca8f2 Keep Bluetooth module hot to quickly swith it on/off
Add BluetoothAdapterStateMachine to maintain a inter state machine other than
the public BluetoothAdapter states. This is a improvement to BluetoothService
code. 2 internal state are added, LoadingFirmware and FirmwareLoaded to place
the Bluetooth module in a ready-to-switch-on state so that it can be quickly
switched on to have a better user experience
bug 5021787

Change-Id: Ia352e88cba509d9e98c900f85e7479f8cee1de5e
2011-07-25 10:53:06 -07:00
Jaikumar Ganesh
1352531dc7 Merge "Auto Pairing tweaks." 2011-07-21 16:27:55 -07:00
Jaikumar Ganesh
8adcacbf83 Auto Pairing tweaks.
When the stack returns an incorrect error code, we were going on
in a loop trying auto pairing. Ideally, the stack shouldn't be returning
this incorrect code, but add a fail safe in the userspace code.

Also cap attempts at 2. There is no point trying more than that.

Change-Id: I5bf3ea871b9c2241ae5ac88e9818c9eb847fac92
2011-07-21 13:52:15 -07:00
Jaikumar Ganesh
d3728cb32f Incoming connection dialog tweaks.
Don't show incoming connection dialog when the device shows
the pairing dialog - this means that the device has already been
trusted by the user.

Change-Id: I98a9f56528f6b62d0f824bbc7612aaa0077ba1e6
2011-07-20 13:44:35 -07:00
Jaikumar Ganesh
b85f49e2a4 Merge "Remove Car audio class from auto pairing." 2011-07-14 10:08:41 -07:00
Jaikumar Ganesh
31d6e440f9 Remove Car audio class from auto pairing.
Majority of the cars don't auto pair unlike headsets, as they have a display.
Instead of maintaining a blacklist of such cars, disable
auto pairing with 0000. This is legacy anyway as newer cars
come with 2.1 pairing.

Change-Id: I644e2da4d11cf2d250d846853523d7975ca000fc
2011-07-14 09:26:02 -07:00
Jaikumar Ganesh
60b4d2a2bd Add REGISTERED_BEFORE_BOOT flag to intent.
Add the flag to Connection state changed intent because
external devices can get connected before booting is complete.

Change-Id: I5bed7a4aa75a42d6facc16aac4f2734e4b5fe246
2011-07-12 14:35:55 -07:00
Jaikumar Ganesh
5623b07497 Merge "Bluetooth Health APIs" 2011-07-11 14:17:57 -07:00
Jaikumar Ganesh
fb658c72a3 Bluetooth Health APIs
1. Remove the check of configs in BluetoothHealth.
   This check is useless since BluetoothHealth is a proxy.

2. Add a wrapper and a callback class. We shouldn't expose
   Binder interfaces as public APIs.

Change-Id: If62620b4251cf93f3f97d2fe63099e40fae7da4d
2011-07-11 11:32:27 -07:00
Matthew Xie
a0c680393f Incoming Bluetooth Connection requests - dialog.
This sends the intents to the Settings app to show
the dialogs for the incoming connection requests.
Includes down merged contributions from Jaikumar Ganesh.

Change-Id: Ic8b857aad3554315aae39a0e871eb94d0ac98a91
2011-07-07 12:43:27 -07:00