From c358eed353e80c388ce0424d8cc89d148390ffb1 Mon Sep 17 00:00:00 2001 From: Matthew Xie Date: Wed, 28 Jan 2015 17:30:13 -0800 Subject: [PATCH] bta_dm_search_cancel sends dm_search state machine complete events bta_dm_search_cancel moves dm_search state from active search to search_canceling state. The function is also responsible of moving the state out of canceling state. Bug: 19017339 Change-Id: Idea0cb0e2987892a5fc0f66db8eed19f57c68b89 --- bta/dm/bta_dm_act.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/bta/dm/bta_dm_act.c b/bta/dm/bta_dm_act.c index ed38b7e82..0c0c222d0 100644 --- a/bta/dm/bta_dm_act.c +++ b/bta/dm/bta_dm_act.c @@ -1273,14 +1273,29 @@ void bta_dm_search_cancel (tBTA_DM_MSG *p_data) p_msg->hdr.event = BTA_DM_SEARCH_CMPL_EVT; p_msg->hdr.layer_specific = BTA_DM_API_DISCOVER_EVT; bta_sys_sendmsg(p_msg); - } } /* If no Service Search going on then issue cancel remote name in case it is active */ else if (!bta_dm_search_cb.name_discover_done) { BTM_CancelRemoteDeviceName(); + + if ((p_msg = (tBTA_DM_MSG *) GKI_getbuf(sizeof(tBTA_DM_MSG))) != NULL) + { + p_msg->hdr.event = BTA_DM_REMT_NAME_EVT; + p_msg->hdr.layer_specific = BTA_DM_API_DISCOVER_EVT; + bta_sys_sendmsg(p_msg); + } } + else { + if ((p_msg = (tBTA_DM_MSG *) GKI_getbuf(sizeof(tBTA_DM_MSG))) != NULL) + { + p_msg->hdr.event = BTA_DM_INQUIRY_CMPL_EVT; + p_msg->hdr.layer_specific = BTA_DM_API_DISCOVER_EVT; + bta_sys_sendmsg(p_msg); + } + } + #if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE if (bta_dm_search_cb.gatt_disc_active) { -- 2.11.0