Commit Graph

260 Commits

Author SHA1 Message Date
Jaikumar Ganesh
7a0f816916 Disconnect PAN and Input devices on BT disable.
Also, add a missing break.

Change-Id: I228f80a4223de20e60d2f3828e3f63bdc14f5afc
2010-11-01 15:04:06 -07:00
Jaikumar Ganesh
c53cab20b2 Add an API call to get the ConnectionState of the Bluetooth Adapter.
Change-Id: Icd87d7720189034946aaa98e1a6c5d03ef4219e5
2010-10-26 16:03:01 -07:00
Jaikumar Ganesh
b2ec4fa8d7 Fix A2DP connection problem, if disconnected while playing music.
Change-Id: I594564c11dc1698f00f9db3e6f6e4f8da9e2fe69
2010-10-26 11:22:48 -07:00
Jaikumar Ganesh
8febf88618 Add logs to debug incoming A2DP connection issue.
Change-Id: Ifbdd625ec8dc50544990a1ddbd87284285f3f2d2
2010-10-26 00:28:39 -07:00
Jaikumar Ganesh
b1ef244732 Clean up some logging to make it more useful to debug.
Change-Id: Ic30210ea6886b1c4630d7671a4b01736512e9da8
2010-10-26 00:15:45 -07:00
Jaikumar Ganesh
a46f2fb152 Implement ACTION_CONNECTION_STATE_CHANGED intent.
Change-Id: I6b5783c189c9796ebd85d9d54bdcb07949bef27e
2010-10-25 18:44:57 -07:00
Jaikumar Ganesh
ff7db40be1 Make setting the adapter properties asynchronous.
1. These involve disk operations and multiple processes.
2. onPropertyChange already informs us asychronously.
3. Settings app is the only user, will have to revisit the function
   if we make them public.

Change-Id: If019a83c05a0c9e625f27faf99063d33f369f0d8
2010-10-25 16:36:45 -07:00
Jaikumar Ganesh
5a1e4cf83f Update BT APIs return type from Set to List.
Change-Id: Ia27220dd26cde13007f6938c830517ee7f6968ce
2010-10-22 11:36:28 -07:00
Jaikumar Ganesh
03cd78cf5e Convert return type of APIs from Set to List.
Most of the time it will either be empty or have 1 device.
Using list makes it much a better API and since its supported
by the AIDL format, the code becomes much nicer.

Change-Id: I5a2508b33ba754fc8cc738409d658e1235aaf2cf
2010-10-22 11:36:27 -07:00
Jaikumar Ganesh
7d0548d094 Fix race condition between starting of service and getting the Profile Proxy.
Incoming A2DP connections were not working.

Change-Id: I5a3322ddb39b2512495b4cd2e35593da0f605087
2010-10-18 15:32:11 -07:00
Jaikumar Ganesh
64144c4474 am 096a1e6c: am 8b525c07: Merge "Check for state before disconnecting." into gingerbread
Merge commit '096a1e6c83d3638788468dfb21a3b4662745d617'

* commit '096a1e6c83d3638788468dfb21a3b4662745d617':
  Check for state before disconnecting.
2010-10-15 14:27:55 -07:00
Jaikumar Ganesh
72cd64b20e resolved conflicts for merge of bbb90d13 to master
Change-Id: I85de73f6e11e7547a006d41ca49021bca19af14b
2010-10-15 10:02:57 -07:00
Jaikumar Ganesh
096a1e6c83 am 8b525c07: Merge "Check for state before disconnecting." into gingerbread
Merge commit '8b525c076068eb38106dca05513816c01d8bdddb' into gingerbread-plus-aosp

* commit '8b525c076068eb38106dca05513816c01d8bdddb':
  Check for state before disconnecting.
2010-10-14 13:41:16 -07:00
Jaikumar Ganesh
5844f1d357 Check for state before disconnecting.
This is a race condition exposed after we turned off some STOPSHIP
logging and some other logging. We drop the ACl connection after 2 secs
of inactivity and hence the device didn't exist -> DBUS crash.

Bug: 3097224
Change-Id: I90adbbee2c5793924037685e484027ed5cd2e0d0
2010-10-14 12:33:16 -07:00
Jaikumar Ganesh
aa4b235dd7 resolved conflicts for merge of 79a5307a to master
Change-Id: I5a524fe53e74df722db003cec6ab62451fe0f899
2010-10-14 09:39:41 -07:00
Jaikumar Ganesh
bbb90d134a am c008ca96: Merge "Work around for errant headsets." into gingerbread
Merge commit 'c008ca96bb32289958010dcf8f247c35ab9b1f18' into gingerbread-plus-aosp

* commit 'c008ca96bb32289958010dcf8f247c35ab9b1f18':
  Work around for errant headsets.
2010-10-13 16:48:41 -07:00
Jaikumar Ganesh
c008ca96bb Merge "Work around for errant headsets." into gingerbread 2010-10-13 16:44:17 -07:00
Jaikumar Ganesh
70a053bf1b Work around for errant headsets.
1. Some headsets send an AVCTP connection before an AVDTP connection
When that AVCTP connection fails, we get stuck in IncomingA2DP state
because we don't handle AVCTP signals for now.
We need to handle the signals and fix it better.

2. Also when ACL gets disconnected, reset state i.e
when the low level connection disconnected reset our state.
This is like a fail safe in case we get stuck.

Bug: 3051490
Change-Id: Ibcf188103999ffb1e08c36c2554504c639fb7f50
2010-10-13 16:38:28 -07:00
Jaikumar Ganesh
79a5307ac2 am 1bc3a407: Merge "Fix auto connection priority handling." into gingerbread
Merge commit '1bc3a407ceb380e35e894f405f544b5b87e980d4' into gingerbread-plus-aosp

* commit '1bc3a407ceb380e35e894f405f544b5b87e980d4':
  Fix auto connection priority handling.
2010-10-12 16:50:45 -07:00
Jaikumar Ganesh
bcf5cf47ed Fix auto connection priority handling.
Bug: 3027023
1. user is connected to a headset. Headset is turned off.
2. User connects to another device. The priority of the first
   headset must be set to ON. We only have 1 device set at AUTO_CONNECT
   priority.

1. A remote headset sends an incoming connection. Don't set
   AUTO_CONNECT till its gets connected.
2. For outgoing connections, set it to AUTO_CONNECT in Connecting state
   since the user initated this connection.

Change-Id: Iaa211bf22b1fd99850875f7eda686c47142173ba
2010-10-12 16:42:45 -07:00
Jake Hamby
980d40b568 resolved conflicts for merge of 738aadd7 to master
Change-Id: I8810cc6dbd532de002d6a623ad93e86afb48c0b4
2010-09-30 19:33:43 -07:00
Jake Hamby
738aadd70f resolved conflicts for merge of 0a972acf to gingerbread-plus-aosp
Change-Id: Id8dc5038edc214b4433bdf690243f2f5fe5b4812
2010-09-30 16:29:13 -07:00
Jake Hamby
f51eadaf1f Typo fixes in comments and minor code cleanups.
* Fix some typos in Javadoc and log messages.
* Remove redundant initializer in BluetoothAdapter.readOutOfBandData()
* Use canonical "UTF-8" charset name instead of "UTF8" in
    BluetoothDevice.convertPinToBytes()

Change-Id: I58cd5dc48a7ad0053d204c5f590b4b3d438d8672
2010-09-30 15:43:34 -07:00
Jaikumar Ganesh
659d3d566b am c10207b6: am a5c742bf: Merge "Update local cache before sending intent." into gingerbread
Merge commit 'c10207b6bfcfe09636dd2035b4237f1001008a48'

* commit 'c10207b6bfcfe09636dd2035b4237f1001008a48':
  Update local cache before sending intent.
2010-09-30 11:25:18 -07:00
Jaikumar Ganesh
c10207b6bf am a5c742bf: Merge "Update local cache before sending intent." into gingerbread
Merge commit 'a5c742bfd08df55849418cd1c77065ac54d83502' into gingerbread-plus-aosp

* commit 'a5c742bfd08df55849418cd1c77065ac54d83502':
  Update local cache before sending intent.
2010-09-29 13:27:38 -07:00
Jaikumar Ganesh
2dfe101149 Update local cache before sending intent.
Change-Id: I0e016cae3070b1811dd68958afb8a8501081097d
2010-09-29 10:31:02 -07:00
Jaikumar Ganesh
96a79830ea Update code for new BT public APIs.
Change-Id: Id730fb6226db59f3a0416111c4790653c2fccb0b
2010-09-28 20:00:53 -07:00
Jaikumar Ganesh
ea8e8d7342 am b390728b: am a224f70b: Fix interaction between BluetoothEventLoop and BluetoothService.
Merge commit 'b390728b54805ecba3e0690edf2b83b60933e6a7'

* commit 'b390728b54805ecba3e0690edf2b83b60933e6a7':
  Fix interaction between BluetoothEventLoop and BluetoothService.
2010-09-15 07:07:38 -07:00
Jaikumar Ganesh
707952ecd4 Rework Bluetooth tethering networking configuration.
Limit it to 5 for now, and store the iface.

Change-Id: Ia6044b8e8f886dcd587ab0bb57273e0c11b6cd74
2010-09-14 15:25:14 -07:00
Jaikumar Ganesh
b390728b54 am a224f70b: Fix interaction between BluetoothEventLoop and BluetoothService.
Merge commit 'a224f70b1efc29d9698da5b5c143251a43838f2b' into gingerbread-plus-aosp

* commit 'a224f70b1efc29d9698da5b5c143251a43838f2b':
  Fix interaction between BluetoothEventLoop and BluetoothService.
2010-09-14 09:43:31 -07:00
Jaikumar Ganesh
a224f70b1e Fix interaction between BluetoothEventLoop and BluetoothService.
BluetoothEventLoop primarily handles event notifications from Bluez.
It should know innards of Bonding and especially BondState.
BondState class and BluetoothService call into each other.
When BluetoothEvent loop gets the handle to BondState it leads
to deadlocks and ANRs.

Change-Id: I785c57f6246c1288350d26d4acb87d879b27a5f9
2010-09-13 21:58:10 -07:00
Jaikumar Ganesh
1510770165 Add missing return statement.
Change-Id: Iee4ee8a62c5c85176c457bd674ac25acdf978ae9
2010-09-13 15:24:01 -07:00
Jaikumar Ganesh
20c8f47330 resolved conflicts for merge of 0522f5e9 to master
Change-Id: Ie0a7ece33dced1042948087053e49665f6235fc2
2010-09-13 14:57:59 -07:00
Jaikumar Ganesh
0522f5e9b7 am cc5494c9: Out Of Band API for Secure Simple Pairing.
Merge commit 'cc5494c9996f809e36539b24e8b6b67683383d29' into gingerbread-plus-aosp

* commit 'cc5494c9996f809e36539b24e8b6b67683383d29':
  Out Of Band API for Secure Simple Pairing.
2010-09-13 11:52:19 -07:00
Jaikumar Ganesh
cc5494c999 Out Of Band API for Secure Simple Pairing.
Change-Id: I54ded27ab85d46eef3d2cca84f2394b1ffe88ced
2010-09-13 11:40:21 -07:00
Jaikumar Ganesh
293de3eaf2 am 049912b7: am 9395b465: Merge "Fix to get A2DP to connect after unpairing" into gingerbread
Merge commit '049912b76f320c55cfe56394e520ee2c35f913b8'

* commit '049912b76f320c55cfe56394e520ee2c35f913b8':
  Fix to get A2DP to connect after unpairing
2010-09-09 14:21:32 -07:00
Jaikumar Ganesh
049912b76f am 9395b465: Merge "Fix to get A2DP to connect after unpairing" into gingerbread
Merge commit '9395b4656aca4b00d080ada89a44631459ad7b85' into gingerbread-plus-aosp

* commit '9395b4656aca4b00d080ada89a44631459ad7b85':
  Fix to get A2DP to connect after unpairing
2010-09-09 10:26:54 -07:00
Henrik Backlund
4226415bd9 Fix to get A2DP to connect after unpairing
In this fix, A2DP profile will be connected when pairing with a
previously paired headset. The reason for this error was that the
connection of the A2DP profile was sent before the callback
onCreatePairedDeviceResult was receied in BluetoothEventLoop.java.
By not going to the state BOND_BONDED until after this callback has been
received, the problem is fixed. However the use case is different if the
pairing is initiated by the remote device. In these cases state
BOND_BONDED will be set when onDevicePropertyChanged instead.

Change-Id: I5dedca87d0a6872705ff3a933a99cce6eb37618a
2010-09-09 10:19:55 -07:00
Jaikumar Ganesh
b70765cc27 Decouple Tethering UI with registering of SDP records.
This can lead to usability issues, since the SDP record
will get registered later on.

Change-Id: Ifda78a3831572f1b9955bf06da9a8b0e949942aa
2010-09-02 14:34:40 -07:00
Jaikumar Ganesh
c1520ecb41 Use the new signals sent by Bluez for PAN.
Change-Id: I092b5d6b23bacb37a5bc2ca6d8c47bc6a99467ec
2010-09-02 11:36:58 -07:00
Brad Fitzpatrick
02f4f0eb49 am 734d2707: am bb660d7e: Merge "Renaming SharedPreferences.startCommit to apply" into gingerbread
Merge commit '734d270769c609c7d3a1f2ec46e1d329d9682ab4'

* commit '734d270769c609c7d3a1f2ec46e1d329d9682ab4':
  Renaming SharedPreferences$Editor.startCommit to apply
2010-08-30 18:25:02 -07:00
Brad Fitzpatrick
734d270769 am bb660d7e: Merge "Renaming SharedPreferences.startCommit to apply" into gingerbread
Merge commit 'bb660d7e1bed3a07a1804bd9641d9634bfaa4972' into gingerbread-plus-aosp

* commit 'bb660d7e1bed3a07a1804bd9641d9634bfaa4972':
  Renaming SharedPreferences$Editor.startCommit to apply
2010-08-30 18:18:54 -07:00
Brad Fitzpatrick
66fce5068a Renaming SharedPreferences$Editor.startCommit to apply
Also removes the artifical restriction that only one apply() can be in
flight at once.  That was old from when I thought it'd end up being
required, but wasn't.

Change-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55
2010-08-30 18:10:49 -07:00
Brad Fitzpatrick
7f7ce40f90 resolved conflicts for merge of 28130bae to master
Change-Id: I13df8dc12092c3d2536e12216df9130d5914380a
2010-08-27 16:11:27 -07:00
Brad Fitzpatrick
28130baefb resolved conflicts for merge of 6b50986a to gingerbread-plus-aosp
Change-Id: I7c5ec7ae717e75ad242e2c1ad4537052e4eea718
2010-08-27 12:08:40 -07:00
Brad Fitzpatrick
333b8cba99 SharedPreferences$Editor.startCommit()
Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.

This commit adds the implementation.  The previous commit added the
interface and docs:

   previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
        git commit: edf32d0131

In addition, this change:

-- adds a generic "runPendingWorkFinishers" mechanism to
   ActivityThread to wait on async operations that are still
   in flight and use it for this.

-- ties runPendingWorkFinishers into Activity.onPause,
   BroadcastReceiver, and Service.

-- makes sSharedPreferences keyed on name, not File, to avoid
   unnnecessary allocations

-- documents and guarantees what thread
   OnSharedPreferenceChangeListener callbacks run on

-- makes a few things in frameworks/base use startCommit(), notably
   Preference.java (which was ignoring the return value anyway)

Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
2010-08-27 09:10:11 -07:00
Jaikumar Ganesh
34536183f4 Add BNEP_SVC UUID for incoming tethering connections.
Change-Id: I90c24edfd133ac9fa89c3467383cd61fa23954c6
2010-08-23 18:32:03 -07:00
Danica Chang
8aac82a524 Wait for bluetooth to turn on before Bluetooth Tethering is enabled
Change-Id: I3fef94ea2cb102e1bb618f85e25d60c95cea1221
2010-08-20 15:12:22 -07:00
Danica Chang
6fdd0c6274 bluetooth tethering
Change-Id: Id6d5fb1922facc7013abc29214d3e1141995b767
2010-08-18 15:07:50 -07:00
Jaikumar Ganesh
05a1863ceb Allow multiple HID devices to be connected.
Change-Id: I40d9820b756c1e3bb4e773fbb78212e2716e99bf
2010-07-21 12:08:12 -07:00