整个bluedroid可以分为两大模块:BTIF,BTE
BTIF:提供bluedroid对外的接口
BTE:bluedroid的内部处理,又细分为BTA,BTU,BTM和HCI
BTA:bluedroid中各profile的逻辑实现和处理
BTU:承接BTA与HCI
BTM:蓝牙配对与链路管理
HCI:读取或写入数据到蓝牙hw
bta_hh_le_open_cmpl
bta_hh_le_add_dev_bg_conn(p_cb, TRUE);//加入到bg conn,用于回连
BTM_GetSecurityFlagsByTransport 如果没有完成安全认证,那么不会加入到whitelist里面
btm_find_dev
BTA_GATTC_Open
gatt_update_auto_connect_dev //加入whitelist
gatt_add_bg_dev_list(p_reg, bd_addr, is_initator);//添加到whitelist
BTM_BleUpdateBgConnDev(TRUE, bd_addr);//update background connection
btm_update_dev_to_white_list(add_remove, remote_bda);
background_connection_add((bt_bdaddr_t*)bd_addr);//添加到background_connections