Commit Graph

132 Commits

Author SHA1 Message Date
Lu Jia f5965d1303 bluetooth: Add initialization for local variables.
When passed to bt_socket_client_send_with_reply , it may contain undefined values, leading to unpredictable behavior. Initialize packet explicitly before using it.

Signed-off-by: jialu <jialu@xiaomi.com>
Signed-off-by: miot-robot <miot-robot@xiaomi.com>
2026-04-20 14:53:21 +08:00
Lu Jia 05614c8747 bluetooth: Add initialization for local variables.
When passed to bt_socket_client_send_with_reply , it may contain undefined values, leading to unpredictable behavior. Initialize packet explicitly  before using it.

Signed-off-by: jialu <jialu@xiaomi.com>
Signed-off-by: miot-robot <miot-robot@xiaomi.com>
2026-04-20 14:53:21 +08:00
zhangyuan20 155520406c fix problem that pair pin command do not send accept
Rootcause: Pair pin command do not send accept, The default value is 0, thus rejecting the pair process, So add accept when send to socket.

Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:53:05 +08:00
chejinxian1 65275b274c L2CAP: Update stop listen function to include transport parameter
Rootcause: The PSM employed by L2CAP in LE and BR/EDR contexts are not identical concepts. The LE scenario utilises a simplified PSM, whereas the BR/EDR scenario employs the standard PSM. These differ fundamentally in their allocation methods and are not interoperable.

Consequently, the current implementation of listen and stop listen operations requires distinguishing between connection types. Add a new API `bt_l2cap_stop_listen_with_transport` to support stop listen on BR/EDR PSM. This modification will rectify the error where `bt_l2cap_stop_listen` fails to recognise connection types, whilst filtering operations specific to the BR/EDR type.

Signed-off-by: chejinxian1 <chejinxian1@xiaomi.com>
2026-04-20 14:52:53 +08:00
zhangyuan20 bdc7984fd2 zephyr-pts: add register notification interface for avrcp ct
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:48 +08:00
zhangyuan20 a86c6bb43c zephyr-pts: add get playback state interface for avrcp ct
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:48 +08:00
zhangyuan20 4c52e8b14b zephyr-pts: add get subunit info interface for avrcp ct
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:48 +08:00
zhangyuan20 8fbbd82849 zephyr-pts: add get unit info interface for avrcp ct
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:48 +08:00
zhangyuan20 0a2f1a9344 zephyr-pts: add send passthrough cmd for avrcp ct
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:48 +08:00
chejinxian1 2ca1ce1c6a L2CAP: Add function to stop listening on a specific PSM.
Signed-off-by: chejinxian1 <chejinxian1@xiaomi.com>
2026-04-20 14:52:46 +08:00
chejinxian1 0706a8491f L2CAP: Refactor L2CAP API to support to multiple application and socket pipe.
Refactor L2CAP API to use handles instead of cookies for callback registration and management.

Signed-off-by: chejinxian1 <chejinxian1@xiaomi.com>
2026-04-20 14:52:46 +08:00
liuxiang18 bb834bba1e PTS: add pts property for dynamic control disconnect or not when pair failed.
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:52:42 +08:00
zhongzhijie1 09c3c75c61 Support the signed write function, which requires BT_SIGNING micro to open.
Signed-off-by: zhongzhijie1 <zhongzhijie1@xiaomi.com>
2026-04-20 14:52:42 +08:00
zhongzhijie1 3fa65f3169 Add API for limited Discovery.
Signed-off-by: zhongzhijie1 <zhongzhijie1@xiaomi.com>
2026-04-20 14:52:42 +08:00
liuxiang18 4baa13a8d1 bluetooth: implement bt_device_set_bondable_le API to change bond mode.
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:52:41 +08:00
liuxiang18 55147e63ba bluetooth: implement bt_device_set_security_level API to change bond security level.
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:52:40 +08:00
liyuheng 45b7e64e16 Add new interface: hfp_hf_query_current_calls_with_callback.
Rootcause: Currently, when the bt_hfp_hf_query_current_calls interface receives a request, it retrieves the result from the state machine cache and returns it immediately. However, since the cache may not be updated in a timely manner, the returned data may not be the latest.

Signed-off-by: liyuheng <liyuheng@xiaomi.com>
2026-04-20 14:52:40 +08:00
chejinxian1 3b35c54322 IPC: Update the include for RPMSG
Rootcause: Within the Android build system, the RPMSG service is inaccessible. Consequently, the corresponding library path has been added to Android.bp, and the include header file for the source file utilising RPMSG has been updated.

Signed-off-by: chejinxian1 <chejinxian1@xiaomi.com>
Signed-off-by: miot-robot <miot-robot@xiaomi.com>
2026-04-20 14:52:40 +08:00
zhangyuan20 2ecaa0d81e Android-Vela:add cind interface for android
Rootcause:When reconnect to the headset during a call, the headset will obtain the call status through the cind command. Since Vela does not have modem, the status will be error. So, get cind from Android.

Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:39 +08:00
zhangyuan20 2a46cb1ffa Android-Vela:add cnum interface for android
Rootcause: Adapt the cnum interface to obtain the virtual call mobile phone number.

Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:52:39 +08:00
Lu Jia 08b110ac5c bluetooth: Using macros to reduce boilerplate code in asynchronous callbacks.
Some processing logic in asynchronous callbacks is identical; extract this common code into a macro.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:34 +08:00
Lu Jia 7818c54bb0 bluetooth: Release resources within the callback during deletion of the GATTC asynchronous instance.
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:33 +08:00
Lu Jia 4b66d260fd bluetooth: Before releasing the IPC pending_queue, invoke the asynchronous callbacks for all messages contained within it.
When deleting the Bluetooth asynchronous instance, the IPC cached messages are directly released, and their asynchronous callbacks will not be invoked. This could lead to memory leaks if resources are released within the callbacks.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:33 +08:00
liuxiang18 752901fd8d Vela-Android: fix add service failure when db_elements over 10 in serivce.
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:52:28 +08:00
Lu Jia 778c625e42 bluetooth: Fix compilation errors
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:13 +08:00
chengkai 70c6e72aff bluetooth: add spp insecure feature
Signed-off-by: chengkai <chengkai@xiaomi.com>
2026-04-20 14:52:12 +08:00
zhongzhijie1 05a15ee027 bluetooth: add whitelist with type API to support specific BLE address type.
Whitelist with type API allows adding a BLE address with a specified address type to the whitelist. Note that each address can only have one address type, and the stack will auto handle merging of address type operations.

New API:
    bt_status_t BTSYMBOLS(bt_adapter_le_add_whitelist_with_type)(bt_instance_t* ins, bt_address_t* addr, ble_addr_type_t type);

Signed-off-by: zhongzhijie1 <zhongzhijie1@xiaomi.com>
2026-04-20 14:52:11 +08:00
Lu Jia 0cca14cced ipc: trace async api
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:09 +08:00
Lu Jia cf1f9b4220 ipc: gattc async api
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:08 +08:00
Lu Jia 7af64278ec bluetooth: Add instance in the handle returned by the callback in scan.
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:08 +08:00
Lu Jia 69334cb53e ipc: le scan async api
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:08 +08:00
Lu Jia 1fa9f974bc bluetooth: Add instance in the handle returned by the callback in adv.
Root cause: The interface handle and other information of the feature exist on the instance of Bluetooth. If the callback does not have instance information, it cannot obtain feature-related information, resulting in the JavaScript application not receiving the callback.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:08 +08:00
Lu Jia 295db704ae bluetooth: Fix compilation errors when calling Bluetooth in C++ files.
Root Cause: When a C++ file references a Bluetooth file, compilation errors occur due to the Bluetooth file using C++ keywords.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:07 +08:00
jialu d8076dc8f6 HFP: Adding vendor specific AT command process for AG
In order to implement the PTT function of headphone control, it is necessary to add the process of AG send and receive vendor specific AT commands.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:06 +08:00
zhongzhijie1 2ed8f967d8 [bug fix] When bt off is executed, disconnect all acl connections.
Originally, only the "adapter_disable" function was executed. An additional step was added before that, which disconnects all ACL connections. A timer was also started to wait for the "disconnect" event for 2 seconds, followed by cleaning up profile resources (by following the normal disable procedure).

Signed-off-by: zhongzhijie1 <zhongzhijie1@xiaomi.com>
2026-04-20 14:52:04 +08:00
Lu Jia 1d7a5117e9 bluetooth: Add bluetooth_get_async_instance()
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:01 +08:00
Lu Jia 0e070754c0 ipc: le advertiser async api
Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:52:00 +08:00
Lu Jia 3b4c8cb29f bluetooth: Fix bugs in asynchronous API.
Root cause:
1. The application does not pass asynchronous callback when it should directly return an error code. The message should not be sent to the server, and the entire callback list should not be freed.
2. The application registers multiple callbacks, but it should not return the asynchronous callback first and then return the return value of the asynchronous call. This behavior is inconsistent for the application between the first registration of a callback and subsequent registrations. When the application registers multiple callbacks, the message can be sent to the server, and the server will handle duplicate registrations.

Signed-off-by: jialu <jialu@xiaomi.com>
2026-04-20 14:51:58 +08:00
liuxiang18 cf465cabaf IPC: fix build error conversion from 'int' to 'bt_message_type_t'.
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:51:55 +08:00
liuxiang18 26713e976d bluetooth:connect/disconnect profile API
Signed-off-by: liuxiang18 <liuxiang18@xiaomi.com>
2026-04-20 14:51:35 +08:00
fangzhenwei 2550f8a068 ipc: device async api
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2026-04-20 14:51:32 +08:00
fangzhenwei 62c281090d ipc: adapter async api
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2026-04-20 14:51:32 +08:00
fangzhenwei af74910e2d ipc: socket ipc support async call
1.add api bt_socket_client_send_with_reply

Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2026-04-20 14:51:31 +08:00
chengkai 1655ec8ee9 bluetooth: add gatts_connect_bear api [1/2]
Signed-off-by: chengkai <chengkai@xiaomi.com>
2026-04-20 14:51:28 +08:00
shenyangsi babc3c231d GATT: fix type mismatch for cookie of socket ipc
Rootcause: The 32-bit pointer stored by the Vela socket server may truncate the 64-bit pointer from Android client

Signed-off-by: shenyangsi <shenyangsi@xiaomi.com>
2026-04-20 14:51:27 +08:00
chejinxian1 489bf05c8a Bluetooth: Add API for supplying enhanced mode for application calling.
Rootcause: Due to the diversity of application scenarios, the API for invoking the Connection Enhanced Mode is provided for applications to call. Applications can enable or disable specific enhanced modes according to their own needs.

Signed-off-by: chejinxian1 <chejinxian1@xiaomi.com>
2026-04-20 14:51:24 +08:00
zhangyuan20 3dbe72ae1c framework/bluetooth: Fixed the problem that bt_device_get_alias method returns wrong alias.
bt_device_get_alias method returns 62 bytes when alias length is 63 bytes, because the length is reduced by 1 when using strlcpy.

Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:51:24 +08:00
zhangyuan20 e4cdf81dc2 Android-Vela: add clcc interface and callback
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:51:24 +08:00
zhangyuan20 906172734f framework/avrcp: add metadata support for avrcp control in BT Service
Signed-off-by: zhangyuan20 <zhangyuan20@xiaomi.com>
2026-04-20 14:51:23 +08:00
chengkai 2f0b5ef837 bluetooth: adapt spp socket api
Signed-off-by: chengkai <chengkai@xiaomi.com>
2026-04-20 14:51:20 +08:00