History log of /system/bt/stack/gatt/gatt_api.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ad3ab46b727119f3f7233e392d3d628909234e61 09-May-2017 Jakub Pawlowski <jpawlowski@google.com> Improve GATT Server database handling.

- use references instead of pointers where possible. Thanks to it we can
remove some reduntant null checks and simplify the code.
- use directly allocated memory instead of own buffers. Thanks to it the
stack uses around 12kb less of memory after startup.
- use list and vector from std library, instead of some hand-written
implementations.

This patch is a prerequisite for further server refactoring, that will
further reduce the space used, make unit-testing possible, and enable
proper handling of PTS GATT tests.

Test: sl4a GattReadTest
Bug: 38225928
Change-Id: I1620be682259ccb8f0c02754806e355e3f1ad0c1
(cherry picked from commit 6395f1547ed6179dcdeed392bd9909d18772fb25)
/system/bt/stack/gatt/gatt_api.cc
5c1fe35097f5bb48c419a69605fed0e094e797d2 10-May-2017 Jakub Pawlowski <jpawlowski@google.com> GATT Server: check UUID

Characteristic and descriptor can't use UUID equal to GATT Attribute
Types. Using such UUID would result in invalid GATT database, and
crashes during service discovery.

Test: manual
Bug: 38134693
Change-Id: Ide2c21109f885cbc79287452b1dabd3f532de385
(cherry picked from commit 671ad6679ce4b8edcdb7eaaee96bc5c66b557441)
/system/bt/stack/gatt/gatt_api.cc
96fb273d92a31204edcf43ab2594a19876d14056 25-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Add option to specify initial LE connection PHY (1/3)

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

Test: manual
Bug: 30622771
Change-Id: I720f134e2800dc3d282135bb7ffbe3882117c680
/system/bt/stack/gatt/gatt_api.cc
b5ba4fdbc433544de3806f8e82976898e444b491 24-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Expose connection update callback (1/3)

Test: manual
Bug: 30622771
Change-Id: I94d25f6f22b42fb1432a9288c97b82503d57db86
/system/bt/stack/gatt/gatt_api.cc
eafd45d08653bb1621c82a2f3cf922a43a0b1bc5 23-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Set preferred PHY and read PHY implementation (3/3)

Test: manual
Bug: 30622771
Change-Id: I4267238a0b5c7bc373ae1846ebd19a716881a4ec
/system/bt/stack/gatt/gatt_api.cc
f9c5752344ec459def74765f512d28fa0f402168 22-Feb-2017 Marie Janssen <jamuraa@google.com> cleanup: no assigns in conditionals

Some assigns snuck into our conditionals, making the code harder to
read / follow.

Also remove some unnecessary null checks after osi_malloc that are
nearby.

Test: compiles, sanity check with device
Change-Id: Ia544da44060d9fc4363af9fbcb4112f3190f75ab
/system/bt/stack/gatt/gatt_api.cc
911d1ae03efec2d54c3b1b605589d790d1745488 29-Nov-2016 Myles Watson <mylesgw@google.com> Apply clang-format to the rest of the tree

find * | grep "\.[ch]" | xargs clang-format --style=file -i

Test: mma -j32
Change-Id: I6fcc9862bb7bc07c2a367ca58fef2b3cd27a6f05
/system/bt/stack/gatt/gatt_api.cc
9ca07091a1f07ea201cee0504dab6a1d7073d429 29-Nov-2016 Myles Watson <mylesgw@google.com> Reformat long comments before clang-format

Test: mma -j32
Change-Id: I86a2a4af9dcd22d675ca1f764bb2c9623d63edcc
/system/bt/stack/gatt/gatt_api.cc
ee96a3c60fca590d38025925c072d264e06493c4 23-Nov-2016 Myles Watson <mylesgw@google.com> Fix asterisks in block quotes

Remove double asterisks from block quotes.

git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i

Fix asterisk line lengths

git grep -l '^[ /][*]\{79,\}[*/]' | \
xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3",

Test: mma -j32
Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
/system/bt/stack/gatt/gatt_api.cc
f33b6f434f086b20fabe5913016bc423ac975057 23-Nov-2016 Marie Janssen <jamuraa@google.com> readability fix: No assigns in if conditionals

Coccinelle-assisted:
@@
variable i;
expression E;
statement S1, S2;
@@

+ i = E;
if (
(
- (i = E)
+ i
!= ...
|
- (i = E)
+ i
== ...
|
- (i = E)
+ i
< ...
|
- (i = E)
+ i
> ...
|
- (i = E)
+ i
<= ...
|
- (i = E)
+ i
>= ...
|
- (i = E)
+ i
)
) S1 else S2

for file in $(find . -name "*.cc"); do
spatch --sp no-if-assigns.cocci --in-place $file
done

clang-format --style=file -i bta/**/*.cc

Test: mma -j37 and basic sanity testing on angler, sailfish

Change-Id: I41a2964afac347c24e13869b6c172e321e646091
/system/bt/stack/gatt/gatt_api.cc
9979121f0865e07432215529f9b157792ae3ef21 18-Nov-2016 Myles Watson <mylesgw@google.com> Remove BTA_GATT_INCLUDED

Test: Connect to a BLE Keyboard
Change-Id: I00393e2bf09fb65533e953896563e69aab5a22dc
/system/bt/stack/gatt/gatt_api.cc
18738c322e292a532ea80b33f451bb7e63c5ffc3 14-Nov-2016 liuchao <liuchao741@huawei.com> Fix a NULL-pointer check order reverse in GATTC_ConfigureMTU

This fixes a potential NULL-pointer check order reverse
in case failed to get TCB using the TCB index

Test: mm -j 8
Change-Id: I8fcc168d7d077f8df7c7abb9c325c5168fa8cd39
/system/bt/stack/gatt/gatt_api.cc
a60c5fdaa2e22bd0a65139353b346f43ca2c6dd7 15-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Remove unused GATT_Listen

Bug: 30622771
Test: still builds
Change-Id: I4003a1241e611c9c1f2a21090ea3ba7530b0643a
/system/bt/stack/gatt/gatt_api.cc
7680a0b1f60425a654a7186a74f1483194f9f0cd 09-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Always use big endian for keeping service UUID

When adding services to GATT database, applications should always provide
it in big endian format.

Bug: 32750783
Change-Id: I5264357bdbb6bab453b63baae6563cde86d20bac
/system/bt/stack/gatt/gatt_api.cc
3a2747fce1bf71c3396fe50799023eefd4c09849 01-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Remove unused BLE_PERIPHERAL_MODE_SUPPORT

This patch removes BLE_PERIPHERAL_MODE_SUPPORT and all code related to
it, which is unused.

Bug: 30622771
Bug: 24099160
Change-Id: Ic9cc2a94c8d1b974814d453ee8a0073e7d6deb85
/system/bt/stack/gatt/gatt_api.cc
2e8c421ddce1dae511a39b8e89415e8eb1944bfd 29-Oct-2016 Jakub Pawlowski <jpawlowski@google.com> Remove advertise whitelist functionality

Advertise filtering is never used. It is not finished - adding device to
whitelist can never succed. It is also making advertising API unification
hard.

Bug: 30622771
Test: no tests necessary
Change-Id: I9df9ea18b265a580c2fcdb28a6d6ce4be43f0a24
/system/bt/stack/gatt/gatt_api.cc
3ff34be9fac7908c41ce84f94c44b2c4d5e2ad2e 18-Oct-2016 Pavlin Radoslavov <pavlin@google.com> Add the appropriate statement to "case:" without "break"

Test: code compilation
Change-Id: Ia43d7530a598a526764023c47bb20fdedda6fe64
/system/bt/stack/gatt/gatt_api.cc
b2a292b5d8df2f359c38b0787bc01181225a9bc9 15-Oct-2016 Pavlin Radoslavov <pavlin@google.com> Renamed most C files to C++: *.c to *.cc

Also:
- Fixed C++ related compilation errors.
- Added missing 'extern "C"' guards in some of the header files.
- Added missing LOCAL_CPP_EXTENSION to Android.mk files.
- Added-back btif/src/btif_mce.cc and bta/mce/bta_mce_* to
btif/Android.mk and bta/Android.mk respectively.
- Fixed the alphabetical ordering of the *.cc files in some
of the Android.mk files.
- Added missing Copyright header to "osi/include/list.h"
- Updated "osi/src/wakelock.cc" to use C++ std::string
instead of dynamic allocation of C-style strings.

Test: code compilation, unit tests, and A2DP streaming
Change-Id: Ia2f7215ed9df32775c701b68fc86b09875b942c7
/system/bt/stack/gatt/gatt_api.cc