Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f4fe2db authored by Abhishek Pandit-Subedi's avatar Abhishek Pandit-Subedi Committed by Gerrit Code Review
Browse files

Merge changes I3e67f06f,I392bd63a

* changes:
  floss: Refactor le reconnection during suspend
  floss: Refactor allow_wake_by_hid for classic
parents c5a5191c f232c698
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -4391,13 +4391,14 @@ void bta_dm_set_event_filter_connection_setup_all_devices() {
 *
 * Description     Allow the device to be woken by HID devices
 *
 * Parameters      std::vector of (Address, Address Type)
 * Parameters      std::vector of Classic Address and LE (Address, Address Type)
 *
 *******************************************************************************/
void bta_dm_allow_wake_by_hid(
    std::vector<RawAddress> classic_hid_devices,
    std::vector<std::pair<RawAddress, uint8_t>> le_hid_devices) {
  // Autoplumbed
  bluetooth::shim::BTM_AllowWakeByHid(le_hid_devices);
  bluetooth::shim::BTM_AllowWakeByHid(std::move(classic_hid_devices),
                                      std::move(le_hid_devices));
}

/*******************************************************************************
@@ -4409,9 +4410,10 @@ void bta_dm_allow_wake_by_hid(
 * Parameters
 *
 *******************************************************************************/
void bta_dm_restore_filter_accept_list() {
void bta_dm_restore_filter_accept_list(
    std::vector<std::pair<RawAddress, uint8_t>> le_devices) {
  // Autoplumbed
  bluetooth::shim::BTM_RestoreFilterAcceptList();
  bluetooth::shim::BTM_RestoreFilterAcceptList(le_devices);
}

/*******************************************************************************
+8 −4
Original line number Diff line number Diff line
@@ -734,15 +734,19 @@ void BTA_DmSetEventFilterConnectionSetupAllDevices() {
}

void BTA_DmAllowWakeByHid(
    std::vector<RawAddress> classic_hid_devices,
    std::vector<std::pair<RawAddress, uint8_t>> le_hid_devices) {
  APPL_TRACE_API("BTA_DmAllowWakeByHid");
  do_in_main_thread(FROM_HERE,
                    base::Bind(bta_dm_allow_wake_by_hid, le_hid_devices));
  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_allow_wake_by_hid,
                                          std::move(classic_hid_devices),
                                          std::move(le_hid_devices)));
}

void BTA_DmRestoreFilterAcceptList() {
void BTA_DmRestoreFilterAcceptList(
    std::vector<std::pair<RawAddress, uint8_t>> le_devices) {
  APPL_TRACE_API("BTA_DmRestoreFilterAcceptList");
  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_restore_filter_accept_list));
  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_restore_filter_accept_list,
                                          std::move(le_devices)));
}

void BTA_DmSetDefaultEventMaskExcept(uint64_t mask, uint64_t le_mask) {
+3 −1
Original line number Diff line number Diff line
@@ -583,8 +583,10 @@ extern void bta_dm_disconnect_all_acls(void);
extern void bta_dm_le_rand(LeRandCallback cb);
extern void bta_dm_set_event_filter_connection_setup_all_devices();
extern void bta_dm_allow_wake_by_hid(
    std::vector<RawAddress> classic_hid_devices,
    std::vector<std::pair<RawAddress, uint8_t>> le_hid_devices);
extern void bta_dm_restore_filter_accept_list();
extern void bta_dm_restore_filter_accept_list(
    std::vector<std::pair<RawAddress, uint8_t>> le_devices);
extern void bta_dm_set_default_event_mask_except(uint64_t mask,
                                                 uint64_t le_mask);
extern void bta_dm_set_event_filter_inquiry_result_all_devices();
+3 −1
Original line number Diff line number Diff line
@@ -1310,6 +1310,7 @@ extern void BTA_DmSetEventFilterConnectionSetupAllDevices();
 *
 *******************************************************************************/
extern void BTA_DmAllowWakeByHid(
    std::vector<RawAddress> classic_hid_devices,
    std::vector<std::pair<RawAddress, uint8_t>> le_hid_devices);

/*******************************************************************************
@@ -1321,7 +1322,8 @@ extern void BTA_DmAllowWakeByHid(
 * Parameters
 *
 *******************************************************************************/
extern void BTA_DmRestoreFilterAcceptList();
extern void BTA_DmRestoreFilterAcceptList(
    std::vector<std::pair<RawAddress, uint8_t>> le_devices);

/*******************************************************************************
 *
+23 −2
Original line number Diff line number Diff line
@@ -24,6 +24,25 @@
#include "btif_uid.h"
#include "types/raw_address.h"

/*******************************************************************************
 *  Constants & Macros
 ******************************************************************************/
#define COD_MASK 0x07FF
#define COD_UNCLASSIFIED ((0x1F) << 8)
/* Focus on Major and minor device class*/
#define COD_DEVICE_MASK 0x1FFC
#define COD_HID_KEYBOARD 0x0540
#define COD_HID_POINTING 0x0580
#define COD_HID_COMBO 0x05C0
#define COD_HID_MAJOR 0x0500
#define COD_HID_MASK 0x0700
#define COD_AV_HEADSETS 0x0404
#define COD_AV_HANDSFREE 0x0408
#define COD_AV_HEADPHONES 0x0418
#define COD_AV_PORTABLE_AUDIO 0x041C
#define COD_AV_HIFI_AUDIO 0x0428
#define COD_CLASS_LE_AUDIO (1 << 14)

/*******************************************************************************
 *  Functions
 ******************************************************************************/
@@ -83,8 +102,10 @@ void btif_dm_disconnect_all_acls();
void btif_dm_le_rand(LeRandCallback callback);
void btif_dm_set_event_filter_connection_setup_all_devices();
void btif_dm_allow_wake_by_hid(
    std::vector<std::pair<RawAddress, uint8_t>> addrs);
void btif_dm_restore_filter_accept_list();
    std::vector<RawAddress> classic_addrs,
    std::vector<std::pair<RawAddress, uint8_t>> le_addrs);
void btif_dm_restore_filter_accept_list(
    std::vector<std::pair<RawAddress, uint8_t>> le_devices);
void btif_dm_set_default_event_mask_except(uint64_t mask, uint64_t le_mask);
void btif_dm_set_event_filter_inquiry_result_all_devices();
void btif_dm_metadata_changed(const RawAddress& remote_bd_addr, int key,
Loading