Commit Graph

170 Commits

Author SHA1 Message Date
Jaikumar Ganesh
1c96a00685 Fix some formatting issues.
Review comments from a previous review.

Change-Id: Ifa6136f9bc5590ffb6a777240ad1e6607b616ca6
2010-11-24 13:07:29 -08:00
Jaikumar Ganesh
58b93c3640 Update BT code for voice capability cases.
1. Disable PBAP and Headset / Handsfree records.
2. Add API to query for local adapter UUIDs.

Change-Id: Ic84ba6a49738adc89a8695d3a4890f08562e0621
2010-11-24 10:49:47 -08:00
Jaikumar Ganesh
b0a1d01b4c Make AUDIO_STATE_CONNECTING in BluetoothHeadset public.
As the SCO connection is done on a separate thread, this
state is needed to prevent silent failures in case of APIs like
voicerecognition.

Change-Id: Id08725323a2c847df4d3bd9f60e42fde46100707
2010-11-11 10:59:48 -08:00
Jaikumar Ganesh
f2e6b13620 Add APIs for starting and stopping a virtual call.
This API is useful for cases where the user wants to play
their voicemail, for example, through their Bluetooth headsets.

Original Change by: kausik@broadcom.com

Change-Id: I6bc8929c359d698a1bacdefab4425e3a0ac5d8dd
2010-11-03 15:20:49 -07:00
Jaikumar Ganesh
30d181690e Add STATE_AUDIO_CONNECTING state.
Why is it needed: SCO audio connections can fail.
Currently no indication is given to clients which are waiting
for SCO connections. This was working fine before because
SCO connections where blocking calls, which was wrong in itself.

Change-Id: Ic449b2db8506a7a5ae6be6c68715f1a7343f9e40
2010-11-03 11:05:12 -07:00
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
e12774d4a8 Merge "Add an API call to get the ConnectionState of the Bluetooth Adapter." 2010-10-29 11:02:36 -07:00
Jaikumar Ganesh
470132509f Fix incoming connection problem
This fixes the incoming auto connection of profiles with certain remote devices.

Bug: 3136095
Change-Id: If26b5aa91403c0c7bd547e2970ee5bf2ac381416
2010-10-28 10:51:54 -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
a46f2fb152 Implement ACTION_CONNECTION_STATE_CHANGED intent.
Change-Id: I6b5783c189c9796ebd85d9d54bdcb07949bef27e
2010-10-25 18:44:57 -07:00
Jaikumar Ganesh
5514029304 Fix docs builds.
Change-Id: I764bd0f0f6994cc468b7ebbea4a3dc7a44b9f89d
2010-10-25 17:07:51 -07:00
Jaikumar Ganesh
e775b3daab Expose Vendor Specific Headset Event Intent.
The Bluetooth Headset spec doesn't cover all cases.
For example, there is nothing defined to show the battery status of
the headset on the phone. This intent allows 3rd party applications
to communicate effectively with vendor headsets. For example, Plantronics
has an app for Android headsets and when used with Plantronics
headsets, they will be able to use extra information from the headset.

Change-Id: Ib997327103cbbe57d64c52ba27f74162b6769798
2010-10-25 11:07:58 -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
Scott Main
dbb78f0e4e am 81df9841: am 2c1dab44: am fda5b19c: Merge "docs: fix typo; surface dev guide link in package description" into froyo
Merge commit '81df9841c64e417fe2adfab0e8d694af09e07c0d'

* commit '81df9841c64e417fe2adfab0e8d694af09e07c0d':
  docs: fix typo; surface dev guide link in package description
2010-10-17 13:49:45 -07:00
Scott Main
81df9841c6 am 2c1dab44: am fda5b19c: Merge "docs: fix typo; surface dev guide link in package description" into froyo
Merge commit '2c1dab44834fb20deda9f380dae1bd7c1826b40b' into gingerbread-plus-aosp

* commit '2c1dab44834fb20deda9f380dae1bd7c1826b40b':
  docs: fix typo; surface dev guide link in package description
2010-10-15 18:23:34 -07:00
Jaikumar Ganesh
db3694d030 am a905d955: am a31cbd61: Merge "Remove STOPSHIP and reduce log spam." into gingerbread
Merge commit 'a905d9551103c5be465429ffeb0352b78058457e'

* commit 'a905d9551103c5be465429ffeb0352b78058457e':
  Remove STOPSHIP and reduce log spam.
2010-10-15 12:44:39 -07:00
Scott Main
2c1dab4483 am fda5b19c: Merge "docs: fix typo; surface dev guide link in package description" into froyo
Merge commit 'fda5b19c757645e957c2a224f269aefe39fb1e1c' into gingerbread

* commit 'fda5b19c757645e957c2a224f269aefe39fb1e1c':
  docs: fix typo; surface dev guide link in package description
2010-10-15 12:35:04 -07:00
Scott Main
36cdecd89d docs: fix typo; surface dev guide link in package description
Change-Id: I2dc09bb6b79cbe3f80819d6193eb0d8a3565310d
2010-10-15 10:19:27 -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
c8e87e3ce6 am 373a6961: am 64f42803: Merge "Bluez doesn\'t handle disconnect while connecting well. Defer the message." into gingerbread
Merge commit '373a69614e534ae04dddd79c92933b6d8969fad7'

* commit '373a69614e534ae04dddd79c92933b6d8969fad7':
  Bluez doesn't handle disconnect while connecting well.
2010-10-14 21:19:04 -07:00
Jaikumar Ganesh
5b9895c016 Merge "Disconnect PBAP while disconnecting HFP profile." 2010-10-14 16:18:22 -07:00
Jaikumar Ganesh
2beaf7316f Disconnect PBAP while disconnecting HFP profile.
PBAP profile is associated with HFP profile. Disconnect PBAP
profile while disconnecting HFP profile. We ever never doing this
and were expecting the remote end to do it. So when the user
disconnects a headset, we will end up with the ACL link still up
because PBAP has not been disconnected.

This is little bit of a hack till PBAP profile is converted to
use the new profile APIs.

Change-Id: I04821daae6588955fbfea01472e6a1b6f9212608
2010-10-14 16:14:38 -07:00
Jaikumar Ganesh
0b9ba91fa5 Merge "Add function to check for AVRCP target to send volume keys." 2010-10-14 11:03:42 -07:00
Jaikumar Ganesh
41d5c805d9 Add function to check for AVRCP target to send volume keys.
Currently, when A2DP is connected and the user changes volume
keys on the device, we just change the volume on the device.
We are not supposed to do that. The white paper recommendation
is to keep the volume stream at max and just send the volume
keys over. But then not all A2DP headsets act as AVRCP targets,
hence check for that.

So now the media code should use the API and not change the volume
at the device but just send the keys.

Bug: 3071356
Change-Id: I03a8b6f7619cf860c4e63979bf4903ded9ecd314
2010-10-13 19:25:33 -07:00
Jaikumar Ganesh
a905d95511 am a31cbd61: Merge "Remove STOPSHIP and reduce log spam." into gingerbread
Merge commit 'a31cbd61bc53730d756464b0c273475c4f738066' into gingerbread-plus-aosp

* commit 'a31cbd61bc53730d756464b0c273475c4f738066':
  Remove STOPSHIP and reduce log spam.
2010-10-13 16:56:27 -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
bdb1d9320b Remove STOPSHIP and reduce log spam.
We still need some logs, as it helped me fix the errant headset bug.

Bug: 3095000
Change-Id: If12601430e6dc30490df1ff86fc3f9d4d455e6d5
2010-10-13 16:48:02 -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
373a69614e am 64f42803: Merge "Bluez doesn\'t handle disconnect while connecting well. Defer the message." into gingerbread
Merge commit '64f4280313c5b498a3238d174c4d14ca2187604b' into gingerbread-plus-aosp

* commit '64f4280313c5b498a3238d174c4d14ca2187604b':
  Bluez doesn't handle disconnect while connecting well.
2010-10-12 19:06:13 -07:00
Jaikumar Ganesh
adbda6f094 Bluez doesn't handle disconnect while connecting well.
Defer the message.

Bug: 3076404
Change-Id: Id62e1008346f492a85e714240a832a061def1786
2010-10-12 16:58:06 -07:00
Jaikumar Ganesh
f5cae7d1c5 am 38702d5f: Merge "DO NOT MERGE: Disconnect PBAP while disconnecting HFP profile." into gingerbread
Merge commit '38702d5f1c42e2dfcc8fa5472c8fe842b4056914' into gingerbread-plus-aosp

* commit '38702d5f1c42e2dfcc8fa5472c8fe842b4056914':
  DO NOT MERGE: Disconnect PBAP while disconnecting HFP profile.
2010-10-07 16:58:13 -07:00
Jaikumar Ganesh
59453c947a DO NOT MERGE: Disconnect PBAP while disconnecting HFP profile.
PBAP profile is associated with HFP profile. Disconnect PBAP
profile while disconnecting HFP profile. We ever never doing this
and were expecting the remote end to do it. So when the user
disconnects a headset, we will end up with the ACL link still up
because PBAP has not been disconnected.

This is little bit of a hack till PBAP profile is converted to
use the new profile APIs.

Change-Id: I5f68b228fd5e607605928a52343ad4b86c58ac0b
2010-10-06 19:23:38 +02: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
96a79830ea Update code for new BT public APIs.
Change-Id: Id730fb6226db59f3a0416111c4790653c2fccb0b
2010-09-28 20:00:53 -07:00
Jaikumar Ganesh
62c37efc9e New public APIs for BluetoothA2dp and BluetoothHeadset profiles.
Change-Id: I1cc4b109542dfd62473cb95797c8c3d0d15725f4
2010-09-28 19:53:53 -07:00
Jake Hamby
14769a8690 am eb3b40af: am 0f584306: Fix Bluetooth Javadoc to clarify the maximum device name length.
Merge commit 'eb3b40af974d818cab66bf0a728c8bdec4f6f715'

* commit 'eb3b40af974d818cab66bf0a728c8bdec4f6f715':
  Fix Bluetooth Javadoc to clarify the maximum device name length.
2010-09-16 23:25:59 -07:00
Jake Hamby
eb3b40af97 am 0f584306: Fix Bluetooth Javadoc to clarify the maximum device name length.
Merge commit '0f5843069bd419fba4fb253986645dfbca0784b7' into gingerbread-plus-aosp

* commit '0f5843069bd419fba4fb253986645dfbca0784b7':
  Fix Bluetooth Javadoc to clarify the maximum device name length.
2010-09-16 22:15:55 -07:00
Jake Hamby
0f5843069b Fix Bluetooth Javadoc to clarify the maximum device name length.
The maximum length of a Bluetooth device name is 248 bytes using
UTF-8 encoding. Updated the Javadoc to clarify that the length is
limited by the number of UTF-8 bytes and not the number of characters.

Change-Id: I135671f5ee6c5eb6372f3fbbc5fccb02de65e6c4
2010-09-16 18:21:07 -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
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
4e25533945 Add @hide for the VENDOR_SPECIFIC_HEADSET_INTENT
Change-Id: I5405b57f5815fa91ffce829dec6da3e4b7f1245f
2010-08-26 16:03:40 -07:00
Jean-Baptiste Queru
0fc1b793b6 am b13c9bc5: manual merge
Merge commit 'b13c9bc5219ca85c36507fb3a8d5923e3de974b6'

* commit 'b13c9bc5219ca85c36507fb3a8d5923e3de974b6':
  BluetoothHeadset.java:
2010-08-24 10:16:28 -07:00
Jaikumar Ganesh
34536183f4 Add BNEP_SVC UUID for incoming tethering connections.
Change-Id: I90c24edfd133ac9fa89c3467383cd61fa23954c6
2010-08-23 18:32:03 -07:00
Jaikumar Ganesh
332058050a Add Tethering class bit check.
Change-Id: Iaa87c91c4b3db3b77c2e6c4f559fa2e438c9c247
2010-08-23 11:50:32 -07:00
Jean-Baptiste Queru
b13c9bc521 manual merge
Change-Id: Ib92a75958b857277e17f4bd0bee75744c653c942
2010-08-20 15:58:49 -07:00