From b1e466367c7afd1a370bfcbb6162b55fc3856162 Mon Sep 17 00:00:00 2001 From: Martin Brabham <optedoblivion@google.com> Date: Tue, 1 Feb 2022 16:23:05 +0000 Subject: [PATCH] Floss: BTA API: BTA_DmClearEventFilter Allow floss to clear event filter. Bug: 217374249 Test: Compiles Tag: #floss Change-Id: I5f7afaeea5aa7b3d82693fca3d959d750f431e96 --- system/bta/dm/bta_dm_act.cc | 14 ++++++++++++++ system/bta/dm/bta_dm_api.cc | 14 ++++++++++++++ system/bta/dm/bta_dm_int.h | 2 ++ system/bta/include/bta_api.h | 11 +++++++++++ system/test/mock/mock_bta_dm_act.h | 9 +++++++++ 5 files changed, 50 insertions(+) diff --git a/system/bta/dm/bta_dm_act.cc b/system/bta/dm/bta_dm_act.cc index 2ecc3e906af..752a31ffc8c 100644 --- a/system/bta/dm/bta_dm_act.cc +++ b/system/bta/dm/bta_dm_act.cc @@ -3996,6 +3996,20 @@ void bta_dm_proc_open_evt(tBTA_GATTC_OPEN* p_data) { } } +/******************************************************************************* + * + * Function bta_dm_proc_open_evt + * + * Description process BTA_GATTC_OPEN_EVT in DM. + * + * Parameters: + * + ******************************************************************************/ +void bta_dm_clear_event_filter(void) { + VLOG(1) << "bta_dm_clear_event_filter in bta_dm_act"; + bluetooth::shim::BTM_ClearEventFilter(); +} + /******************************************************************************* * * Function bta_dm_gattc_callback diff --git a/system/bta/dm/bta_dm_api.cc b/system/bta/dm/bta_dm_api.cc index c9e51663538..5e1a8787f78 100644 --- a/system/bta/dm/bta_dm_api.cc +++ b/system/bta/dm/bta_dm_api.cc @@ -670,3 +670,17 @@ void BTA_DmBleCsisObserve(bool observe, tBTA_DM_SEARCH_CBACK* p_results_cb) { * ******************************************************************************/ void BTA_VendorInit(void) { APPL_TRACE_API("BTA_VendorInit"); } + +/******************************************************************************* + * + * Function BTA_DmClearEventFilter + * + * Description This function clears the event filter + * + * Returns void + * + ******************************************************************************/ +void BTA_DmClearEventFilter(void) { + APPL_TRACE_API("BTA_DmClearEventFilter"); + do_in_main_thread(FROM_HERE, base::Bind(bta_dm_clear_event_filter)); +} diff --git a/system/bta/dm/bta_dm_int.h b/system/bta/dm/bta_dm_int.h index 02d25eb12bc..e6c5c0cdacd 100644 --- a/system/bta/dm/bta_dm_int.h +++ b/system/bta/dm/bta_dm_int.h @@ -553,6 +553,8 @@ extern void bta_dm_disc_rmt_name(tBTA_DM_MSG* p_data); extern tBTA_DM_PEER_DEVICE* bta_dm_find_peer_device( const RawAddress& peer_addr); +extern void bta_dm_clear_event_filter(void); + uint8_t bta_dm_search_get_state(); void bta_dm_search_set_state(uint8_t state); diff --git a/system/bta/include/bta_api.h b/system/bta/include/bta_api.h index 701de0aee89..3c0bd4b38a3 100644 --- a/system/bta/include/bta_api.h +++ b/system/bta/include/bta_api.h @@ -1194,4 +1194,15 @@ extern void BTA_DmBleGetEnergyInfo(tBTA_BLE_ENERGY_INFO_CBACK* p_cmpl_cback); ******************************************************************************/ extern void BTA_VendorInit(void); +/******************************************************************************* + * + * Function BTA_DmClearEventFilter + * + * Description This function clears the event filter + * + * Returns void + * + ******************************************************************************/ +extern void BTA_DmClearEventFilter(void); + #endif /* BTA_API_H */ diff --git a/system/test/mock/mock_bta_dm_act.h b/system/test/mock/mock_bta_dm_act.h index 2c99aa172d5..5a566dcb7de 100644 --- a/system/test/mock/mock_bta_dm_act.h +++ b/system/test/mock/mock_bta_dm_act.h @@ -255,6 +255,15 @@ struct bta_dm_ble_observe { }; extern struct bta_dm_ble_observe bta_dm_ble_observe; +// Name: bta_dm_clear_event_filter +// Params: None +// Return: void +struct bta_dm_clear_event_filter { + std::function<void()> body{[]() {}}; + void operator()() { body(); }; +}; +extern struct bta_dm_clear_event_filter bta_dm_clear_event_filter; + // Name: bta_dm_ble_passkey_reply // Params: const RawAddress& bd_addr, bool accept, uint32_t passkey // Return: void -- GitLab