Commit Graph

426 Commits

Author SHA1 Message Date
Wei Wang
6d81118032 Address API review comments.
1. Moved le stuff to it's subpackage. Remove BluetoothLe for all classes
except *Scanner, *ScanSetting, *Advertiser and *AdvertiseSettings.
2. Make all callbacks abstract classes instead of interfaces.
3. Moved AdvertisementData and ScanRecord out and removed
AdvertiseBaseData
4. Removed newBuild and use new Builder for all builders.
5. Using setxxx in builders.
6. Misc other changes.

Fixes b/15140940

Change-Id: I32ae3d24a9491baf96048040b5ac78f6f731e468
NO_SQ: multi-project submit
2014-05-29 17:21:54 -07:00
Wei Wang
ab39cb7f6a Add scan response as an advertising parameter(1/2).
Change-Id: I75c500dd7b5f2609d3092f50ba284a5ec4a41987
2014-05-20 20:38:29 -07:00
Wei Wang
05ee041453 Remove a hide tag link.
Change-Id: I6781dcfcaf89c6b00e0641549f946b90e4543218
2014-05-20 02:43:02 -07:00
Wei Wang
adf6aff5b0 Revert "Revert "APIs for BLE scan, scan filter, batch scan, onFound/onLost and multiple advertising.""
This reverts commit b1d9fbc0f8dea0c77ed810190b325bfdaaf21789.

Change-Id: Ic8dec9385a7c763170ebeb1bcddd221c72f46e88
2014-05-19 23:52:45 -07:00
Wei Wang
319b40c9cf Revert "APIs for BLE scan, scan filter, batch scan, onFound/onLost and multiple advertising."
This reverts commit 2c4e68a86b7a9b9f760a8907b93ff40ccad56c80.

Change-Id: I98c91343d886ebe22d0bf75a710fa0b0abf738b6
2014-05-20 04:52:35 +00:00
Wei Wang
62d5bc745a APIs for BLE scan, scan filter, batch scan, onFound/onLost and multiple
advertising.

Change-Id: I1655eb9cffa890b6fe38108bf51078662e90bc03
2014-05-19 19:40:49 -07:00
Wei Wang
51800847d9 Add a method to check whether a UUID is 32bit.
Change-Id: I92e8bab560b2083e9f4855d28b3f54f2120ef628
2014-05-19 19:37:05 -07:00
Joe LaPenna
a0fc1b3730 am 3e1bbaf7: am 45734b4a: Merge "Log accept and close debug statements in BluetoothSocket." into klp-modular-dev
* commit '3e1bbaf786c12e66624c42c13a58095bc8133117':
  Log accept and close debug statements in BluetoothSocket.
2014-05-17 02:01:42 +00:00
Prerepa Viswanadham
63da5bf55e Improve name of api.
Change-Id: I4db24db621ab746f5e5efcbaf87b8856cf234e3e
2014-05-15 17:37:38 +00:00
Prerepa Viswanadham
01c92da4c9 set scan parameters in BT stack. Apply the most demanding request
in terms of duty cycle for all outstanding requests.Add api to set scan parameters.

Change-Id: Iee460003d210455ab180367f3518bfb10a6c2539
2014-05-15 17:37:24 +00:00
Joe LaPenna
f3de98a2d0 Log accept and close debug statements in BluetoothSocket.
Bug: 14902781
Bug: 14784262

Change-Id: Id0c2cd216244e05c218568427bda863a538b1041
2014-05-13 18:53:11 -07:00
Robert Greenwalt
f9cb86aebe Replace LinkCapabilities with NetworkCapabilities
Also remove unused LinkSocket and LinkSocketNotifier.
bug:13885501

Change-Id: Id426e31b201fa4f29109b5fea485d8efb34519d3
2014-05-12 16:52:56 -07:00
Ganesh Ganapathi Batta
b88fa824ab Add transport param to Connect APIs
Support for passing preferred transport for GATT connections as part of
Connect APIs

Change-Id: I93938dce519b8fa12de41d7e8690dc9355ce2dc5
2014-05-06 19:20:46 -07:00
Sharvil Nanavati
37fce07bea Tear down PAN if we can't successfully complete a DHCP request
after establishing a PANU connection.

http://b/13731957

Change-Id: I0c808d5196c66783b52942ba7b7212bdce9f1c07
2014-05-06 19:20:46 -07:00
Wei Wang
82500dd866 Add parse method to parse UUID from bytes for 16 bit, 32 bit and 128 bit
Bluetooth UUIDs. Added unit tests.

Change-Id: I4ecf0ede02561a5e9815acf8a5a1309d5756b887
2014-05-06 19:20:46 -07:00
Sharvil Nanavati
3e8eb40950 Make sure BluetoothSocket#connect throws on error.
It sometimes fails silently, resulting in callers using the socket
even though it hasn't been initialized.

http://b/13909270

Change-Id: Ied08982b51d44c3d2dec72785888ea6c6497a664
2014-05-06 19:20:45 -07:00
Ariel Gertzenstein
a2d8706ca8 DO NOT MERGE Tear down PAN if we can't successfully complete a DHCP request
after establishing a PANU connection.

http://b/13731957

Change-Id: I0c808d5196c66783b52942ba7b7212bdce9f1c07
2014-04-21 14:26:56 -04:00
Zhihai Xu
7e6fe14f02 am 54499194: am 2e8a2d20: Merge "LE: Return false if an attribute read/write is in progress" into klp-modular-dev
* commit '544991946287bdd3a9e6a71855642e378594bf73':
  LE: Return false if an attribute read/write is in progress
2014-04-10 01:07:26 +00:00
Andre Eisenbach
cc68cc962d LE: Return false if an attribute read/write is in progress
bug:12109128
Change-Id: I0155fcddc850aba47a1bf3e174d4ee582d50b187
2014-04-09 10:59:44 -07:00
Zhihai Xu
6b96c1b2ea am 7d394df2: am ae1b763c: Merge "LE: Add API to configure MTU for a given connection (3/4)" into klp-modular-dev
* commit '7d394df2ab8f951215a775df8d2bd9e6518e746a':
  LE: Add API to configure MTU for a given connection (3/4)
2014-03-31 21:35:38 +00:00
Zhihai Xu
ae1b763cde Merge "LE: Add API to configure MTU for a given connection (3/4)" into klp-modular-dev 2014-03-31 21:21:54 +00:00
Wei Wang
ab4fc115e9 am 1b09c97d: am 4447405d: Merge "Callback on correct method when status is unsuccessful." into klp-modular-dev
* commit '1b09c97d8a7156a9f35ebab3c98db7b103852a58':
  Callback on correct method when status is unsuccessful.
2014-03-29 02:03:03 +00:00
Wei Wang
c07a5dd709 Callback on correct method when status is unsuccessful.
Change-Id: I63c07bbae559765af1aecb492379ab18268336d8
2014-03-29 01:42:41 +00:00
Wei Wang
45e1bcdac3 am 0d68a52a: am 9d3e0996: Merge "Add comment of using same callback for start/stop advertising." into klp-modular-dev
* commit '0d68a52ad32bb2c07314721b19e7973df6045d34':
  Add comment of using same callback for start/stop advertising.
2014-03-28 05:35:38 +00:00
Wei Wang
f3f52b1b4c Add comment of using same callback for start/stop advertising.
Change-Id: Ice268e83e4f2ceb5053a0e03f73b877f548bd13b
2014-03-27 19:34:46 -07:00
Andre Eisenbach
580b0a1302 LE: Add API to configure MTU for a given connection (3/4)
bug:13571470
Change-Id: I3619617eaf864701a35f7802bc71805784d768d0
2014-03-25 18:02:06 -07:00
Dianne Hackborn
466ce96da8 Get rid of not specifying a user errors in bluetooth.
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothInputDevice.doBind:262 android.bluetooth.BluetoothInputDevice.<init>:255 android.bluetooth.BluetoothAdapter.getProfileProxy:1365
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothPan.doBind:148 android.bluetooth.BluetoothPan.<init>:140 android.bluetooth.BluetoothAdapter.getProfileProxy:1368
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothMap.doBind:108 android.bluetooth.BluetoothMap.<init>:101 android.bluetooth.BluetoothAdapter.getProfileProxy:1374
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothPbap.doBind:163 android.bluetooth.BluetoothPbap.<init>:156 com.android.settings.bluetooth.PbapServerProfile.<init>:68

Change-Id: I0a1e24ee71aef7d796fcee5692b9d19462a93637
2014-03-20 10:10:03 -07:00
Wei Wang
32779536bc am 13bd8577: am c0384b6b: DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050
* commit '13bd85772f6279d14303ec3a18615613c3722844':
  DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050
2014-03-20 16:59:13 +00:00
Wei Wang
13bd85772f am c0384b6b: DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050
* commit 'c0384b6b18617cc395814c5b20077955a185e392':
  DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050 Cherrypick from master to fix b/13289050
2014-03-20 03:41:47 +00:00
Wei Wang
d10bc171a5 am 15a18d07: am da084104: Merge "DO NOT MERGE: Add status callback for start/stop advertising." into klp-dev
* commit '15a18d07acc57d465e9d67bb28010912bb9ad15f':
  DO NOT MERGE:  Add status callback for start/stop advertising.
2014-03-20 03:36:45 +00:00
Wei Wang
15a18d07ac am da084104: Merge "DO NOT MERGE: Add status callback for start/stop advertising." into klp-dev
* commit 'da084104eb768f4472b7988b77a4f2b7e3f170d8':
  DO NOT MERGE:  Add status callback for start/stop advertising.
2014-03-20 03:32:17 +00:00
Wei Wang
c0384b6b18 DO NOT MERGE: Move advetise clean up to callback code. fixes b/13289050
Cherrypick from master to fix b/13289050

Change-Id: Ibf3c772561125821817c947730cf21defafd4cb2
2014-03-19 20:31:36 -07:00
Wei Wang
4b4eebb9a5 DO NOT MERGE: Add status callback for start/stop advertising.
Cherrypick from master to fix b/13289050

Change-Id: I231ba51aaa67b1f917e476ef0f2c8f82c762df77

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
	core/java/android/bluetooth/BluetoothGatt.java
2014-03-20 00:33:41 +00:00
Wei Wang
809476525f Move advetise clean up to callback code. fixes b/13289050
Change-Id: Ibf3c772561125821817c947730cf21defafd4cb2
2014-03-20 00:04:27 +00:00
Wei Wang
f305589f22 Add status callback for start/stop advertising.
Fixes b/13289050, b/13418851, also fixes 13418671.

Change-Id: I231ba51aaa67b1f917e476ef0f2c8f82c762df77
2014-03-18 19:33:16 -07:00
Wei Wang
0ea81eed88 am 1327e59f: Merge "DO NOT MERGE BLE peripheral mode (3/4): Add peripheral mode API." into klp-dev
* commit '1327e59f36ceea5a1ee7dc66b311206345353de5':
  DO NOT MERGE BLE peripheral mode (3/4): Add peripheral mode API.
2014-03-08 02:05:57 +00:00
Mike J. Chen
8169bc78a1 am 5adbea2e: am 784224d2: am b8a7dd63: Merge "Add handshake broadcast support" into klp-modular-dev
* commit '5adbea2e2da3a0af1357de05a04534c65a7c9f76':
  Add handshake broadcast support
2014-03-07 20:33:46 +00:00
Wei Wang
ee0b3e9f82 DO NOT MERGE BLE peripheral mode (3/4): Add peripheral mode API.
Add bluetooth adv data, APIs in BluetoothAdpater etc.

Cherry picking ble advertising changes from master to KLP MR2.
b/13137996

Change-Id: Id9d2f566b6d9ed0fffe73b67efad2e3d045360b4

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
	core/java/android/bluetooth/BluetoothGatt.java

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
2014-03-06 18:45:17 +00:00
Mike J. Chen
8faffa400b Add handshake broadcast support
Also make a log message verbose only.

Change-Id: I805ca376c0c0c37ec67897e5473a78fc943fdc63
Signed-off-by: Mike J. Chen <mjchen@google.com>
2014-03-04 17:27:16 -08:00
Mike J. Chen
5dadeba229 am 1ece04f3: Merge "BluetoothInputJava: Add broadcast action REPORT" into klp-modular-dev
* commit '1ece04f37fc93983ee058916e9913b6341e6de83':
  BluetoothInputJava: Add broadcast action REPORT
2014-01-28 20:44:25 +00:00
Mike J. Chen
d96d5cfffc BluetoothInputJava: Add broadcast action REPORT
It's returned by getReport() when callback data is ready.

Change-Id: I751c9e31de3d82a454a62cb8485a230e722b740d
Signed-off-by: Mike J. Chen <mjchen@google.com>
2014-01-27 17:55:40 -08:00
Mike J. Chen
729b12c7a9 am bfa3f4fd: Merge "BluetoothInputDevice: make REPORT_TYPE values match hal" into klp-modular-dev
* commit 'bfa3f4fd5c30b0d53addc071ecf8e099529f2c77':
  BluetoothInputDevice: make REPORT_TYPE values match hal
2014-01-28 01:32:53 +00:00
Mike J. Chen
1b47f7cc1a BluetoothInputDevice: make REPORT_TYPE values match hal
So we don't have to do conversion when using getReport/setReport
and can pass the value to the BT HAL directly.

Change-Id: I8d4af72d2e040d43cc9ff8a8cddfbe6cc8cfdb9a
Signed-off-by: Mike J. Chen <mjchen@google.com>
2014-01-27 16:27:04 -08:00
Zhihai Xu
01771021e3 bluetoothsocket fd leak, need close the file descriptor after detachFd.
Perform ParcelFileDescriptor close after detach to avoid bluetooth
socket leaks in strict mode.

bug:12647433
Change-Id: I22f422547b2fb33b9bf12065dc689ed7785a7269
2014-01-20 17:43:37 -08:00
Zhihai Xu
9efa3b6c63 Merge "NPE in BluetoothDevice.fetchUuidsWithSdp" 2014-01-14 06:47:06 +00:00
Wei Wang
86b3fa6090 BLE peripheral mode (3/4): Add peripheral mode API.
Change-Id: Id9d2f566b6d9ed0fffe73b67efad2e3d045360b4

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
	core/java/android/bluetooth/BluetoothGatt.java

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
2014-01-13 17:53:48 -08:00
Zhihai Xu
82e95573c7 NPE in BluetoothSocket.write()
If calling connect succeed, we should not see this NPE.
An IOException may happen after call BluetoothSocket.connect.
If you still call write after the IOException,
you will get this NPE.
add NPE protection for possible wrong calling sequence from application,
To make bluetoothSocket more error-tolerant.

bug:12104154
Change-Id: I7fa4e847b500ca9b9d2a43df432f31a1bb016c0a
2014-01-13 17:52:13 -08:00
Zhihai Xu
5d04f1c9d9 NPE in BluetoothDevice.fetchUuidsWithSdp
This is caused by access fetchUuidsWithSdp after bluetooth is turned off.
We can add check null pointer for sService,
before call sService.fetchRemoteUuids(this) to fix this problem;

bug:12533948
Change-Id: Id2cab92a56185073fabcabcfb21a243e99a60cee
2014-01-13 16:54:38 -08:00
Zhihai Xu
2208e652d6 Merge "NPE in BluetoothSocket.write()" 2014-01-04 00:54:02 +00:00
Wei Wang
18c76934f6 BLE peripheral mode (3/4): Add peripheral mode API.
Change-Id: Id9d2f566b6d9ed0fffe73b67efad2e3d045360b4

Conflicts:
	core/java/android/bluetooth/BluetoothAdapter.java
	core/java/android/bluetooth/BluetoothGatt.java
2013-12-19 16:33:32 -08:00