OSDN Git Service

Simplify btif_dm_cancel_bond
authorZach Johnson <zachoverflow@google.com>
Fri, 14 Aug 2020 20:06:01 +0000 (13:06 -0700)
committerZach Johnson <zachoverflow@google.com>
Sat, 15 Aug 2020 00:48:18 +0000 (17:48 -0700)
Bug: 159815595
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: I34e7a84253ac26a84e705b760b73d5f37b016580

btif/include/btif_api.h
btif/src/bluetooth.cc
btif/src/btif_dm.cc

index eb2326b..6312ab0 100644 (file)
@@ -228,10 +228,8 @@ void btif_dm_create_bond_out_of_band(const RawAddress bd_addr, int transport,
  *
  * Description      Initiate bonding with the specified device
  *
- * Returns          bt_status_t
- *
  ******************************************************************************/
-bt_status_t btif_dm_cancel_bond(const RawAddress* bd_addr);
+void btif_dm_cancel_bond(const RawAddress bd_addr);
 
 /*******************************************************************************
  *
index 9f9c3fe..81ac78f 100644 (file)
@@ -310,10 +310,10 @@ static int create_bond_out_of_band(const RawAddress* bd_addr, int transport,
 }
 
 static int cancel_bond(const RawAddress* bd_addr) {
-  /* sanity check */
   if (!interface_ready()) return BT_STATUS_NOT_READY;
 
-  return btif_dm_cancel_bond(bd_addr);
+  do_in_jni_thread(FROM_HERE, base::BindOnce(btif_dm_cancel_bond, *bd_addr));
+  return BT_STATUS_SUCCESS;
 }
 
 static int remove_bond(const RawAddress* bd_addr) {
index fdd0e05..7ef5b83 100644 (file)
@@ -2243,14 +2243,12 @@ void btif_dm_create_bond_out_of_band(const RawAddress bd_addr, int transport,
  *
  * Description      Initiate bonding with the specified device
  *
- * Returns          bt_status_t
- *
  ******************************************************************************/
 
-bt_status_t btif_dm_cancel_bond(const RawAddress* bd_addr) {
-  BTIF_TRACE_EVENT("%s: bd_addr=%s", __func__, bd_addr->ToString().c_str());
+void btif_dm_cancel_bond(const RawAddress bd_addr) {
+  BTIF_TRACE_EVENT("%s: bd_addr=%s", __func__, bd_addr.ToString().c_str());
 
-  btif_stats_add_bond_event(*bd_addr, BTIF_DM_FUNC_CANCEL_BOND,
+  btif_stats_add_bond_event(bd_addr, BTIF_DM_FUNC_CANCEL_BOND,
                             pairing_cb.state);
 
   /* TODO:
@@ -2260,24 +2258,22 @@ bt_status_t btif_dm_cancel_bond(const RawAddress* bd_addr) {
   if (is_bonding_or_sdp()) {
     if (pairing_cb.is_ssp) {
       if (pairing_cb.is_le_only) {
-        BTA_DmBleSecurityGrant(*bd_addr, BTA_DM_SEC_PAIR_NOT_SPT);
+        BTA_DmBleSecurityGrant(bd_addr, BTA_DM_SEC_PAIR_NOT_SPT);
       } else {
-        BTA_DmConfirm(*bd_addr, false);
-        BTA_DmBondCancel(*bd_addr);
-        btif_storage_remove_bonded_device(bd_addr);
+        BTA_DmConfirm(bd_addr, false);
+        BTA_DmBondCancel(bd_addr);
+        btif_storage_remove_bonded_device(&bd_addr);
       }
     } else {
       if (pairing_cb.is_le_only) {
-        BTA_DmBondCancel(*bd_addr);
+        BTA_DmBondCancel(bd_addr);
       } else {
-        BTA_DmPinReply(*bd_addr, false, 0, NULL);
+        BTA_DmPinReply(bd_addr, false, 0, NULL);
       }
       /* Cancel bonding, in case it is in ACL connection setup state */
-      BTA_DmBondCancel(*bd_addr);
+      BTA_DmBondCancel(bd_addr);
     }
   }
-
-  return BT_STATUS_SUCCESS;
 }
 
 /*******************************************************************************
@@ -3218,7 +3214,7 @@ void btif_dm_on_disable() {
   /* cancel any pending pairing requests */
   if (is_bonding_or_sdp()) {
     BTIF_TRACE_DEBUG("%s: Cancel pending pairing request", __func__);
-    btif_dm_cancel_bond(&pairing_cb.bd_addr);
+    btif_dm_cancel_bond(pairing_cb.bd_addr);
   }
 }