summaryrefslogtreecommitdiff
path: root/framework/java/android/bluetooth/BluetoothGatt.java
AgeCommit message (Collapse)Author
2022-07-26Merge TP1A.220624.020Deyao Ren
Change-Id: I357db3da652d8ce93bb26a00d0f123fae1b7c64c
2022-06-30Revert "Revert "Reuse SynchronousResultReceivers instead of creating new.""Neha Jain
This reverts commit dd85e91cea26c7f706af36c852e79d5b4ca1f173. Bug: 217366135 Reason for revert: Need this to fix a crash bug in tm-dev Change-Id: I2a94c278edc0681c5b8af6ea0a0171b71d72c650 (cherry picked from commit dbaf406ccb0ed887d4e93057c9ec0d3457f14457) Merged-In: I2a94c278edc0681c5b8af6ea0a0171b71d72c650
2022-06-29Revert "Reuse SynchronousResultReceivers instead of creating new."Neha Jain
This reverts commit 02dcbe72b3564559eaa9c2e2714824e4aac6f18c. Reason for revert: Causing builds to fail b/237471430 Change-Id: I6165d838abf312085050359377f67a68a5f8b51a (cherry picked from commit f5dd42bbd05e68f7763ccaa9fae5642acc4ceba1) Merged-In: I6165d838abf312085050359377f67a68a5f8b51a
2022-06-29Reuse SynchronousResultReceivers instead of creating new.Etienne Ruffieux
Bug: 217366135 Tag: #feature Test: manual Ignore-AOSP-First: to be chery-picked Change-Id: If8ae530a284151888a3f89a51d2c58f2a5cd3644 (cherry picked from commit 02dcbe72b3564559eaa9c2e2714824e4aac6f18c) Merged-In: If8ae530a284151888a3f89a51d2c58f2a5cd3644
2022-04-14Add Enhanced connection update SDK APIsSubramanian Srinivasan
Add support for following ECU support. 1. Enhanced connection update SDK APIs support. 2. Enhanced connection update support in Bluetooth apk and stack. CRs-Fixed: 3127801 Change-Id: I29a8d10aad4c797f7b082297dabaa3049bad5462
2022-03-25Merge TP1A.220321.002Scott Lobdell
Change-Id: Ie8206e8b9c11c3fd55b7adddac5c782ad92c9da4
2022-03-17Address API council feedback on GATT API changes.Rahul Sabnis
This CL also updates the permission enforcement mechanism for GATT APIs so it now throws a SecurityException on new APIs as well as on older APIs called by apps targeting T+. Tag: #feature Bug: 217742355 Test: Manual Change-Id: I87fe2ffd088cbce4a9887538964e73f3f5198157
2022-03-07Merge TP1A.220209.001Deyao Ren
Change-Id: Id0e2895d3220831d2c617a243047e8229af8acc9
2022-02-04Merge TP1A.220120.003Haamed Gheibi
Change-Id: I202f5093bbd13b381ea11f969fee6154ba91fa11
2022-02-01Remove allowBlocking from BluetoothManagerServiceWilliam Escande
Since Bluetooth is becoming a mainline module, it can no longer call the allowBlocking hidden api. Instead, corresponding aidl are moved to be oneway and use a synchronous data to handle the return value. also: aosp/1927380 for similar work on all bluetooth profiles BluetoothGatt will be done next Bug: 211851706 Test: build + start bt Tag: #refactor Change-Id: I715cc2d8f2ae42be6d1099cd73095d37fa9e30f4 Merged-In: I715cc2d8f2ae42be6d1099cd73095d37fa9e30f4
2022-01-28Remove allowBlocking from BluetoothManagerServiceWilliam Escande
Since Bluetooth is becoming a mainline module, it can no longer call the allowBlocking hidden api. Instead, corresponding aidl are moved to be oneway and use a synchronous data to handle the return value. also: aosp/1927380 for similar work on all bluetooth profiles BluetoothGatt will be done next Bug: 211851706 Test: build + start bt Tag: #refactor Ignore-AOSP-First: merge conflict resolution Change-Id: I715cc2d8f2ae42be6d1099cd73095d37fa9e30f4
2021-12-23Reduce blocking time when waiting for CharacteristicWrite queue to clearJohanna Ye
up. Bug: 200073240 Test: manual build Change-Id: I62070a5789809c363dba3cb4f0d007d17e3a9ef8
2021-12-01BluetoothGatt: Deprecate unsupported methodsHyundo Moon
Bug: 207452114 Test: make update-api -j && make -j; Change-Id: Ic0534c1e25f9e35fae96886002e5ff1dd33f9fd4
2021-11-05Deprecate GATT callbacks and methods that were not memory safe andRahul Sabnis
replace with memory safe versions. Tag: #feature Bug: 195157393 Test: Manual CTS-Coverage-Bug: 205190062 Merged-In: I5ae604ec20febcf646bfe6a8f866b218448349c1 Change-Id: I5ae604ec20febcf646bfe6a8f866b218448349c1
2021-08-10Merge changes Icabed06e,I25bc13c6 am: 020a379b50 am: dcea1a5aa5Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1683328 Change-Id: I50a17e3b0a1d0da3794db7704585a7d1df3af14e
2021-08-10Merge changes Icabed06e,I25bc13c6Treehugger Robot
* changes: Bluetooth: Add Media Control Profile Bluetooth: Add GATT_INSUFFICIENT_AUTHORIZATION error code
2021-08-09Bluetooth: Add GATT_INSUFFICIENT_AUTHORIZATION error codeJakub Tyszkowski
Bug: 150670922 Sponsor: jpawlowski@ Tag: #feature Test: compilation Change-Id: I25bc13c658caba48cc37b0f1f253a77fd1336b29
2021-07-09Merge "Fix long characteristic write concurrency bug." into sc-dev-plus-aospJohanna Ye
2021-07-02Fix long characteristic write concurrency bug.Johanna Ye
Tag: #stability Test: ADT3 with test app Bug: 169559728 Ignore-AOSP-First: Current security annotation parity Merged-In: I3e3a5ff0965c1ca4f79e70e6163bc5d6917edbd1 Change-Id: I3e3a5ff0965c1ca4f79e70e6163bc5d6917edbd1
2021-07-01Fix long characteristic write concurrency bug.Johanna Ye
Tag: #stability Test: Bramble (pixel phone) with test app Bug: 169559728 Ignore-AOSP-First: Current security annotation parity Merged-In: I3e3a5ff0965c1ca4f79e70e6163bc5d6917edbd1 Change-Id: Ia2d821c5d34d8d035fbbb0b33b9bf4fc8c08b354
2021-06-29Merge "Add synchronization to all mDeviceBusy state changes." am: 744e835c40 ↵Johanna Ye
am: bcd43e1c32 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1751221 Change-Id: I3ecb6ae4c51c4a843be0eb265825966c8afb42ae
2021-06-29Add synchronization to all mDeviceBusy state changes.Johanna Ye
Tag: #stability Test: make Bug: 169559728 Change-Id: I5c1b926a4c774b4bc5f24a9aaa66aa5f7780e121
2021-04-22Pass attribution source to BT APIs.Oli Lan
This adds attribution source to BT method calls. This is now required to allow the app ops for the new BT permissions (BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE, and BLUETOOTH_SCAN) to be noted. Bug: 183626112 Test: atest BluetoothInstrumentationTests Change-Id: I81598553b762e491d6364064a2e1ef41dec89bf9
2021-04-16More Bluetooth API annotation updates.Jeff Sharkey
This change adds a "BluetoothPermissionChecker" that ensures that all Bluetooth permission annotations are consistent. In addition, it verifies that all Bluetooth public APIs have been audited to be permission protected where relevant. We've currently standardized on saying that APIs that return device or Bluetooth state information (without sharing details about any particular remote Bluetooth device) do not need to be permission protected. This change is only annotations and has no behavior changes. Bug: 183626724 Test: ./build/soong/soong_ui.bash --make-mode Bluetooth RUN_ERROR_PRONE=true Change-Id: Ie80b15b058359bf1e9a6ee881b89cb3e5b584ca1
2021-04-14Update Bluetooth API annotations.Jeff Sharkey
Recent work has introduced a new "Nearby devices" runtime permission which protects all existing Bluetooth APIs; we've done this by defining a <split-permission> to convert the old BLUETOOTH and BLUETOOTH_ADMIN permissions into one of three new permissions: * BLUETOOTH_ADVERTISE: Required to be able to advertise to nearby Bluetooth devices. * BLUETOOTH_CONNECT: Allows applications to connect to paired bluetooth devices. * BLUETOOTH_SCAN: Required to be able to discover and pair nearby Bluetooth devices. At its core, this change begins updating the Bluetooth APIs to have correct @RequiresPermission indicating which permission is actually enforced internally. To ensure alignment across Binder, the newly added "RequiresPermissionChecker" Error Prone checker was used to discover any inconsistencies, ensuring correctness from server-side enforcement up through to the public APIs. In addition, since developers will continue building apps for both modern and legacy platforms, this change introduces new auto-doc annotations which will emit helpful consistent documentation describing the behavior of older devices that are still using the old permission model. Bug: 183626724 Test: ./build/soong/soong_ui.bash --make-mode Bluetooth RUN_ERROR_PRONE=true Change-Id: I02aa127e8e07f239561f4f2a3bbdfc6fccb82f7f
2021-01-11gatt: Allow to set eatt supportŁukasz Rymanowski
With this patch it is possible to enable eatt_support as a GATT Client or GATT Server. Tag: #feature Bug: 159786353 Test: manually verified against device supporting EATT Sponsor: jpawlowski@ Change-Id: I6835a2bbd1b0ab9d6d64ee2bac5dfc96c0563afd
2020-11-04Add maxTargetSdk restriction to unused APIs.Mathew Inwood
These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-09-24Expose service changed event to application (2/3)HsingYuan Lo
Handle service changed event from GattService Bug: 154056389 Tag: #feature Test: test service changed scenario Change-Id: If56dcbd7cf17b23c88cceb9c67c5d75b21320965
2020-09-14Update language to comply with Android's inclusive language guidanceJeff Sharkey
See https://source.android.com/setup/contribute/respectful-code for reference Test: none Bug: 168334533 Exempt-From-Owner-Approval: docs updates Change-Id: I245b8d9cac722da76ea67983738a3cbb9deb68df
2020-01-09Use new UnsupportedAppUsage annotation.Artur Satayev
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I6ab53570aca580fbee1fcc927871caa09780f58f Merged-In: I6ab53570aca580fbee1fcc927871caa09780f58f
2018-10-18Merge "Synchronize on a static final object to lock mDeviceBusy" am: ↵Ajay Panicker
49651ddf88 am: 223493ca1b am: 444e02262d Change-Id: Ia12ca64ff5acca55182bac2fb8bae2523c7fc06a
2018-10-18Merge "Synchronize on a static final object to lock mDeviceBusy" am: 49651ddf88Ajay Panicker
am: 223493ca1b Change-Id: Ic53518b0e62803bb68b60ed318d6a0825b192164
2018-10-17Synchronize on a static final object to lock mDeviceBusyAjay Panicker
Synchronizing on a field doesn't lock the object in a predictable way. Bug: 63389270 Test: Compile Change-Id: Idd3111bc94d32bc4bb320a5c25da37fe68276337
2018-10-10docs: fixing errors found with lint checker am: 985ec79824kopriva
am: 7981ff9fe4 Change-Id: I056261f069ed679ed8a03bfc0791bfe59a405361
2018-10-09docs: fixing errors found with lint checkerkopriva
am: 985ec79824 Change-Id: Id38a4b2e21285d5d5e2a2124d76885febd3441c6
2018-10-09docs: fixing errors found with lint checkerkopriva
through /bluetooth directory amending through /content directory Test: make ds-docs Bug: 117494359 Change-Id: I751e15d60f0b9cc441998b27560050bf62994fef Exempt-From-Owner-Approval: Docs-only change
2018-09-14Move some members to the "Q blacklist".Mathew Inwood
Based on some analysis, these fields/methods are likely false positives. Set maxTargetSdk=P so that any apps using them are required to migrate off them in future. See the bug for more details. Exempted-From-Owner-Approval: Automatic changes to the codebase affecting only @UnsupportedAppUsage annotations, themselves added without requiring owners approval earlier. Bug: 115609023 Test: m Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
2018-08-02Add @UnsupportedAppUsage annotationsMathew Inwood
For packages: android.bluetooth.le android.bluetooth This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: I88a1311e27c5f9a5f9d1035db76034f86f650efc
2018-08-01Add @UnsupportedAppUsage annotationsMathew Inwood
For packages: android.bluetooth.le android.bluetooth This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: Ifcf24c0617acd7facc0e03f30a95c3a6b09b205c Merged-In: I88a1311e27c5f9a5f9d1035db76034f86f650efc
2018-05-04Fix spelling errors in BluetoothGatt documentationStanley Tng
Correct "paramter" to "parameter". Correct "connectoin" to connection. Bug: 79198797 Test: Compile Change-Id: I98646eec66da2aaa6f74ae2db35ea914c6a105a1 (cherry picked from commit 201c4a40b17d1375c8f8dc8a1a4976346e17e698)
2018-05-03Fix spelling errors in BluetoothGatt documentationStanley Tng
Correct "paramter" to "parameter". Correct "connectoin" to connection. Bug: 79198797 Test: Compile Change-Id: I98646eec66da2aaa6f74ae2db35ea914c6a105a1
2018-04-12Add min_ce/max_ce parameters to requestLeConnectionUpdate()Stanley Tng
Add new test parameters, min_ce and max_ce, to the SL4A tests for LE Connection-oriented Channel (CoC) feature. This CL passes these 2 parameters to native stack. Test: Run cmd: act.py -c $MY_SL4A_CONFIG -tc BleCoc2ConnTest Bug: 77528723 Change-Id: I9d3d74f671772014209f8114c2d1b8ba606c54d5 (cherry picked from commit 148dd5bf861ad2caac0c53a53ee5154bfa413405)
2018-04-03Add min_ce/max_ce parameters to requestLeConnectionUpdate()Stanley Tng
Add new test parameters, min_ce and max_ce, to the SL4A tests for LE Connection-oriented Channel (CoC) feature. This CL passes these 2 parameters to native stack. Test: Run cmd: act.py -c $MY_SL4A_CONFIG -tc BleCoc2ConnTest Bug: 77528723 Change-Id: I9d3d74f671772014209f8114c2d1b8ba606c54d5
2018-02-01Add function to update LE connection parametersStanley Tng
As part of new SL4A tests for LE CoC to measure data throughput performance, this commit will add a function to enable the CoC Facade to modify the LE Connection Parameters especially the Connection Intervals. Test: Ran the new ACTS Tests for LE CoC Bug: 70683224 Change-Id: Ie071b09a44d68fe063198a39eb788c434b092442
2017-09-14Fix included service parsing (3/3)Jakub Pawlowski
Bug: 65637368 Test: sl4a GattIncludedServiceTest Change-Id: Idb967df9d5064b0532db7f5c250f677d1dbbc54c
2017-09-14Bluetooth: fix typo in commentJakub Pawlowski
Test: none Change-Id: I48c674049df88285268145d4140870eb4ab79a62
2017-09-13Bluetooth: thread-safe callback invocationJakub Pawlowski
Bug: 65596701 Test: manual Change-Id: I92a436328a3070ea842e8e652891e485406c2ed7
2017-09-13Bluetooth: fix GATT race conditions when using HandlerJakub Pawlowski
Bug: 65596701 Test: manual Change-Id: Id703cea0543626bdd5a583da95615b650bbcc331
2017-08-24Fix checkstyle errors (2/2)Jack He
* Manual style corrections with IDE assistance * Variable name refactors are done through IDE * Corrected general style errors such as: - "final private var" -> "private final var" - "&&", "+", "||" should not be at the end of line - Non-static private variable should be like "mVar" - Private static variable should be like "sVar" - Code file should always end with newline - Inherited methods should be annotated with @Override and no @hide tags - Public methods should always have a JavaDoc entry - "int[] array" is preferred over "int array[]" - private methods should be accessed without "this." when there is no name collisions. - "boolean ? true : false" -> boolean - "boolean ? false : true" -> !boolean - "boolean == true" OR "boolean != false" -> boolean - "boolean != true" OR "boolean == false" -> !boolean Bug: 63596319 Test: make checkbuild, no functional changes Change-Id: Iabdc2be912a32dd63a53213d175cf1bfef268ccd
2017-08-24Fix checkstyle errors (1/2)Jack He
* Automatic style corrections through IDE Bug: 63596319 Test: make checkbuild, no manual changes, no functional changes Change-Id: I2397d55abc34c9b7a9b748bec6137778df3421a7