OSDN Git Service

Use stack/acl/btm_acl::on_acl_br_edr_{success,failed}
authorChris Manton <cmanton@google.com>
Sun, 10 Jan 2021 22:51:01 +0000 (14:51 -0800)
committerChris Manton <cmanton@google.com>
Tue, 19 Jan 2021 21:32:29 +0000 (13:32 -0800)
Try not to re-converge divergent code paths

Bug: 163134718
Tag: #refactor
Test: compile & verify basic functions working

Change-Id: I9f3abe06f0ee276af583fbcb715f198710f48fec

stack/acl/btm_acl.cc

index 3e39dff..a0e13b6 100644 (file)
@@ -2729,23 +2729,11 @@ void on_acl_br_edr_failed(const RawAddress& bda, tHCI_STATUS status) {
 
 void btm_acl_connected(const RawAddress& bda, uint16_t handle,
                        tHCI_STATUS status, uint8_t enc_mode) {
-  btm_sec_connected(bda, handle, status, enc_mode);
-  btm_acl_set_paging(false);
-  l2c_link_hci_conn_comp(status, handle, bda);
-
-  /*
-   * The legacy code path informs the upper layer via the BTA
-   * layer after all relevant read_remote_ commands are complete.
-   * The GD code path has ownership of the read_remote_ commands
-   * and thus may inform the upper layers about the connection.
-   */
-  if (bluetooth::shim::is_gd_acl_enabled()) {
-    tACL_CONN* p_acl = internal_.acl_get_connection_from_handle(handle);
-    if (p_acl != nullptr) {
-      NotifyAclLinkUp(*p_acl);
-    } else {
-      LOG_WARN("Unable to find active acl");
-    }
+  switch (status) {
+    case HCI_SUCCESS:
+      return on_acl_br_edr_connected(bda, handle, enc_mode);
+    default:
+      return on_acl_br_edr_failed(bda, status);
   }
 }