History log of /packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dd26298bbf5d4b034f27db60d0aceba3902d5c86 05-Sep-2017 Amith Yamasani <yamasani@google.com> Check permissions when registering a scan pending intent

Check the permissions when registering and use them when
starting the scan.

Bug: 65013767
Test: Manually modify the cts test to not include the permission
and ensure the scan results are not delivered.

Change-Id: Id9322182ae65a3e5fc5158a09d77c7ca28b2be2d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
9a8b93d512bfcfda3d9d2c676e6657538871754a 28-Aug-2017 Jakub Pawlowski <jpawlowski@google.com> Fix GATT client leakage when scan is throttled (1/2)

Currently, scan throttling happens after client is registered, but
before the scan is started. This might lead to scan client being leaked.
This patch fixed that by moving check before client registration.

Bug: 64887233
Test: manual
Change-Id: I96e7698a126b41c4fd5e2ce11d1c9084fd560dfc
Merged-In: I96e7698a126b41c4fd5e2ce11d1c9084fd560dfc
(cherry picked from commit 7d0fe2d612a7cc522af1ee3837e3b96d27b58a33)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
966273541bd6d080b51f9c8dbe6e96a6f9be2607 11-Jul-2017 Jack He <siyuanh@google.com> Merge "GATT: Expose opportunistic client API to Java" am: 6b5f229061 am: 910de1c2af
am: ceab52a692

Change-Id: Ieda3bf45385f42227441698fff724cc358981b6a
910de1c2af404c3a9b232e0ad4764a439840f979 11-Jul-2017 Jack He <siyuanh@google.com> Merge "GATT: Expose opportunistic client API to Java"
am: 6b5f229061

Change-Id: I40d45a3180cb728b0c65477a2527bc75d80528b2
dbbab6bca495df9f3bbc8dd4794db810b1acd692 06-Jul-2017 Jack He <siyuanh@google.com> GATT: Expose opportunistic client API to Java

* Allow Java based programs to create an opportunistic GATT client
* Such client does not hold a GATT connection. It automatically
disconnects when no other GATT connections are active for the
remote device.

Bug: 63347806
Test: make
Change-Id: I7fe789b38a25c65b5bc4f1591e406edb7742bd5b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4013e8a454c6c5cc9f70f52f2af35730d119c065 26-Apr-2017 Joe Onorato <joeo@google.com> Turn off logspam (Bluetooth)

For more information, see https://source.android.com/source/code-style#log-sparingly

Bug: 37252687
Test: development/tools/logblame/medium_idle_test
Change-Id: I8c839eff19fa0b00d1b6a04fbb554b39010884d9
(cherry picked from commit 522633f4724154b3cdb39888989340dbb8a16758)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
5b65fac7e1d4251adc8f8b36990828b9b0be56b5 29-Jun-2017 Vinay Kalia <vinaykalia@google.com> Revert "Revert "Improve BLE scan attribution to facilitate debugging power issues""
am: ff0aaa12c3

Change-Id: I75f51146a8c604fed5997f7ad4a77fc89b5b5c44
ff0aaa12c3204523136cc75886add779e4727d00 29-Jun-2017 Vinay Kalia <vinaykalia@google.com> Revert "Revert "Improve BLE scan attribution to facilitate debugging power issues""

This reverts commit 2e20779b97be2073942b1fc8093414ae08e03136.

BUG: 62389939
Test: Tested a few BLE scanning applications which included misbehaving
Change-Id: I5e0884159e8e95ae15b591d16eb85ce150ce86bb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1529fd45d15b1a18a70012289e42856ae518e310 29-Jun-2017 Vinay Kalia <vinaykalia@google.com> Revert "Improve BLE scan attribution to facilitate debugging power issues" am: 2e20779b97
am: ad9ac95d3d

Change-Id: Ia52a863b57e0e45298c27bb3890924335a7e78f6
2e20779b97be2073942b1fc8093414ae08e03136 28-Jun-2017 Vinay Kalia <vinaykalia@google.com> Revert "Improve BLE scan attribution to facilitate debugging power issues"

This reverts commit 81efe3aa81785d7e25a1b9dbeb9f35dc1aacb524.

Change-Id: I9f08c85f7c140b2075ded97764e4ff3eb9ec6fa4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
67634f63ea91a07a99a29b8fd34be52a02c88f34 28-Jun-2017 Vinay Kalia <vinaykalia@google.com> Improve BLE scan attribution to facilitate debugging power issues am: 81efe3aa81
am: 50cc0de07b

Change-Id: I1278c3c02efd95d813ce1f689391d51836b00943
81efe3aa81785d7e25a1b9dbeb9f35dc1aacb524 23-Jun-2017 Vinay Kalia <vinaykalia@google.com> Improve BLE scan attribution to facilitate debugging power issues

Following changes are made to improve BLE scan dumpsys:
1. All stats in AppScanStats assumed one scan per application.
This is not true for many applications. Fix scanning stats
to support multiple scans per application:
a. Fix number of scans started/stopped counters.
b. Fix scan min/max/avg/total time.
c. Fix scan start/stop indication to batterystats.

2. Show ongoing scans as a separate list of scans.

Example:
<app-name> (Registered)
LE scans (started/stopped) : 13 / 11
Scan time in ms (min/max/avg/total): 1098 / 227509 / 19805 / 257469
Total number of results : 2623
Last 5 scans :
2017/06/26 14:55:02 - 6659ms 59 results (7)
2017/06/26 14:55:13 - 1113ms 6 results (8)
2017/06/26 14:55:14 - 10012ms Filter 0 results (8)
2017/06/26 14:55:24 - 1106ms 7 results (8)
2017/06/26 14:57:56 - 10007ms 100 results (9)
Ongoing scans:
2017/06/26 14:55:09 - 227509ms 2232 results (7)
2017/06/26 14:58:06 - 50463ms Filter 0 results (9)

Application ID : 5
UUID : xxxx

BUG: 62389939
Test: Tested a few BLE scanning applications which included misbehaving
applications.

Change-Id: Iaade4ce4bf06533415b49bc3635866b1bf0db937
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
67d591b7445329d2282730fd73a701bb62ce51b3 15-Jun-2017 Avish Shah <avshah@broadcom.com> Merge "Bluetooth 5: Update LE2M implementation through DM (1/3)" am: 0733dd54f0
am: 306b532ebb

Change-Id: I1ae0fd8f4d7c6d7ecd6af79283370c5744860b0b
78776aada90a70a875b00d3796798752652c3b86 17-May-2017 Avish Shah <avshah@broadcom.com> Bluetooth 5: Update LE2M implementation through DM (1/3)

This patch moves LE2M implementation to the DM instead of tied to GATT.

Below are the reasons to make this change:
1) Per link setting usually be done under DM, such as link policy etc.
2) In the future, if LECOC is coming to use in more profile/apps,
we can not rely on GATT API for these. Separate API should be required.
3) we could have multiple logical GATT user on top of the same link.
4) Also this will avoid duplicating all the APIs on GATTC and GATTS.

Bug: 37586939
Test: manual
Change-Id: I9e84b7b4aac1ccb7d3d1c4932d5da40784acf0d7
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
792b3b63ea8109fb0d30135e9249256f3d891d9e 26-Apr-2017 Joe Onorato <joeo@google.com> Turn off logspam (Bluetooth)

For more information, see https://source.android.com/source/code-style#log-sparingly

Bug: 37252687
Test: development/tools/logblame/medium_idle_test
Change-Id: I8c839eff19fa0b00d1b6a04fbb554b39010884d9
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
55995e8f4bc667358f3106a18f0722f137c734bc 16-May-2017 Jakub Pawlowski <jpawlowski@google.com> Discover primary service by UUID for PTS tests (3/4)

Bug: 38123054
Test: manual
Change-Id: I1547f1dbd46e2d5e9a4e2b953b9973fb3f52a7d7
(cherry picked from commit 84685c0e90fc8ad9453157d6f2b6454974d594e8)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
84685c0e90fc8ad9453157d6f2b6454974d594e8 16-May-2017 Jakub Pawlowski <jpawlowski@google.com> Discover primary service by UUID for PTS tests (3/4)

Bug: 38123054
Test: manual
Change-Id: I1547f1dbd46e2d5e9a4e2b953b9973fb3f52a7d7
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8e68fb0428b6c4e6ad3aa5aadbb9815e05f723ce 03-May-2017 Ajay Panicker <apanicke@google.com> Move Bluetooth battery stats tracking (2/2)

Move Bluetooth battery stats tracking to AppScanStats for a more
unified tracking system.

Bug: 37720787
Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases -t com.android.server.cts.BatteryStatsValidationTest#testBleScans
Perform BLE scan and check battery stats
Change-Id: I6129a83d275c7d72edc6abfc5cc72641adde8767
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
edbc90eb917a8a509d2d03fb304763b768ec5517 03-May-2017 Ajay Panicker <apanicke@google.com> Move Bluetooth battery stats tracking (2/2)

Move Bluetooth battery stats tracking to AppScanStats for a more
unified tracking system.

Bug: 37720787
Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases -t com.android.server.cts.BatteryStatsValidationTest#testBleScans
Perform BLE scan and check battery stats
Change-Id: I6129a83d275c7d72edc6abfc5cc72641adde8767
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
00129680f9863701255425567f408e66ec84caf1 19-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Expose LE advertiser address for easier PTS tests (2/6)

This patchset adds a hidden method getOwnAddress, that lets app with
BLUETOOTH_PRIVILEGED permission to lear their own addreess. This is done
exclusively for PTS tests.

Bug: 35147497
Test: manual
Change-Id: I8da0128c1dac2995e488f1e0c48aa7d5fd399b4c
(cherry picked from commit f10e5516ed308be0493173fcd7982fb4f0a8cd0e)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f2b309cfa9c602760e88f3dca60f813438a9726b 14-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Read by UUID for PTS tests (2/5)

Add a hidden api for reading characteristic by UUID for PTS.

Bug: 35150313
Test: sl4a GattReadTest.byUuid
Change-Id: I6ec848eac1ecfbd1a4ec2bc968faff8a082d9c79
(cherry picked from commit 5fc203008497b071dc583450a53c93e11dd561ff)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
d03408c87f740be8d87e706d8f43db6870b2733a 14-Apr-2017 Amith Yamasani <yamasani@google.com> Handle PendingIntent-based callback for scan results

This allows scan results to be returned to an app that is
potentially not running at the moment.

Bug: 37254611
Test: WIP for new tests. Existing cts bluetooth tests pass.
Change-Id: Iaa24333605ebd06636bfd765cec4551692d0f4d4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f10e5516ed308be0493173fcd7982fb4f0a8cd0e 19-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Expose LE advertiser address for easier PTS tests (2/6)

This patchset adds a hidden method getOwnAddress, that lets app with
BLUETOOTH_PRIVILEGED permission to lear their own addreess. This is done
exclusively for PTS tests.

Bug: 35147497
Test: manual
Change-Id: I8da0128c1dac2995e488f1e0c48aa7d5fd399b4c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
5fc203008497b071dc583450a53c93e11dd561ff 14-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Read by UUID for PTS tests (2/5)

Add a hidden api for reading characteristic by UUID for PTS.

Bug: 35150313
Test: sl4a GattReadTest.byUuid
Change-Id: I6ec848eac1ecfbd1a4ec2bc968faff8a082d9c79
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
97995b8ccbadc3d868adc70684b13bc0d199edc2 15-Apr-2017 Amith Yamasani <yamasani@google.com> Dummy implementation for BLE scan via PendingIntent

Actual implementation under construction. This is a placeholder
for the new APIs.

Bug: 37254611
Test: N/A
Change-Id: Id2226bb919b944268ff6e4bf53d609d5808419e4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
00afbc90278b80415c9e847a3e97f05abe7fe313 03-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Fix unregAll throwing Concurrent exception

unregAll does iterate over ContextMap.mApps without synchronization,
and then call unregisterClient, which also iterate over same variable,
and remove element. This cause ConcurrentModificationException. To fix
that, make sure mApps access is always guarded by synchronized block.
Also make mApps into private variable, to make sure no one would make
similar errors in the future.

Bug: 34805290
Test: manual
Change-Id: I6254c809423ecc3901b64f1a2d60324efd1c4834
(cherry-picked from commit 98ca87dd893a7a3d1545e00a2a9a2419d83e22ef)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4bc8b429262badc21e1ace5a7d00bca6b6726f0c 03-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> Fix unregAll throwing Concurrent exception

unregAll does iterate over ContextMap.mApps without synchronization,
and then call unregisterClient, which also iterate over same variable,
and remove element. This cause ConcurrentModificationException. To fix
that, make sure mApps access is always guarded by synchronized block.
Also make mApps into private variable, to make sure no one would make
similar errors in the future.

Bug: 34805290
Test: manual
Change-Id: I6254c809423ecc3901b64f1a2d60324efd1c4834
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
7f4a31f44f61bf765dad1d3b570e314fa1a98f85 31-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 advertising duration refactoring (3/4)

Expose both duration and maximum extended advertising events to limit
advertising time.

Test: manual
Bug: 30622771
Change-Id: I81ee59086f40b64d07eb43b32f1a59a6856ab886
(cherry picked from commit de068ddbc7bc4de68b178c5e32a44180ddf257a0)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c9cdb6c47f5b318291a0a321b22a2c830adf7ab0 28-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 periodic scan (1/3)

This patch wires calls/callbacks through stack to prepare for actual
implementation.

Test: manual
Bug: 30622771
Change-Id: I9e6d81ccbbe1626de96f766813b048909e9ef452
(cherry picked from commit 2feca0e43c7309a47275b643e499b590190463a7)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
de068ddbc7bc4de68b178c5e32a44180ddf257a0 31-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 advertising duration refactoring (3/4)

Expose both duration and maximum extended advertising events to limit
advertising time.

Test: manual
Bug: 30622771
Change-Id: I81ee59086f40b64d07eb43b32f1a59a6856ab886
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
2feca0e43c7309a47275b643e499b590190463a7 28-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 periodic scan (1/3)

This patch wires calls/callbacks through stack to prepare for actual
implementation.

Test: manual
Bug: 30622771
Change-Id: I9e6d81ccbbe1626de96f766813b048909e9ef452
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
02056166f907639f6088b78b6754bd55af8aa083 27-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth GATT callback naming fix "Ext" -> "" (2/2)

Gatt callback don't need the "Ext" postfix, as it was removed from new
API.

Test: manual
Bug: 30622771
Change-Id: Ie7f764062662277b8c82b9a9e4628ce9411a924f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
95d31b5b2a12528114ec63f55cc06161a11e7cf4 25-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Add option to specify initial LE connection PHY (3/3)

For whitelist connections we always use all possible PHYs, for direct
connection use PHY specified by client.

Test: manual
Bug: 30622771
Change-Id: I6e4de425ab3f367eb6c00ce36dee1d59869c0061
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
150d57466e21f2802d588ff6e8fab974fb91bfbf 25-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Fix (again) bad scan record data length

Bug: 36530831
Test: sl4a Bt5ScanTest:test_legacy_scan_result_raw_length
Change-Id: Ie7b04c40947f6419a665a8f6c1244effa63d8a7e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4982e11647f30b47e9e352013d561bed272cb7fc 24-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Expose connection update callback (3/4)

Test: manual
Bug: 30622771
Change-Id: Ie731cf45bbb0ef01c5c6c13d149d75fea82e38d8
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1878bcf7b85d6f6e88fe60b582c576f5bfb78e88 23-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Set preferred PHY and read PHY implementation (1/3)

Test: manual
Bug: 30622771
Change-Id: I43b7b036e50188f76d8ed0609f5142b2a4ad07ee
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8cc4343c3b71c7a4d57c0b8c669b0a6188185f6b 17-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 AdvertisingSet implementation (2/4)

Test: manual
Bug: 30622771
Change-Id: I69e1ce6be3b776f783d2b2d18aee63a494b8cfd1
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
b3246f3a27d269b4c0ef19cb2c8772d039eb26cc 17-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 move timeout parameter (2/2)

Timeout is not a parameter, it is a property of enabling the
advertising. Move it into more proper place.

Test: manual
Bug: 30622771
Change-Id: Ib688f183bf71fe429da6b9c3c8eb3591e9c6ec1d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
917f34e18aa235e68ac0663e24f52100e95970b7 13-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 AdvertisingSet implementation (2/4)

This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I35e7db5df1945d101402299f78dd541e346d548c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a8c9c053dfe53df74934e1210b4c0cee521bf036 15-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Fix advertise data length parsing

Bluetooth 5 advertise data can be longer than 128bytes. The length bit
must be properly converted to unsigned value for such long data.

Bug: 36086416
Test: manual
Change-Id: I7449ea99be2e78dd60dd90ec607b74f2bb02d213
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
3ae219d81403f905ed4efc3b6071acae075e7660 08-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Use fixed size scan response data

We used to return fixed size scan response data before commit ed3417a6,
and some applications rely on this behaviour. For now make sure that all
apps get fixed data.

Bug: 36003118
Test: manual
Change-Id: Ieff1a933c01e7fcb0ae36f740048ccba2b3481b9
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ba699eadbd14de6561e65950adf6f4ad02546c52 10-Jan-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 Advertising API

Bug: 30622771
Test: manual
Change-Id: I3a670756e26345833ce595c9b22b8b39ae0ba41f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
21013566d951befa7a129f3e8e2f62c5ba401ebd 07-Feb-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 PHY change API

Bug: 30622771
Test: manual
Change-Id: I859d23e7db95585551675d09c0b009222a475dd2
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
04feee00681f5ca88480a6700e1d6e4baf69293e 01-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 periodc scan API (2/2)

Bug: 30622771
Test: manual
Change-Id: I2bde2072f55949b195b64e0ce333a40b4f6d6673
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f37eca417f424c4900a48b8d95d10178cab5c543 07-Feb-2017 Jakub Pawlowski <jpawlowski@google.com> Propagate Bluetooth 5 scan result properties

Bug: 30622771
Test: manual tests
Change-Id: Icbb353aa3435a97035c81384fc9031175a934239
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ad71e23e009fc9a808db3547bcb3e1923f87aeaa 30-Jan-2017 Jakub Pawlowski <jpawlowski@google.com> Propagate BT5 specific scan result properties up the stack (3/3)

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I0afb900871cbc2f556ad506e21515e4ca8c49142
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
bd11ad34482a898a53bbd9f55bf3607c40c648ec 04-Jan-2017 Ajay Panicker <apanicke@google.com> Add the Filter statistic to scan statistics

Test: sl4a FilterTest
Change-Id: Ic16e523524022803107b5e0653a35e3f2cbc5186
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
d4f5965598faf465e21f8254bcee0cef4b365840 15-Dec-2016 Emil Lenngren <emil.lenngren@gmail.com> Fix cleanup of dead GATT clients

A bug was introduced in commit
d828b42ed91213bd6115b84bc16809f13fc7afe6 which causes normal
GATT clients (neither scanners nor advertisers) not being freed
properly when remote process terminates, leading to out of space
of available GATT clients after some time.

This patch adds back a ClientDeathRecipient to handle this.

Test: kill an app that has gatt client, restart it and create new
gatt client, verify the client id is same as before in logcat

Change-Id: I318cb1693984444a172cb81be2023a064dbc02a4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f3863dec6d1ac2f83a5b0ab4df379ca1e87d5df3 07-Dec-2016 Ajay Panicker <apanicke@google.com> Use the correct ContextMap for scan statistics

Test: "adb shell dumpsys bluetooth_manager" after scanning with an LE app
Change-Id: Id8c16aa171d9ceee9b3ce83ae5afbefa0d6fd9ed
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4d6c42f3481f1ef7657b10f1ba5198216b67c498 01-Dec-2016 Jakub Pawlowski <jpawlowski@google.com> Fix null settings in AdvertiseCallback.onStartSuccess

Test: acts FilteringTest
Bug: 33171815
Bug: 30622771
Change-Id: Ib3df1d13535999ede0e820651fc6d69daeb8ef17
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
52ec4e757eff12405d0d074d58822b061cd77d84 23-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Cleanup startAdvertising call

AdvertiseManager.startAdvertising no longer sends multiple commands.
Its native counterpart, BleAdvertisingManagerImpl.RegisterAdvertiser,
thanks to better tests, guarantees that it either sends a success or
error callback. Therefore, no additional synchronization is required.

The only cases when the native code can get executed without a callback
are when the controller sends no response, or the bta thread is stuck.
Both of those cases should result in a crash and restart of bluetooth.

This patch also fixes an error, where if a timeout happens, the error
callback gets called twice.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertising
Change-Id: I72a729f4da2bd8d5d62a81a6f93dbadab088a036
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e82cce565b1549001f5a70526239c2d92106f85a 17-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Move startAdvertising() logic into native code (1/3)

AdvertiseManager.startAdvertising() was implemented in Java layer for
historical reasons. Now that we have nice native callbacks and tests,
it can be moved into native code, where it will be shared between
Android daemon and bluetoothtbd.

Bug: 30622771
Test: native tests added to cover startAdvertising
Change-Id: Ifee1fc74ad3e749ffc0c6a734e450c540b5b59bb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
6d5a03f00fc00a4fe9d9e2bd1e6a2abc8ffc5284 04-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Unify advertising API (3/3)

This patch unifies advertising API. On startup, if VSC multi advertising
is avaliable, it will be used, otherwise
BleAdvertiserLegacyHciInterfaceImpl will be used, which provides one
advertising instance.

Test: sl4a tests are passing, all proper tests updated accordingly
Change-Id: I899ed51bf4e747e1e3ff1a472a55f060249cbb75
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4aad8ce02068598e90dd2cdcb8165dba9d152e22 31-Oct-2016 Jakub Pawlowski <jpawlowski@google.com> Move start advertise method to advertising interface (1/3)

Advertising related code should be exposed through
BleAdvertiserInterface. Move client.listen function into this interface.
Remove reduntant clientif parameter.

Bug: 30622771
Bug: 24099160
Test: no tests necessary
Change-Id: Ifa3ba482993264f2e737cb1ca44028941056631a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f17d469c19b4fc24c185d4022eeb26f4929be5a7 26-Oct-2016 Jakub Pawlowski <jpawlowski@google.com> Separate LE scanner from GATT client (2/4)

Right now, LE scanning functionality is combined with the GATT client.
This is the source of various bugs, like scans suddenly stoppinging when
a GATT client is killed. It also increases memory consumption, because
we associate many structures with a GATT client, which are not necessary
when just scanning.

Test: sl4a BleScanApiTest ConcurrentBleScanTest
Bug: 30622771
Change-Id: Ie4a20abe7fa112bf501619651e288ae46d28e209
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
d828b42ed91213bd6115b84bc16809f13fc7afe6 19-Sep-2016 Jakub Pawlowski <jpawlowski@google.com> Don't try to stop advertising on death of GATT clients

We should no longer stop advertising for GATT clients. Advertisers
are kept in AdvertiseClient, and their death is handled in
AdvertiserDeathRecipient.

Bug: 30622771
Test: Kill app with GATT client registered
Change-Id: I21f246042d1632824ed3d2d8937f13bcafe380ab
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a017a7dbd303ee779e876d2e8b25f2a5629cae78 23-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Bluetooth: split setting params and enabling advertising (1/3)

Proper order of commands when starting advertising:
* set parameters
* set data
* enable advertising

This cannot be achieved when setting advertising parameters and enabling
advertising is put together in one function. Enabling before setting
data might cause first advertisements to be empty. If a device with
hardware filter pick up such advertisement, it might fail to properly
recognize our device.

Bug: 30622771
Bug: 19372779

Change-Id: I66c71f1b2c07c832eda0983ead816741798e923b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
64bf8e33481bb787aec895c603748eedb634a93b 13-Jul-2016 Jakub Pawlowski <jpawlowski@google.com> Separate advertiser from GATT client (2/4)

Bug: 30622771
Change-Id: Icacf1fa6a526d67ffadb8acc056d2acfefc5e895
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8cb5645a4e158a09d2f9daa77a67ea81fc63bfbd 22-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Merge "Fix a deadlock in service discovery callbacks"
am: 6fcd0081eb

Change-Id: I6e343bbc3ef5c54e372687ee989e1baa133a01c8
31ef05df3ad5f98466baf5928b6e0de7fd4c886d 19-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Fix a deadlock in service discovery callbacks

onSearchCompleted calling gattClientGetGattDbNative directly, might
cause deadlock if the jni_workqueue is full.

Bug: 30835367
Change-Id: I05de735aa189dd2d250f2c5816d38c2ddcabb864
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a49721050d2e2a532aa19283f94e889e0c138bc6 18-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Merge "Fix NPE in permissionCheck"
am: 64ed2357e3

Change-Id: Ief4258ed339822801b97c9a85309608d59e98286
34d865a17a184161ed27da3aaec6f6160376d27e 18-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Fix NPE in permissionCheck

permissionCheck can throw NPE when notification is received before
GATT database is discovered. Assume that permission is granted when
receiving notifications for unknown characteristic.

Bug: 30853729
Change-Id: I02aab1197b036584b2021d76f290c2c57db24a19
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
7afffc61e70249aad83341d166171035ada0ee58 04-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> Merge "Remove write type from GATT descriptor writes (2/4)"
am: ddd61d3443

Change-Id: I08ecf740a524cb511d86aa771809ccbc4afbf57b
44234cde4eea7d9452481f016ac6231ac318ed39 31-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Remove write type from GATT descriptor writes (2/4)

According to the Bluetooth Core specification v4.2, Vol 3, Part G,
section 4.12.3: "The Attribute Protocol WRITE REQUEST is used used
for this sub-procedure".

Change-Id: I557a55d2ba8e998bce552e40ec7031d91bc82752
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
de2637a1bc06ee5122a208a0648702a19747e801 03-Aug-2016 Jakub Pawlowski <jpawlowski@google.com> resolve merge conflicts of ebe5b95 to stage-aosp-master

Change-Id: I8c9ef03ff5e26128c9c6d69635355c4637075a45
05405f01802e6b5210575ad348ca441edb5cfb8b 01-Apr-2016 Jakub Pawlowski <jpawlowski@google.com> GATT Server refactoring (3/4)

Bug: 27999121
Change-Id: I45fec0fa6d0e8e26e40e1856ba9fee6f7fbd4f7b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4a7ba7568de2b00b8d9cdb92137604643fe5d34d 08-Jun-2016 Marie Janssen <jamuraa@google.com> resolve merge conflicts of 39957c0 to nyc-dev-plus-aosp

Change-Id: Ifa06a51ac390cc2b2f7401b65fb6428313a1f6fd
eb7b90f5b93db1230a5b64caa3d8d05a642e33a6 10-May-2016 Marie Janssen <jamuraa@google.com> Cleanup unused requires in java files

Change-Id: I7b055c1d3d3f6a69e9f49c077853ab45fcad7106
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8a128d3f9df2491656a1cb797e6119d871055aff 18-May-2016 Zach Johnson <zachoverflow@google.com> Merge "GATT: Move connection parameters to config.xml" am: 7eb11d6593
am: a85495cfc5

* commit 'a85495cfc5516ba5c931ebc947994cbd617bdb93':
GATT: Move connection parameters to config.xml

Change-Id: I65e24c1044eb9f6fad8ad71a3dd70d26d88a7292
d65009d591017319a429be1a920fdf763e71cebd 13-May-2016 Alain Vongsouvanh <alainv@google.com> GATT: Move connection parameters to config.xml

This makes it easier for OEMs to customize the high prioriy, balanced
and low power mode connection parameters through overlays.

Bug: 18013697
Change-Id: I8b486b772fdb871f2800238cb5e45c4ff0663952
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e308ed5889ddbc6b3fad2f4fd6f2a56ca83c9a2a 07-May-2016 Ajay Panicker <apanicke@google.com> Merge commit '98691c26ecdaf8689739966b1aeeaa54f3fd1eb2' into manual_merge_98691c2

Change-Id: I57aeffc87caa6da75773d811eb929d9c2aeca13d
1fdc7c138db776b02bc751fd7a80c519ea3324d1 13-Apr-2016 Ajay Panicker <apanicke@google.com> Add protection against LE scanning abuse

Added two checks to prevent abuse. The first check ensures that an
app doesn't scan too frequently in a certain time period. It is
allowed to scan again after its oldest scan exceedes said time
period. The second check ensures that an app doesn't scan for too
long. Upon starting a scan, this code waits a certain amount of time.
If the app is still scanning by that point, this code stops
the scan and forces the app to use opportunistic scanning instead.

Bug: 27357274
Change-Id: Ic99ac1f838e15ed99fe2fae643ef073d74b5c96b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a6ad5869940240d1f40649d9ca23e468f537b065 26-Apr-2016 Jakub Pawlowski <jpawlowski@google.com> Log permission check failure as warning

Currently when permission check fails, there is no way for users to see
what went wrong. This patch fixes that by providing better log message.

Bug: 28328321
Change-Id: I11f336c6c0560c4be482fefefaf95b70a06a63d6
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
039883a2a1ea22308e0255189e390d2c90a5ee80 26-Apr-2016 Jakub Pawlowski <jpawlowski@google.com> Log permission check failure as warning

Currently when permission check fails, there is no way for users to see
what went wrong. This patch fixes that by providing better log message.

Bug: 28328321
Change-Id: I11f336c6c0560c4be482fefefaf95b70a06a63d6
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c473ba2b2f5c8cad8c7f08f4a5d69594261bb736 23-Mar-2016 Ajay Panicker <apanicke@google.com> Add GATT server scan stats and extra protection

Bug: 27811549
Change-Id: I9138193f8e0dec4e548c57b635bad3703961088f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
62c17211ad512abcc64ad8e5173e80b580c8f59d 23-Mar-2016 Ajay Panicker <apanicke@google.com> Add GATT server scan stats and extra protection

Bug: 27811549
Change-Id: I9138193f8e0dec4e548c57b635bad3703961088f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e90db937c008f365f47e7199d6d86f9eb13bed1e 09-Mar-2016 Ajay Panicker <apanicke@google.com> Add scan results to scan stats

Ex:
GATT Client Map
Entries: 1

no.nordicsemi.android.mcp
LE scans (started/stopped) : 3 / 3
Scan time in ms (min/max/avg/total): 3050 / 6901 / 4815 / 14447
Total number of results : 338
Last 3 scans :
1970/01/01 08:20:06 - 6901ms 0 results
1970/01/01 08:20:13 - 4496ms 171 results
1970/01/01 08:20:39 - 3050ms 167 results

Bug: 27294154
Change-Id: I32fd6da035f2c37302a105733ac6a9817547b7a3
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
55296d1fb8e3daef4681205a9591f0af522b099e 22-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Fix register for notification logic

Bug: 27790582
Change-Id: I118071b907ec16faad401ba6583ca395d08d6d6e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ba4bab5dddac41d46f683eb215662eba78aeb3bd 22-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Fix register for notification logic

Bug: 27790582
Change-Id: I118071b907ec16faad401ba6583ca395d08d6d6e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
32dc7a6b919375aede777f3c821fa316d85449ae 17-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Use handles to identify GATT attributes (3/4)

Bug: 27778668
Change-Id: Id6ec1229998c9fc2ecd4d0a908405a7148703bec
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
02a821a0df99bdef55d2282530e13541fee8d36f 02-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Change how services are passed up to the stack

Bug: 27455533
Change-Id: I4c8218fb4c7437ab4597071ad9b580a797e34339
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
aa935f98f6c200298325027705b9ea031fce3467 26-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Get whole GATT db, instead of one by one element.

This patch uses new get_gatt_db method instead of current set of
callback to obtain GATT db.t

Bug: 27455533
Change-Id: I52e12253dd850ce8de35297c941638189cbbed1e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
5900a31a8c9b07d131cf83331c0073b057972a60 17-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Use handles to identify GATT attributes (3/4)

Bug: 27778668
Change-Id: Id6ec1229998c9fc2ecd4d0a908405a7148703bec
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c30f06668bc683b13319a33775ee8f9def3283c8 09-Mar-2016 Ajay Panicker <apanicke@google.com> Add scan results to scan stats

Ex:
GATT Client Map
Entries: 1

no.nordicsemi.android.mcp
LE scans (started/stopped) : 3 / 3
Scan time in ms (min/max/avg/total): 3050 / 6901 / 4815 / 14447
Total number of results : 338
Last 3 scans :
1970/01/01 08:20:06 - 6901ms 0 results
1970/01/01 08:20:13 - 4496ms 171 results
1970/01/01 08:20:39 - 3050ms 167 results

Bug: 27294154
Change-Id: I32fd6da035f2c37302a105733ac6a9817547b7a3
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
3f8fcc331cb4491f406f8bffef47e5c542893903 02-Mar-2016 Jakub Pawlowski <jpawlowski@google.com> Change how services are passed up to the stack

Bug: 27455533
Change-Id: I4c8218fb4c7437ab4597071ad9b580a797e34339
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
7a068c2a0861e12a3916cec313cf105395871999 02-Mar-2016 Ajay Panicker <apanicke@google.com> Move ScanStats to its own file

ScanStats was growing too large and had many components so
it was moved into its own file.

Bug: 27294154
Change-Id: Ic20c9e74d5d8b074f7e966625fb1bffab6c94f2d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
b7af521b6c2d1ccaaea687207dfbcd0c34489a3c 02-Mar-2016 Ajay Panicker <apanicke@google.com> Move ScanStats to its own file

ScanStats was growing too large and had many components so
it was moved into its own file.

Bug: 27294154
Change-Id: Ic20c9e74d5d8b074f7e966625fb1bffab6c94f2d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
418f1c1e242313ab8b83eb9e38ffeee52e6e9445 26-Feb-2016 Jakub Pawlowski <jpawlowski@google.com> Get whole GATT db, instead of one by one element.

This patch uses new get_gatt_db method instead of current set of
callback to obtain GATT db.t

Bug: 27455533
Change-Id: I52e12253dd850ce8de35297c941638189cbbed1e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f0202e094a55e51d1e1399f18ad255fb636dd381 25-Feb-2016 Ajay Panicker <apanicke@google.com> Mark background and opportunistic scans in scan statistics

Bug: 27294154
Change-Id: I71d8f388aa83da581958d2169ca9a5eb6088a367
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
45c63ddeca7ccb3bbf1cb3a7234c89c9eee177cf 25-Feb-2016 Ajay Panicker <apanicke@google.com> Mark background and opportunistic scans in scan statistics

Bug: 27294154
Change-Id: I71d8f388aa83da581958d2169ca9a5eb6088a367
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
bcc88d63a2168c0eabaf0056435076c4864e5bef 19-Feb-2016 Ajay Panicker <apanicke@google.com> Clean up gatt dump output

Bug: 27294154
Change-Id: Ia411bb3446b657b06a1748daa14628da79d59ca0
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e852adacf44eaad5756b9c7d176fe343abd5d86a 19-Feb-2016 Ajay Panicker <apanicke@google.com> Clean up gatt dump output

Change-Id: Ia411bb3446b657b06a1748daa14628da79d59ca0
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
3122e5171ef26ff487f10826786606df848ca25e 16-Feb-2016 Ajay Panicker <apanicke@google.com> Add Java Protobuf dump and ScanEvent Protobuf

Add Protobuf dumping for the Java layer. Also add ScanEvent Protobuf
to already existing scan event logging.

Change-Id: Ib05973c8d98df3bead84b22b3773c42effb25c87
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f7435f2f832ab1faa9ca254143796e9516905c63 16-Feb-2016 Ajay Panicker <apanicke@google.com> Add Java Protobuf dump and ScanEvent Protobuf

Add Protobuf dumping for the Java layer. Also add ScanEvent Protobuf
to already existing scan event logging.

Change-Id: Ib05973c8d98df3bead84b22b3773c42effb25c87
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
44f6d970c611bb13000f4eae052a6de316191fa4 16-Jan-2016 Adam Lesinski <adamlesinski@google.com> Use the incoming WorkSource to notify batterystats of BLE scans

BatteryStats is going to start tracking bluetooth scanning, so
we start by passing along the WorkSource we were given (or we created
if none was specified).

This is only done for BLE scanning at the moment, and only for regular scans.
Batched scans will also need to be considered.
Bug:22718669

Change-Id: I3ff042d6c344f13b600602c5966aef60b4587916
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
9fa95f7c39df16aa059391a637b4469f97e7d987 15-Jan-2016 Ajay Panicker <apanicke@google.com> Add extra logging for BLE scans

Added logging for application name, number of scans, and scan times
for each application that uses gatt scanning.

Example output:
GATT Client Map
Entries: 1

Application Name: com.broadcom.app.leexplorer (Registered)
LE scans (started/stopped) : 4 / 4
Scan time in ms (min/max/avg) : 6 / 7321 / 2744
Time since last scan ended in ms : 3522
Last 4 scans in ms (oldest first): 763 6 7321 2887
Application ID : 5
UUID : f69badb3-212b-40b5-b5b3-3bf9214310f9
Connections: 1
5: 6B:1F:6C:45:3D:DC

Bug: 26463429
Change-Id: I52376541a5b5874d0e40978990149a1283fd9c6a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8a0bc0a61e97f8923cb362e1dbb7ff66ffe51507 15-Jan-2016 Ajay Panicker <apanicke@google.com> Add extra logging for BLE scans

Added logging for application name, number of scans, and scan times
for each application that uses gatt scanning.

Example output:
GATT Client Map
Entries: 1

Application Name: com.broadcom.app.leexplorer (Registered)
LE scans (started/stopped) : 4 / 4
Scan time in ms (min/max/avg) : 6 / 7321 / 2744
Time since last scan ended in ms : 3522
Last 4 scans in ms (oldest first): 763 6 7321 2887
Application ID : 5
UUID : f69badb3-212b-40b5-b5b3-3bf9214310f9
Connections: 1
5: 6B:1F:6C:45:3D:DC

Bug: 26463429
Change-Id: I52376541a5b5874d0e40978990149a1283fd9c6a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
717eb278a0deefdb6f43b97f40986641a8ac170b 22-Dec-2015 Alexei Czeskis <aczeskis@google.com> Enforce BLUETOOTH_PRIVILEGED permission for FIDO U2F over GATT

All access to external Bluetooth U2F devices must go through system
APIs so that calling apps cannot spoof their idenity. This change
blocks the whole FIDO U2F service from being accessed.

Change-Id: I122849452c09fb8bc3bff9ead2db1edf64ddfabc
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a6ebe46992bcdf60bfc40cbb78974425b8901449 22-Dec-2015 Alexei Czeskis <aczeskis@google.com> Enforce BLUETOOTH_PRIVILEGED permission for FIDO U2F over GATT

All access to external Bluetooth U2F devices must go through system
APIs so that calling apps cannot spoof their idenity. This change
blocks the whole FIDO U2F service from being accessed.

Change-Id: I122849452c09fb8bc3bff9ead2db1edf64ddfabc
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
bac1f06eeded99fa43e00ac4114846a96c22e03c 12-Dec-2015 Jakub Pawlowski <jpawlowski@google.com> Fix race condition when doing GATT discovery

Right now if discovery to multiple GATT clients is happening
simultaneously, onSearchComplete will be run only for device that
finishes discovery last, while it should be run for each device.

mSearchQueue is one for all discovery sessions. Instead of checking if
it's empty, we must check if there are no elements for given connId.

Bug: 26038939
Change-Id: I9417cd7be8cab4b808ce7f045861e1adc2055629
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
80a654ab3be8109bc427e27055b569127941215d 15-Oct-2015 Fyodor Kupolov <fkupolov@google.com> am 4a9f9b02: Fix foreground scans for pre-M apps when location is disabled

* commit '4a9f9b0253fde7341bf9e12c5bd0e6f29fced4fc':
Fix foreground scans for pre-M apps when location is disabled
4a9f9b0253fde7341bf9e12c5bd0e6f29fced4fc 19-Sep-2015 Fyodor Kupolov <fkupolov@google.com> Fix foreground scans for pre-M apps when location is disabled

Foreground scans were still broken even for L-or-earlier apps when the
location was disabled.

Bug: 24203266
Change-Id: Iaad8d7828a4b383b6cc0a033e94c7d2cd8c9328b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
93793893b122e5eb3101899411fccaabc075dfaf 14-Sep-2015 Sharvil Nanavati <sharvil@google.com> Read connection intervals from config.xml so it can be overriden by device.

Wear needs the minimum possible connection interval for BLE connections
to support the Wear iOS companion app. This change simply moves the hard-
coded connection intervals to config.xml so they can be overriden for
Wear devices.

Bug: 23903184
Change-Id: I1f60772ef6a100ad5e4f02f629b5ca6e80fc207a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
72ecb4caa630b63f66505ccb202a807b1af4e294 19-Aug-2015 Sharvil Nanavati <sharvil@google.com> Make location enabled check configurable when returning scan results.

Some device classes (e.g. Wear) don't allow location to be enabled but
would still like to allow LE scanning to take place. This patch allows
the location enabled check to be bypassed if the platform is so configured.
Even if the location check is disabled, the calling app must still have
one of the location permissions.

Bug: 21852542
Change-Id: I206366ce262776d4668c0c42e066f0e20f5fdfeb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
312e10ad5bcbb1e3d021c4798d55c40f99c7a6ef 10-Jul-2015 Fyodor Kupolov <fkupolov@google.com> Block results if location is disabled in Settings

Apps holding PEERS_MAC_ADDRESS permission can still access scan results.

Bug: 21852542
Change-Id: I75fc289e8965df64efb7ff84fe5a4204904724ab
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
d2fc8cbd87c7a742223e8742a442a48690d426ce 20-Jun-2015 Fyodor Kupolov <fkupolov@google.com> Do not return devices when caller has no location permission

In onScanResult, skip a device if calling process has no location
permission/appop

Bug: 21852542
Change-Id: I4e3511b33d69d94c1df6e1bf2f9a351303a90685
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f6d53a6dcdd7cfa4065cc762c87fafdb7f491bf7 12-Jun-2015 Wei Wang <weiwa@google.com> Enforce permission check in BLE scan only mode.

Bug:21494402
Change-Id: I3d5d6e87bb8aef8760aa4087559abfeebabb42b1
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
35e1ec3c673b81022339978a37f191b5ed67f065 27-May-2015 Prerepa Viswanadham <dham@google.com> Increase the min LE connection interval to 11.25ms

To reduce audio choppiness, increase the min LE connection interval
to 11.25ms from 7.5ms

Bug: 18776956
Change-Id: I4722a85f0d3204ec741f6a88142907a29bffe0bf
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
9d5707fc9ffbcb0b3a6b9112d0c6df4a8211d51e 01-May-2015 Prerepa Viswanadham <dham@google.com> Merge commit '4626db5' into master_merge
4626db541e2eb7d910fd0d79c75341f948a11d41 30-Apr-2015 Prerepa Viswanadham <dham@google.com> Take out TBD comments.

Change-Id: I5e02b4874b6cbc25f2361226e48e4c879698d0c8
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ecbac5b723ac906c46271c2b740a52ccef625c57 31-Mar-2015 Satya Calloji <satyac@broadcom.com> LE low power scan feature

LE low power extended scan feature JNI changes
based on Google spec v0.95

Bug: 20029342
Change-Id: I5efd7ee3c644a51371bf250fca535e06c466640e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
cd152eb16444369d9fbdb642fbb8560fed96b83a 28-Apr-2015 Wei Wang <weiwa@google.com> Fix crashes when calling numHwTrackFiltersAvailable.

Initialize curUsedTrackableAdvertisements in constructor. Also remove
BLUETOOTH_PRIVILEGED permission check on onFound/onLost APIs.

Bug:20643021

Change-Id: I2de6afd31d7af6cb927bc532f6cd855e1a7f46a4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ee928044471477ddcecd4e32aa6efe292d892464 22-Apr-2015 Prerepa Viswanadham <dham@google.com> Fix some nit's in previous comments

Change-Id: I47fe325daff6dd2dbe83a7491fedf06daa19f18f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
871ab55f8460ecc0cbff29904c312528fb7bbc63 10-Apr-2015 Prerepa Viswanadham <dham@google.com> Manage onfound/lost resources (2/2)

Provide error callback to app if advertisement tracking resources
can't be reserved

Change-Id: Iff545591b919bcf7ca6615072e942be3e56938c2
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
83557a8324f0d1c2ae6ff416fbc122d7b6c64fe3 11-Mar-2015 Nitin Arora <niarora@codeaurora.org> Bluetooth LE background operation mode (1/2)

Changes to BluetoothAdapter state machine for handling new
states BLE_STATE_ON and intermediate states BLE_TURNING_ON
and BLE_TURNING_OFF. Also includes the actions required
while migrating in and out of these states including
start and stop of GATT services and other profiles.

Change-Id: I08d6ff05c2cefe559d5bb5789a1a488afefbe544
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
2e85ea37c1ba495d3f0fd702f0a3920f3faf2848 04-Apr-2015 Prerepa Viswanadham <dham@google.com> Onlost onfound feature

Change-Id: I7ceace5f14ed1cbdb8b66267ced318741febee73
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
655434047df38242c1848eee283f134cfd299fd1 10-Feb-2015 Satya Calloji <satyac@broadcom.com> OnFound/OnLost feature JNI changes based on BLE spec v0.90.

Bug: 19609671
Change-Id: I2ac0687ea53616287d82fe47f256686619c0998a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
3f8164cd8c4bcce5e79770ee7c02fe00ba9581d5 16-Jan-2015 Andre Eisenbach <eisenbach@google.com> Remove GATT context if client registration did not succeed

Bug: 19028495
Change-Id: I25827e365621fa9b3ef6e85ef9c103cf03654b7c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
02bebee111e2ff96ed1484a49bdabebe40137fb5 16-Dec-2014 Andre Eisenbach <eisenbach@google.com> Enforce BLUETOOTH_PRIVILEGED permission for HID-over-GATT

Bug: 18359172
Change-Id: I06ed22af9dab8129ba7668dadd5b988d63c8a527
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
4bb5e13f2902dc78048ede782996e78e7314afd5 08-Dec-2014 Wei Wang <weiwa@google.com> Fix timestamp parsing issue for full scan results.

Bug:18663523
Change-Id: If0ba083125d75e857072519fc7d6226a4db0273a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
888d015c7d6f2c98ff963cb78414cf86611bd84b 02-Dec-2014 Andre Eisenbach <eisenbach@google.com> Merge "Add GATT debug information to dumpsys/bugreport" into lmp-mr1-dev
a02de6484f9b6cac6b8c811edae11be55746b555 02-Dec-2014 Andre Eisenbach <eisenbach@google.com> Add GATT debug information to dumpsys/bugreport

Bug: 17894347
Change-Id: I70a2e237e4aa6a1057e5ff519f3f6148a27b3a98
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e632e4bb8c873f102cac7d6f39585ea06f34c082 26-Nov-2014 Andre Eisenbach <eisenbach@google.com> Add server-side callback for change in MTU (3/4)

When a client requests to update the LE transport MTU, the server
currently does not get notified and can therefor not properly size
notifications appropriate to the current MTU.

Bug: 18388114
Change-Id: Ie075871cbc643bd3840e9ab472706f1565b74467
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
cc633970b1fc16db030da1634a0c92fa3548a465 08-Nov-2014 Mike Lockwood <lockwood@google.com> Merge "Add dumpsys support for bluetooth" into lmp-mr1-dev
ac67c808d9c8072da9f36c1a964ee78135f42edb 29-Oct-2014 Wei Wang <weiwa@google.com> Fix batch timestamp parsing error.

Bug:18166784
Change-Id: I4817a1410c570bd1fa59425c257fb4a3d96e9e1f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
838949d46a4cc054985a8cfd682004f8dd6d3bbb 28-Oct-2014 Mike Lockwood <lockwood@google.com> Add dumpsys support for bluetooth

Bug: 18159457
Change-Id: I807a7d921b6e5baf111d0f0e3e182c6633a93b7c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f7a5598424273fe514ce3293cb11ad6c31ad6f17 18-Oct-2014 Wei Wang <weiwa@google.com> Remove spammy log information for BLE scan.

Bug:17574681
Change-Id: I44a9725aa4103734418411e6dac9c2e6ec564c4d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a1664d61821a59145f8095a75373403a0c54244e 23-Sep-2014 Wei Wang <weiwa@google.com> Add support of advertising through standard instance.(2/4)

Use standard advertising instance if peripheral mode is support but multi adv is not.

Bug: 17552672
Change-Id: I21044665d0ac38f84abb95bfe1348d7bf83bfd2a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
934dee789c0c68607a704c5c31ae2e4b956dc227 19-Sep-2014 Prerepa Viswanadham <dham@google.com> Defer callbacks if the transport is congested

Hold client characteristic write callbacks and server notification
callbacks if the transport is congested. When the congestion clears up,
all queued callbacks are sent to the application.

Bug: 17289507
Change-Id: Ib22d7857ac3990fd3cc922aedd4258013e1af54c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e08a0eeb9cbf0ee732171d1c1d353aecdad0a7d2 17-Sep-2014 Wei Wang <weiwa@google.com> Fix a typo that compares scanMode with callback types.

Bug: 17187159
Change-Id: Ieca583e7cf02d63b9eceda7872511c9db280c04a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
6ef76fa25c1de11cbb5ae35d645c68584f680ac8 12-Sep-2014 Wei Wang <weiwa@google.com> Enforce permissions for BLE hidden APIs.

Bug:17187159
Change-Id: Ibe467fa52fdead036a80922947cc295257221530
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
5ca43226937e098a2404d61de3f991af5c6a2689 05-Sep-2014 Wei Wang <weiwa@google.com> Merge "Fixed batch scan returning status 12 when restarted." into lmp-dev
96509d5ff7109bc42a4c25143f70ec41a127d109 03-Sep-2014 Wei Wang <weiwa@google.com> Fixed batch scan returning status 12 when restarted.

Also fixed no batch scan results when both truncated and
full batch are enabled.

Added a BatchScanParams to hold parameters for batch scan.

Bug:16850169
Bug:17213118
Change-Id: Ib3bb7442aa2657912ef4377f825388ac8e1010bb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ab10811e960ed0a5c6098467b2184895831f33ac 05-Sep-2014 Prerepa Viswanadham <dham@google.com> Return right connection status when connection failed

bug: 17326529
Change-Id: I57abf2f6a98c469248613ea386f0fa2ffaf5eac4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
7c405bac41fc4ebb5c9cc7b5c896b023f7b1e9fc 25-Aug-2014 Prerepa Viswanadham <dham@google.com> Set batch scan params based on scan settings.

bug 17134263

Change-Id: Id0d314ad1c14ad20e32830ae2c8ad5f80765b28b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
24cb4d5082f4568074e5d1f375027a219aa40be7 24-Aug-2014 Wei Wang <weiwa@google.com> Merge "Fix race condition when advertising app dies." into lmp-dev
039bf1606bddb3794fd6aa9adee704733f89544f 12-Aug-2014 Wei Wang <weiwa@google.com> Fix race condition when advertising app dies.

Bug: 16565960
Change-Id: Ica801a1186e62fcba666deabe5989dd47d404b68
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1dc1aab071533430ff1a0cfe1aa49e5f954f3518 20-Aug-2014 Andre Eisenbach <eisenbach@google.com> LE: Rename new MTU and connection paramter update APIs

bug 17005342
Change-Id: Ic773b5c4bb3da9777613c8094ad21ea6f720110d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
03f23ee7d3868e97ec7ed1a3d81c149b5b0ebd69 13-Aug-2014 Wei Wang <weiwa@google.com> Add protection before cleaning up adv and scan manager.

b/16845251

Apparently for GattService stop and cleanup could be called before start
is even called.

Change-Id: Id0ac2e68da504f79160264012a0cdf5127eccfc7
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
55a7eff213d57dd0ff948d441edb16f4a6ae2ea6 11-Aug-2014 Wei Wang <weiwa@google.com> Use nanos instead of micros in BLE scan.

Change-Id: Ifdaf101f92ae4c8d2bcecf62a1942961d6610151
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c1d460a4ee15238f33e9c2a61b571965accf9838 08-Aug-2014 Wei Wang <weiwa@google.com> fix build.

Change-Id: I034cc118ea4dca67ed6240b700d4ac504562ddfc
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c43ce5118eab93469e31d56ee30043e5e011fa89 07-Aug-2014 Wei Wang <weiwa@google.com> Fix build.

Change-Id: Ied3bd289b662cd342ba05f5038175007d3211a63
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
50cc9194f72c040f04c2ae0f0322246a570e8bfa 07-Aug-2014 Prerepa Viswanadham <dham@google.com> OnFound/Lost reporting: s/w detects the first match and
hw signal is used to report onlost.

Bug 16733710

Change-Id: I4d1d0320b6894fe1af59192eb56a4a801609049a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
00975169ba4eb5251397a66532ee9a3288c0f137 05-Aug-2014 Wei Wang <weiwa@google.com> Clear pending data and allow all filter when batch stopped.

Also send batch data to multiple clients for full batch.

b/16802098

Change-Id: Ife1723b818531fcf2cff897686f33f6b0a1d0aaa
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
475a4f7727a082ccf289ce406e75c463750a515c 05-Aug-2014 Wei Wang <weiwa@google.com> Workaround for reversed mac addresses in batch scan.

b/16803363

Change-Id: I47299ed2a6191e7f05c229feb1f1f0424e486907
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
18999c2cfd477050de0ca88c3a73458235d82656 30-Jul-2014 Wei Wang <weiwa@google.com> Add a default impelementation of IBluetoothGattCallback(2/2).

b/16636127 Explicitly use UTF-8 for ScanRecord's local name

Change-Id: Ib152239cdee0becf3f49f1b610dfe1c2296c3647
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a1feac750a78ef35ff83e381ca421d9c68c49673 28-Jul-2014 Wei Wang <weiwa@google.com> Fix build due to removal of configureScanParams.

Change-Id: If3458b47bb9dfc508e630fe1fb608f01c44284a9
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e0a211b1c15672734e329390cb2f04ca006b59bd 26-Jul-2014 Prerepa Viswanadham <dham@google.com> Refactor configuring scan params to scan manager

Change-Id: I8c60f0fa4307c2833bc5da6cd080515c5b16b652
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
466e67f34a72bbb43fa03aae7ad96cb41f02451d 27-Jul-2014 Wei Wang <weiwa@google.com> Fix service data filter and report delay issue.

Change-Id: I1e4dd400c94f8740e4e950c42be6beac858f3ab8
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
86c292ab0f0fed25345a2eaef0fd92ff9c72a9e5 24-Jul-2014 Wei Wang <weiwa@google.com> Use scanner for lagacy LE scan (2/2).

Change-Id: I273e7a2b6687f38d051c3264ff1bbb0025507820
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
9c24a0ef159f3332a2e66648d8d3c7dfac26cbc8 22-Jul-2014 Wei Wang <weiwa@google.com> Add a ScanManager that handles Scan related operations. Remove
GattServiceStateMachine.

Change-Id: I03afefaa4ba534abbf8e2bd38b4888020764cb22
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
cdc69a341eae90f177ced91931bc744ee0d34c9d 17-Jul-2014 Wei Wang <weiwa@google.com> More API modification of BLE APIs (2/2)

Change-Id: I65085fa0fa5d02a9163f66555a1c7ba339b454af
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
cfda60b6b204f6e97bc961d1ac43ef7c43ac26a8 19-Jul-2014 Andre Eisenbach <eisenbach@google.com> Merge "Reduce GATT logging output" into lmp-dev
cae2bfe10d59a759596136a4ff07750fe6176351 18-Jul-2014 Andre Eisenbach <eisenbach@google.com> Reduce GATT logging output

Change-Id: I85e9191065083f11056de44202a8e5a0cba1d2c8
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
fbe63484114cf9b7a79043e0bc5bb74504cf5730 17-Jul-2014 Andre Eisenbach <eisenbach@google.com> LE: Add connection parameter update request API (3/4)

Change-Id: I1be7d530d4db27473086ee8734cdb6aa5e63667c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
87dfc410a3bc99ddf1dd30114500d2a7970075c0 18-Jul-2014 Wei Wang <weiwa@google.com> Merge "Add an AdvertiseManager for LE advertise operations." into lmp-dev
27bd5f277ccf471f2fa9cd9151a2a226b51bc825 16-Jul-2014 Wei Wang <weiwa@google.com> Add an AdvertiseManager for LE advertise operations.

Move all advertise logic out of GattServiceStateMachine.

Change-Id: I9bc9be29372e79e863fc6a0b16d4808918bfb404
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
2626af8b78e7f42e5e0807d58ca14a4b8f6161b5 11-Jul-2014 Wei Wang <weiwa@google.com> Remove MR2 BLE Advertising hidden API from L codebase (2/2)

Change-Id: I1430cef859544fc97b7c39ead42dcb184707aa5f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
361e580eb6c07759cdd775ed57902839ff4bfe90 11-Jul-2014 Andre Eisenbach <eisenbach@google.com> Unhide Bluetooth batch APIs. Deprecate BluetoothAdpater scan APIs. (2/2)

Change-Id: If29034da523a4f2a0ce9807226363f038f0360cd
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
183b33edc8af0344f7651823fa2e622955d15005 10-Jul-2014 Wei Wang <weiwa@google.com> Fix filter index stack initialization issue caused by GattServiceStateMachine created before adapter property is filled.

Change-Id: I4f487378b332d3b33c8646fd78d9ccec41431975
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
8e8d9314d67618e5604059d3758c2c8a92ae361f 09-Jul-2014 Prerepa Viswanadham <dham@google.com> OnFound and Onlost found integration

Change-Id: Ia7bdcd180a318844ab390e23a1f61168e79c324b
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e84b9ab8ebca5e6d108d722fa84234fddf3685cd 02-Jul-2014 Wei Wang <weiwa@google.com> Implementation of batch scan.

Change-Id: I247a1676d20131ca05674da44a06d8c21785d71d
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
2b670d217c743a7a8082f1d72baf532ef66ba21c 28-Jun-2014 Wei Wang <weiwa@google.com> Phase 2 scan filter implementation. Also provides skeleton for batching and onFound/onLost integration.

Change-Id: I2e838296191ff6f55481fcde7d05d7cd6d4899dc
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
afc04fcffad9713d5385894b41a1fb29c1d6ee96 28-Mar-2014 Andre Eisenbach <andre@broadcom.com> LE: Add notification sent and congestion callbacks (4/4)

This change introduces two new callbacks for applications to better
handle LE notification flow control and transport congestion. The
notification callback is invoked when the remote platform confirms an
indication or when a local notification has been passed to the
controller. No new notifications should be sent until a callback is
received.

Congestion callbacks are triggered when a GATT operation cannot be sent
to the local Bluetooth controller. Repeatedly calling
writeCharacteristic() for example will eventually trigger a congestion
callback. Applications cannot send additional data until a further
callback is received, indicating that the congestion has cleared up.

Change-Id: Ifa8de9c12d8d487e28fb5a1a5e05150a7fec90cb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
a2be7670787cc4576386bf4a8baea4b88d35e90b 06-Jun-2014 Prerepa Viswanadham <dham@google.com> Refactor ScanClient scan settings to one place
Scan_mode_low_power 500ms/5000ms (10%)
scan_mode_balanced 2000ms/5000ms (40%)
scan_mode_low_latency 5000ms/5000ms (100%)

Change-Id: I5f24dc24fc86eba35c645a968e1c80934e3dd2d5
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
c145fd074dac20e6c9836ee6e900538f2cc7dd54 05-Jun-2014 Prerepa Viswanadham <dham@google.com> Use controller provided information about it BLE L feature capabilities

Change-Id: Ia3099c1df2664b79392b2a4f7e3e47d1507a9efe
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
b5bdb625226aca1650ba4c57fd94c8f9b4aa7750 02-Jun-2014 Wei Wang <weiwa@google.com> Add device capability config for new BLE features(MA, scan filter).(2/3)

Fixes b/15387925.

Change-Id: I7cbcdd340fca7965f2be2c0d2a938e7646dc6849
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
80780da923f52a6b5a80f8619cf3e735970eaad9 26-May-2014 Wei Wang <weiwa@google.com> Add protection for controller timeout/failure, maximum number of
advertisers, filters etc.

fixes b/15348260.

Change-Id: Ie5a460a7f042cdeba4c1e63498fd6db9dadbb66f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1a1d5f652d44b98d3b8ec73e1bc5dc19b923eb42 22-May-2014 Wei Wang <weiwa@google.com> only stop ble scan when it's already started.

Fixes b/15174583

Change-Id: I3068254c576e8735ffb47d89f4bb8d5a719891c9
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
80e7d011fdb511a6583258458e97821176866baa 21-May-2014 Wei Wang <weiwa@google.com> Changes due to addressing BLE API review comments

Change-Id: I27b94952a243bf4fdbebdc103e7d541ce23efa3f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
ccd5f131d51ef8019c87628b992bc67cbbcc2ea6 21-May-2014 Wei Wang <weiwa@google.com> Add scan response as an advertising parameter(2/2).

Change-Id: Ib0c86b81b9a2e0dd4110275c804e814451231966
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1a2f87a202a4d634f0b6b5b6e9a8545796207288 20-May-2014 Wei Wang <weiwa@google.com> Revert "Revert "Use state machine in gatt service to handle different state transitions. For this CL only normal BLE scans are moved to state machine.""

This reverts commit e68125be766dac23f9b346464e3d84e078132914.

Change-Id: I11bc9d84390043f189d268916bc681e68deea160
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
e68125be766dac23f9b346464e3d84e078132914 20-May-2014 Wei Wang <weiwa@google.com> Revert "Use state machine in gatt service to handle different state transitions. For this CL only normal BLE scans are moved to state machine."

This reverts commit 3c6c305ebdfcaf239108f775f8ee2db2a0459c0f.

Change-Id: Ib1601bba4fe9d38a338ecf86740b20fcaccfa48f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
3c6c305ebdfcaf239108f775f8ee2db2a0459c0f 07-May-2014 Wei Wang <weiwa@google.com> Use state machine in gatt service to handle different state
transitions.
For this CL only normal BLE scans are moved to state machine.

Change-Id: I27376c7826544ca41aad156deefcd6a63d6cefbb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
1d7aaff7194ee04a8f3c8ddb0a94c1d27776de8f 08-May-2014 Wei Wang <weiwa@google.com> Changes due to the rename of isShortUuid to is16BitUuid.

Change-Id: I6a822ebcbe55d1e3162c3f3374278bf7f0adea5f
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
88d774ebc08d875d54db6b13cec06c8ce3d0925a 13-May-2014 Prerepa Viswanadham <dham@google.com> Improve name of api.

Change-Id: Ib35203a46f74aed43e2ce32dba02755016d84998
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
f745ace608784e226a78170bf5a24fe114f1026f 10-May-2014 Prerepa Viswanadham <dham@google.com> set scan parameters in BT stack. Apply the most demanding request
in terms of duty cycle for all outstanding requests.

Change-Id: Iee460003d210455ab180367f3518bfb10a6c2539
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
53f26c079f676b3a72a20de4e30f075057d3777d 09-May-2014 Prerepa Viswanadham <dham@google.com> LE: Add API to set scan interval and window (3/4)

Drop client_if from api
Change-Id: I5ad339573c5fec28b22d8c4c5949eaf0d4d118aa
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
18591a7894c5e4516491438c2e758adf8d2ade90 18-Apr-2014 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Add transport param to Connect APIs

Support for passing preferred transport for GATT connections as part of
Connect APIs

Change-Id: Ibeafb922aec954d1f2e693b422e264fbc87468f2
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
662758761424473da90573de5fed1b686ce9ba0e 25-Mar-2014 Andre Eisenbach <andre@broadcom.com> LE: Add API to configure MTU for a given connection (4/4)

bug:13571470
Change-Id: I4faf13f3daa535337b721a8b48e92334ed0ecb7c
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
24dce60783d85fbf49f550203a383b2f4a171a52 12-Mar-2014 Wei Wang <weiwa@google.com> DO NOT MERGE: Add status callback for start/stop advertising.
cherrypick from master to fix b/13289050

Change-Id: I666969442b756ce461ff64eff0d09f5283431fb3
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
873b8064cca4d0f32808842a39e54e305dd5b410 30-Oct-2013 Wei Wang <weiwa@google.com> DO NOT MERGE BLE peripheral mode (2/4): Gatt Service Change.

Add advertising data to Gatt Service/

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

Change-Id: I0ea7df8c159ad388d8e58768c49e785e9a4694bb
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
cd34ad74f093c4867e616ba247fe3853b06afebc 16-Aug-2013 John Du <johnldu@google.com> Stop scan when client binder dies

bug 10213756
Change-Id: I01b397070f729df7c6000c2dc2613efbe8801681
(cherry picked from commit 45ba247afa1cb3c61a871b0c13f6546411afe68b)
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
97d5a00d3d588f89b36be801461455a2ab625907 07-Aug-2013 Andre Eisenbach <andre@broadcom.com> LE: Add peripheral role support (4/4)

Initial stack support for the LE peripheral role.

Change-Id: I3600558fd777999bcd610fa3aaed259414702ea4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
7f9efa4413d64569cd8a25ef2262778505059d80 09-Jul-2013 Andre Eisenbach <andre@broadcom.com> LE: Add instance ID to descriptors (4/4)

If a remote devices offers multiple descriptors with the same UUID, the
instance ID is used to differentiate between them.

Change-Id: I176dcfe1dc582120173cf3bd2d4329d7d764e39a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
9e4a62e487bda885848771e4fa87717465bf75d2 25-Apr-2013 Matthew Xie <mattx@google.com> Enforcing bluetooth permissions for GATT api calls

bug 8667898

Change-Id: I2100d402f6496271bf97fed03684bedd8d231da4
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
dbaf9cd41555de7e6101f368ac348bbeb2094809 10-Apr-2013 Andre Eisenbach <andre@broadcom.com> LE (3/3): Add application ID to connection callback

Bug: 8589393
Change-Id: Iff14aa568bac4d62920bc35ec1545384e200b53a
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
6af1f25031e4378efb1a4fc286974c1038a357ba 05-Apr-2013 Andre Eisenbach <andre@broadcom.com> Add binder DeathRecipient to GATT service

Bluetooth stack connections are now released if a GATT client or server
application closes unexpectedly.

Bug: 8362526
Change-Id: I13b0711f65dcc752f4ed5c5a6e469b6fea41de75
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
03b8386de26ba6500af2d66687bff9b01f2cbbd7 06-Feb-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Initial version of BLE support for Bluedroid

Change-Id: I9579b3074bc4bc59dd45f71c0937e8879196555e
/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java