OSDN Git Service
Zach Johnson [Wed, 30 Dec 2020 22:48:28 +0000 (14:48 -0800)]
rusty-gd: move acl core from lib.rs to core.rs
this allows internals to stay internal
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ifc9af8a5403804a5cf15b39abf979c1dc570c7bc
Zach Johnson [Wed, 30 Dec 2020 22:40:07 +0000 (14:40 -0800)]
rusty-gd: implement connection complete for classic acl
still not hooked up into the core dispatch yet, coming soon
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: I32c487719ab55cfb6996a308e4c3998a08c5a078
Zach Johnson [Wed, 30 Dec 2020 18:52:11 +0000 (10:52 -0800)]
rusty-gd: simplify acl internal requests by using structured enums
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: If761b4020cc7dfc288c48ab3ab43204b5ef93958
Zach Johnson [Wed, 30 Dec 2020 18:44:31 +0000 (10:44 -0800)]
rusty-gd: start classic acl manager
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ieeaff245a4f19f39311d4ce779576760c6a9f14a
Zach Johnson [Wed, 30 Dec 2020 03:25:46 +0000 (19:25 -0800)]
rusty-gd: report acl disconnections
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ia202284ea8a7267c0307ae9290f10154dbd3c353
Zach Johnson [Wed, 30 Dec 2020 02:07:52 +0000 (18:07 -0800)]
rusty-gd: implement ACL connection close
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Iaf9770676077aa5e9bfb3f2ff49545d9b71c282f
Zach Johnson [Wed, 30 Dec 2020 01:36:58 +0000 (17:36 -0800)]
rusty-gd: add ACL credit control
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ic85c5c81947482bebb23d52f19609ec4f3227987
Zach Johnson [Tue, 29 Dec 2020 21:55:12 +0000 (13:55 -0800)]
rusty-gd: implement outbound fragmentation & dispatch
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: I122e9b5e84be2164685f14c0efe48765c752c094
Zach Johnson [Mon, 28 Dec 2020 22:52:36 +0000 (14:52 -0800)]
rusty-gd: add packet reassembler
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ifdf4565dfe9c207f84b6b8d2a6f830509c243b08
Zach Johnson [Mon, 28 Dec 2020 20:50:45 +0000 (12:50 -0800)]
rusty-gd: implement vector payloads for packets
this way, we can get the contents to pass to higher layers from ACL, etc
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: Ib18512d2dcafa9f8624e19a506634b8f92d1e170
Zach Johnson [Mon, 28 Dec 2020 19:43:02 +0000 (11:43 -0800)]
rusty-gd: start ACL - simple dispatch of inbound traffic
does not do reassembly or anything like that yet
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: I3844b86f035dface8fc1d54eb3f426ad2d40000c
Hansong Zhang [Sun, 17 Jan 2021 09:08:05 +0000 (01:08 -0800)]
Use some L2cap APIs in btm_sec
When we need to start encryption or handle encryption change, link must
be up and L2cap must be already connected.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Ifd787141ac3669c377b54bf58f9b53776764d61f
Hansong Zhang [Sat, 16 Jan 2021 00:31:19 +0000 (16:31 -0800)]
Simplify some L2cap code
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I0e9f3164892f91231391e58f3b7a97bca9a47b7e
Treehugger Robot [Mon, 18 Jan 2021 11:30:20 +0000 (11:30 +0000)]
Merge "gd: Implement address rotation for advertising set"
Treehugger Robot [Mon, 18 Jan 2021 02:56:19 +0000 (02:56 +0000)]
Merge "Add ISO type support on btsnooz.py script"
Alice Kuo [Fri, 15 Jan 2021 03:39:52 +0000 (11:39 +0800)]
Add ISO type support on btsnooz.py script
Support to decode the ISO packet from the compressed btsnoop in
bugreport.
Bug:
150670922
Bug:
177616528
Test: btsnooz.py bugreport-*.txt which contain ISO traffic.
Tag: #feature
Change-Id: I070ec3023ed2ef65c3d1fce90dcfe2b9d695a89f
Hansong Zhang [Fri, 15 Jan 2021 19:48:17 +0000 (11:48 -0800)]
Fix linter
Test: bluetooth_test_gd
Tag: #gd-refactor
Bug:
141555841
Change-Id: Icbf6ddfd077988ba1feb6646c6909ee1a91e50c6
Sal Savage [Fri, 15 Jan 2021 19:59:49 +0000 (19:59 +0000)]
Merge changes from topic "avrcp-target-cover-art"
* changes:
Add tests for the AVRCP Target Cover Art feature
Pass BIP client status down and use it to decide to send image handles
Add a path to add the PSM of the BIP OBEX server to the SDP record
Allow NewAvrcp to manage its own SDP record
Hansong Zhang [Fri, 15 Jan 2021 06:34:05 +0000 (22:34 -0800)]
RoundRobinScheduler: Add multi priority support
And add SetAclTxPriority() API in AclManager and shim
Test: cert/run
Test: bluetooth_test_gd
Tag: #gd-refactor
Bug:
141555841
Change-Id: I6d5911dfea23b7e7440738c0c4d51a3e3ffbf52f
Hansong Zhang [Fri, 15 Jan 2021 02:56:02 +0000 (18:56 -0800)]
Wire up SetChannelTxPriority
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Iceb6559d7468a886d3720038f172dce6297016d3
Hansong Zhang [Fri, 15 Jan 2021 01:55:26 +0000 (17:55 -0800)]
L2cap scheduler: Implement high priority channel
Add a high priority queue for these channels in scheduler.
Introduce MockQueue to help test with BidiQueueEnd callbacks.
Test: cert/run
Test: bluetooth_test_gd
Tag: #gd-refactor
Bug:
141555841
Change-Id: I3b60002f0d2ac2fb4d3307717dce128ccb06247c
Hansong Zhang [Fri, 15 Jan 2021 05:58:27 +0000 (21:58 -0800)]
Introduce MultiPriorityQueue
ACL and L2cap needs to prioritize some link/channels in some cases. A
traditional priority queue requires predefined comparison, which can be
hard for our use case (PacketBuilder). Instead, we specify the priority
value when we push to a queue.
Test: bluetooth_test_gd
Tag: #gd-refactor
Bug:
141555841
Change-Id: I33414b4bf81e9f63c88d8627376b565f5c5bb6de
Hansong Zhang [Thu, 14 Jan 2021 21:00:45 +0000 (13:00 -0800)]
Refactor L2CA_SetFixedChannelTout
It's always used by LE GATT, so let's change it to
L2CA_SetLeGattTimeout.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Ib838426e2fb75a130d7f3d4cfc6f3d32f3e58423
Zach Johnson [Fri, 15 Jan 2021 15:58:33 +0000 (15:58 +0000)]
Merge changes Ia401bcf0,I724939c1,I606f4aff,I548ee2ad,Iee6c37a7, ...
* changes:
rusty-gd: update hal facade
rusty-gd: introduce RxAdapter
rusty-gd: switch hci facade to grpc context
rusty-gd: shim & facade are very similar, start sharing code
rusty-gd: split HAL into control & acl
rusty-gd: allow parting out injected values
Chienyuan [Thu, 14 Jan 2021 13:47:03 +0000 (21:47 +0800)]
gd: Implement address rotation for advertising set
Tag: #gd-refactor
Bug:
149221472
Test: cert/run --host
Test: atest --host bluetooth_test_gd
Change-Id: If9870dc667c59228edc258998ad9dc183b89dba1
Treehugger Robot [Fri, 15 Jan 2021 03:25:46 +0000 (03:25 +0000)]
Merge "RootCanal: Check PIN on both sides"
Myles Watson [Fri, 15 Jan 2021 01:27:27 +0000 (17:27 -0800)]
RootCanal: Check PIN on both sides
Bug:
148864229
Tag: #gd-refactor
Test: cert/run
Change-Id: I54801c552afe6cc1068c9104836fbe4a211d566c
Treehugger Robot [Thu, 14 Jan 2021 23:45:21 +0000 (23:45 +0000)]
Merge "Fix v2 format decoding in btsnooz.py"
Zach Johnson [Thu, 14 Jan 2021 20:02:52 +0000 (20:02 +0000)]
Merge changes I5d0c9f45,I847253d5,I05ec50c5,I4d55a4b3
* changes:
rusty-gd: simplify exported types
rusty-gd: implement controller shim
rusty-gd: back message loop thread with rust, if rust enabled
don't expose main thread message loop
Zach Johnson [Thu, 14 Jan 2021 19:54:00 +0000 (11:54 -0800)]
fix mac build
Bug:
177491893
Test: compile
Change-Id: Icc181273d8a771bb908dff4d5708fb2b2c38de18
Treehugger Robot [Thu, 14 Jan 2021 18:24:07 +0000 (18:24 +0000)]
Merge "RootCanal: Reject unsolicited PIN responses"
Hansong Zhang [Thu, 14 Jan 2021 00:29:41 +0000 (16:29 -0800)]
Add callbacks in LE link manager
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I69ee3d6c8e5173855a07c059294cc07b4ff93e7b
Julien Desprez [Thu, 14 Jan 2021 18:01:12 +0000 (18:01 +0000)]
Merge "Swich TEST_MAPPING config to unit_tests:true"
Hansong Zhang [Wed, 13 Jan 2021 23:52:59 +0000 (15:52 -0800)]
L2cap LE shim: Don't match address type
In legacy stack, address type is not used in some L2cap LE APIs.
Matching it might cause problem. Instead, we use address only, just
like legacy stack.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I5c3bee9abc679bf1e1e26f8e39febd8dd38babbd
Hansong Zhang [Wed, 13 Jan 2021 20:54:07 +0000 (12:54 -0800)]
Remove unused L2cap shim API
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Iba501798a776423da1babc05b35d63412b8aae6c
Hansong Zhang [Wed, 13 Jan 2021 20:19:24 +0000 (12:19 -0800)]
Implement L2CA_EnableUpdateBleConnParams in shim
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Iae37d732aa1798b03d6218023c07157724ab233c
Julien Desprez [Wed, 13 Jan 2021 20:02:39 +0000 (12:02 -0800)]
Swich TEST_MAPPING config to unit_tests:true
All unit_tests:true are run in presubmit which avoids
the explicit definition of TEST_MAPPING.
Test: presubmit runs all those tests
Bug:
175408655
Change-Id: I4d42ce5da5cdca819e61691475e8645e83942ab1
Merged-In: Ib6e861158b8b9b426b48147b778f49f73c35be9f
Myles Watson [Thu, 14 Jan 2021 01:36:19 +0000 (17:36 -0800)]
RootCanal: Reject unsolicited PIN responses
Bug:
148864229
Tag: #gd-refactor
Test: cert/run
Change-Id: Ic6bcd706e243ea37e949cefaa77f5fd02e197061
Zach Johnson [Wed, 23 Dec 2020 02:02:19 +0000 (18:02 -0800)]
rusty-gd: update hal facade
use RpcContext & RxAdapter
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: Ia401bcf0f4fcf4c14db4c93d96590c88b606c3af
Zach Johnson [Wed, 23 Dec 2020 00:06:15 +0000 (16:06 -0800)]
rusty-gd: introduce RxAdapter
this consolidates logic for dispatching channels over gRPC or callbacks
into legacy
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I724939c1e55312bfb2c33b906252e6df111bd9f5
Zach Johnson [Tue, 22 Dec 2020 23:24:40 +0000 (15:24 -0800)]
rusty-gd: switch hci facade to grpc context
this is backed by the tokio runtime, but
we don't need to pass it around
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I606f4aff6c0ad28b9a453a68d41f8b1815196bd2
Zach Johnson [Tue, 22 Dec 2020 23:02:04 +0000 (15:02 -0800)]
rusty-gd: shim & facade are very similar, start sharing code
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I548ee2ad36adc109f48d9572826940ad5eee978e
Zach Johnson [Tue, 22 Dec 2020 22:34:37 +0000 (14:34 -0800)]
rusty-gd: split HAL into control & acl
this way the ACL can bypass the HCI layer entirely
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: Iee6c37a7ffab39546d07a915e80900e748103fea
Zach Johnson [Tue, 22 Dec 2020 21:59:28 +0000 (13:59 -0800)]
rusty-gd: allow parting out injected values
this way we can inject only what we actually care about
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I3798084eabb7a8ffcc9a48b982715c792d64ff8d
Zach Johnson [Tue, 22 Dec 2020 08:05:31 +0000 (00:05 -0800)]
rusty-gd: simplify exported types
drop the exports, it's simpler
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: I5d0c9f45f68ac818c9cd260dc50c325d066e5927
Zach Johnson [Tue, 22 Dec 2020 07:16:48 +0000 (23:16 -0800)]
rusty-gd: implement controller shim
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost
Change-Id: I847253d5b217295a8ae72e124b25a647dc0d96e1
Zach Johnson [Tue, 22 Dec 2020 02:14:30 +0000 (18:14 -0800)]
rusty-gd: back message loop thread with rust, if rust enabled
the rust code runs in a single threaded environment.
since the main thread is now implicitly running in this environment too,
this means we no longer need to transfer contexts in the shim
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run
Change-Id: I05ec50c525184c29627e1eaff2b62bac0b879416
Zach Johnson [Wed, 13 Jan 2021 23:13:38 +0000 (23:13 +0000)]
Merge changes Ic8ddcac8,I5f2ae561
* changes:
rusty-gd: implement custom types & read address in controller
rusty-gd: implement command sending via HCI shim
Sal Savage [Mon, 9 Mar 2020 23:01:25 +0000 (16:01 -0700)]
Add tests for the AVRCP Target Cover Art feature
Tag: #feature
Bug:
153076316
Test: atest net_test_avrcp
Test: atest net_test_btpackets
Test: atest net_test_btif
Change-Id: I38e2b4aae5a5f2b1e379f1d3f071f18214d7d5e9
Treehugger Robot [Wed, 13 Jan 2021 20:38:03 +0000 (20:38 +0000)]
Merge changes I9f667570,I056a3fdc,I685a3220,I81cdee3a,I7e053cff
* changes:
Properly use tHCI_STATUS and hci error code equivalence
Use proper stack/btm/btm_sec::btm_status_text
gd: Include hci handle in unsuccessful mode change event
Use proper bta/gatt/bta_gattc_act::gatt_disconnection_reason_text
Add gatt_disconnection_reason_text
Hansong Zhang [Wed, 13 Jan 2021 05:54:54 +0000 (21:54 -0800)]
L2cap shim: Implement L2CA_GetBleConnRole
Note: We haven't routed LE link property callbacks yet.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I987fbcede2e8e9e133418c72cb2d99dda0253b40
Hansong Zhang [Wed, 13 Jan 2021 05:39:42 +0000 (21:39 -0800)]
Remove unused API L2CA_CancelBleConnectReq
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Ie2e3ce9fcadbb98036bc38db2b3645b0e05009a3
Hansong Zhang [Wed, 13 Jan 2021 05:15:31 +0000 (21:15 -0800)]
gatt_disconnect: Remove L2CA_CancelBleConnectReq
When the link is not up, we need to cancel create connection. In this
case, calling L2CA_CancelBleConnectReq() is just removing the gatt
direct connect client CONN_MGR_ID_L2CAP. Then we clean up tcb.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Ie294b7ad9c4429af71c45afe7b0a1ae6327dee2c
Hansong Zhang [Wed, 13 Jan 2021 03:06:44 +0000 (19:06 -0800)]
Refactor LE disconnnect reason
When we initiate a disconnection, the reason should always be terminated
by local host. We only need to check the reason when there is a
disconnection complete HCI event. Therefore, we can get rid of
L2CA_GetDisconnectReason().
The only GATT app using disconnect reason is HOGP, and the only
interesting state is connection timeout. Send this event from shim.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I89973ece3ab5f24f3d1bc015daaf758d0600d002
Treehugger Robot [Wed, 13 Jan 2021 19:43:55 +0000 (19:43 +0000)]
Merge changes I8e04ea0c,Ia710365d
* changes:
gd: Handle data status for extended advertising report
gd: Handle scan response
Hansong Zhang [Wed, 13 Jan 2021 01:47:08 +0000 (17:47 -0800)]
p_clcb->reason is never set
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I1a19ef5a938c6e8275c379a7caaffec711c8057f
Hansong Zhang [Wed, 13 Jan 2021 00:34:53 +0000 (16:34 -0800)]
Remove unused data length API
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I5ac24f146dfee55b6e15f8bce80f034e6ff7c3c9
Hansong Zhang [Wed, 13 Jan 2021 00:22:00 +0000 (16:22 -0800)]
Support BTM_SetBleDataLength when L2cap shim is on
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I672786a2414f34666f2734f9aa8c8e200a052466
Hansong Zhang [Wed, 13 Jan 2021 00:17:27 +0000 (16:17 -0800)]
GATT: Set data length directly
Since only GATT, hearing aid (hardcoded), JNI (hidden API) can set data
length, we just skip L2cap set data length path, and directly send HCI
command.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Id9dd7f9bdea69b025650ff7a287ba55c0d31db75
Neil Mayhew [Thu, 10 Dec 2020 03:14:15 +0000 (20:14 -0700)]
Fix v2 format decoding in btsnooz.py
The delta_time_ms field now seems to be 64 bits instead of 32. Without
this change, dumps fail to decode and the script exits with a TypeError
because type_to_hci encounters an unknown packet type.
Bug:
175283029
Test: ./btsnooz.py bugreport-WXYZ.txt
Tag: #refactor
Sponsor: optedoblivion@
Change-Id: Ib893ee63abacf5335a4cbabb1dbdfc1702da77e6
Hansong Zhang [Wed, 13 Jan 2021 00:14:13 +0000 (16:14 -0800)]
Clean up BTM_SetBleDataLength
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I217fd560afbda434e8bab7effc3716cfcd18a7c2
Hansong Zhang [Wed, 13 Jan 2021 00:11:26 +0000 (16:11 -0800)]
Simplify max data length request
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I422f6bd0c3a246fb9395b116fdf53f7f56a4bc69
Hansong Zhang [Tue, 12 Jan 2021 22:33:30 +0000 (14:33 -0800)]
BLE_LLT_INCLUDED is always true
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: If5daa3237ad771eb4f96d0f34d31a94b63433185
Hansong Zhang [Tue, 12 Jan 2021 21:03:29 +0000 (13:03 -0800)]
Clean up L2CA_UpdateBleConnParams
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: Ia5e9921eb14d6303b96ffbc85f31aa3f7d654eba
Chienyuan [Tue, 12 Jan 2021 14:34:44 +0000 (22:34 +0800)]
gd: Handle data status for extended advertising report
Tag: #gd-refactor
Bug:
177044452
Test: gd/cert/run --host
Change-Id: I8e04ea0cb1b8df795fdd4287a56262ac211c4f16
Chienyuan [Mon, 11 Jan 2021 14:25:11 +0000 (22:25 +0800)]
gd: Handle scan response
Tag: #gd-refactor
Bug:
177044452
Test: gd/cert/run --host
Change-Id: Ia710365dba1901803fd8c85d3cecb27f22d25bc5
Chris Manton [Fri, 8 Jan 2021 06:52:59 +0000 (22:52 -0800)]
Properly use tHCI_STATUS and hci error code equivalence
These values are overloaded for both status and reason.
Towards readable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I9f6675707d67811468aab66d0515d68c1cc83ab3
Chris Manton [Wed, 13 Jan 2021 01:33:53 +0000 (17:33 -0800)]
Use proper stack/btm/btm_sec::btm_status_text
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I056a3fdc52a0b9f70f9da44a01f5ee0ebb897dc0
Chris Manton [Wed, 13 Jan 2021 01:19:57 +0000 (17:19 -0800)]
gd: Include hci handle in unsuccessful mode change event
Bug:
177296647
Test: cert
Tag: #refactor
Change-Id: I685a32202edbf95ee285cc577497ea0d0f18e036
Chris Manton [Wed, 13 Jan 2021 01:33:30 +0000 (17:33 -0800)]
Use proper bta/gatt/bta_gattc_act::gatt_disconnection_reason_text
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I81cdee3a3ececda20bbc882c8892be945c72cb94
Chris Manton [Fri, 8 Jan 2021 06:52:53 +0000 (22:52 -0800)]
Add gatt_disconnection_reason_text
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I7e053cff0cb1ca3c2a418e2d1ae362bbc02c22e4
Treehugger Robot [Wed, 13 Jan 2021 06:22:34 +0000 (06:22 +0000)]
Merge "gd: Set scan response data based on AdvertisingType"
Zach Johnson [Wed, 13 Jan 2021 04:45:23 +0000 (04:45 +0000)]
Merge changes I442176d1,Ib147e50a,I9f4de837,Ib9cd95d0
* changes:
rusty-gd: most of the HCI shim layer
move le_advertising_manager_test over to PyHci
Emit checker for command status opcodes, remove unnecessary overloads
HciLayerFacade -> HciFacade
Zach Johnson [Mon, 21 Dec 2020 23:10:28 +0000 (15:10 -0800)]
don't expose main thread message loop
ensure all calls go through the actual API
(will back message loop thread with rust's tokio runtime if running
with rust, to reduce thread transfer overhead at shim boundary)
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run
Change-Id: I4d55a4b35a620d63638004cb0e553bbcc04dd69b
Zach Johnson [Mon, 21 Dec 2020 22:34:40 +0000 (14:34 -0800)]
rusty-gd: implement custom types & read address in controller
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: Ic8ddcac8fa2738e1282ca853a27450a56f1b54c7
Zach Johnson [Mon, 21 Dec 2020 18:01:45 +0000 (10:01 -0800)]
rusty-gd: most of the HCI shim layer
(command sending not connected yet)
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I442176d1e29485dab56dcaba53f0975de144a1fb
Zach Johnson [Mon, 21 Dec 2020 20:06:40 +0000 (12:06 -0800)]
rusty-gd: implement command sending via HCI shim
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run --rhost SimpleHalTest
Change-Id: I5f2ae5613b395a57bd23f7772912383b5473d47b
Zach Johnson [Sat, 19 Dec 2020 03:29:07 +0000 (19:29 -0800)]
move le_advertising_manager_test over to PyHci
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run
Change-Id: Ib147e50a91dd0c9d31905317028e267ff2b71070
Zach Johnson [Fri, 18 Dec 2020 22:00:37 +0000 (14:00 -0800)]
Emit checker for command status opcodes, remove unnecessary overloads
simplifies python, facades, etc
Bug:
171749953
Tag: #gd-refactor
Test: gd/cert/run
Change-Id: I9f4de8373efb9bf07c55bcab9a7bc31a473d9c25
Zach Johnson [Fri, 18 Dec 2020 21:08:26 +0000 (13:08 -0800)]
HciLayerFacade -> HciFacade
Layer is redundant
Bug:
171749953
Tag: #gd-refactor
Test: cert/run
Change-Id: Ib9cd95d069a57e590fa2b4c8b438ab01951d4ec6
Hansong Zhang [Tue, 12 Jan 2021 21:24:38 +0000 (13:24 -0800)]
Clean up BTA_GATTC_Open
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I12263c05acd4ba04e09544b95388a13461dc4e93
Sal Savage [Fri, 28 Feb 2020 21:33:22 +0000 (13:33 -0800)]
Pass BIP client status down and use it to decide to send image handles
The new avrcp architecture has the design such that all requests to Java
are agnostic of which device is asking for them. However, image handles
are not meant to be sent if there is no BIP connection with that device.
Rather than invalidate the previous design assumption, this patch sends
that status down to the connection handler and device objects to use
when building response packets. The image handles, if included, will be
automatically removed if there is no client connection. If no image
handles are sent, none will be included.
Tag: #feature
Bug:
153076316
Test: Build, flash, make sure existing metadata isn't impacted and is
still sent when requested. Make sure imge handles are sent, when they
exist, if and only if we've connected a client on the Java side BIP OBEX
server.
Change-Id: If252abe120188df2bcdabed22382fba070d17f32
Sal Savage [Fri, 28 Feb 2020 19:33:06 +0000 (11:33 -0800)]
Add a path to add the PSM of the BIP OBEX server to the SDP record
Tag: #feature
Bug:
153076316
Test: Build, flash, make sure everything still works as no one is using
this code path yet
Change-Id: I672be8c341c453f862a50a9b3cfb4150b9588b2e
Sal Savage [Fri, 28 Feb 2020 19:24:26 +0000 (11:24 -0800)]
Allow NewAvrcp to manage its own SDP record
Tag: #feature
Bug:
153076316
Test: Build, flash, make sure SDP record matches existing SDP record
Change-Id: Ic5add2091d8e72386dc22811e7e580fd64a278f7
Hansong Zhang [Tue, 12 Jan 2021 07:48:47 +0000 (23:48 -0800)]
BTM_Sec: AUTHENTICATE should imply MITM
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: If492a5bfe2a3945ebf3f1d1a55c0a0f395b5f83b
Hansong Zhang [Tue, 12 Jan 2021 05:49:01 +0000 (21:49 -0800)]
L2cap: Pass remote features to btm_sec
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I0b8de4ce270caf18b1b07930f04e9905adebf622
Hansong Zhang [Tue, 12 Jan 2021 01:30:34 +0000 (17:30 -0800)]
Shim hack: Add SCO disconnect callback
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I3f2ba43702542db6e07b1f6f61b9687ef178310c
Hansong Zhang [Mon, 11 Jan 2021 23:00:21 +0000 (15:00 -0800)]
L2cap LE shim: Use link property listener
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I171e0c21a83f9f5e6eca8aba5dc9861737c60c8b
Hansong Zhang [Mon, 11 Jan 2021 21:15:15 +0000 (13:15 -0800)]
LE: Add link property listener and phy update
Add L2cap LE LinkPropertyListener.
Add PHY update listener for ACL and L2cap.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I691dbcd86d63998a7ff7f8cb5889bba53ad4aaca
Treehugger Robot [Tue, 12 Jan 2021 20:38:12 +0000 (20:38 +0000)]
Merge changes I48f17bc8,I46294bbf,I74d0b45a,I749eb082,I71224efc, ...
* changes:
gd_acl: Add ACL connection history
Add gd/common/strings::StringFormatTimeWithMilliseconds
bt_headless: Add connect/disconnect timeouts
Include BTM_PmRegister::callback
Use main/shim/dumpsys::supervision_timeout_to_seconds
Add main/shim/dumpsys::supervision_timeout_to_seconds
bt_headless: Add connect test
Chris Manton [Fri, 8 Jan 2021 17:59:25 +0000 (09:59 -0800)]
gd_acl: Add ACL connection history
Towards discoverable code
Bug:
176960731
Tag: #refactor
Test: gd/cert/run
Change-Id: I48f17bc8826530a998e4f11d1eecf32574e6ad88
Chris Manton [Sat, 9 Jan 2021 00:52:30 +0000 (16:52 -0800)]
Add gd/common/strings::StringFormatTimeWithMilliseconds
Also fix local/gm timezone test issue
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: I46294bbf69754be3bf4749fa1bb31320606659cf
Chris Manton [Fri, 8 Jan 2021 18:16:21 +0000 (10:16 -0800)]
bt_headless: Add connect/disconnect timeouts
Towards testable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I74d0b45a737efcbe1f855346d08a07e085e56107
Chris Manton [Fri, 8 Jan 2021 18:15:45 +0000 (10:15 -0800)]
Include BTM_PmRegister::callback
Condition using tBTM_PM_REGISTER::
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I749eb082092adebdd441784db6f829c912839000
Chris Manton [Thu, 7 Jan 2021 22:51:59 +0000 (14:51 -0800)]
Use main/shim/dumpsys::supervision_timeout_to_seconds
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I71224efcf0026f69e83d19b711590f2222b80f92
Chris Manton [Thu, 7 Jan 2021 22:50:02 +0000 (14:50 -0800)]
Add main/shim/dumpsys::supervision_timeout_to_seconds
Towards loggable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: Icd73d874a7143efdf33383ad3b096305c21d98b8
Chris Manton [Thu, 7 Jan 2021 22:37:00 +0000 (14:37 -0800)]
bt_headless: Add connect test
Towards testable code
Bug:
163134718
Tag: #refactor
Test: gd/cert/run
Change-Id: I91eafe7e8047638581dcda75f60527572d842ec6
Hansong Zhang [Tue, 12 Jan 2021 07:22:33 +0000 (23:22 -0800)]
Increase RFC_MCB_RELEASE_INACT_TIMER to 20 seconds
Say we first connect to a remote device using RFCOMM. The remote
decides to bond with us before we establish a channel. This could take
longer than 2 seconds.
In the past we handle this before we create L2cap channel. However,
re-bond can happen during RFCOMM session, because security requirement
might have changed.
Test: cert/run
Tag: #gd-refactor
Bug:
141555841
Change-Id: I7d5618b37d5414b10abe7497c3ea6819fb802db7
Chienyuan [Mon, 11 Jan 2021 14:14:53 +0000 (22:14 +0800)]
gd: Set scan response data based on AdvertisingType
Tag: #gd-refactor
Bug:
169125803
Test: cert/run --host
Test: atest --host bluetooth_test_gd
Change-Id: Ib73a03398623fd99d6bf1234510048faef1ea60b
Treehugger Robot [Tue, 12 Jan 2021 01:59:25 +0000 (01:59 +0000)]
Merge changes from topic "Refactor StartScan/StopScan for GD"
* changes:
gd: replace old scan APIs and refactor tests
gd: Implement basic scan function