关闭自动回连 547/target/2 548/1 548/head 549/target/2 550/target/1
authorhcj <1224667075@qq.com>
Thu, 18 Jul 2024 03:59:31 +0000 (11:59 +0800)
committerhcj <1224667075@qq.com>
Thu, 18 Jul 2024 03:59:31 +0000 (11:59 +0800)
code/sdk/application/wearable/fd230app/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index 95714c0..83b267b 100644 (file)
@@ -136,7 +136,7 @@ static int bluetooth_init_all(void)
     errcode_t ret;\r
     // 设置自动回连,ios一键双连依赖此配置\r
    \r
-    bluetooth_set_auto_reconnect(0);\r
+    bluetooth_set_auto_reconnect(1);\r
 \r
     ret = enable_bt_stack();\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt enable_bt_stack ret = %u", ret);\r
@@ -1584,7 +1584,7 @@ int uapi_a2dp_snk_connect()
 {\r
 \r
     int ret = a2dp_snk_connect(&g_bd_addr);\r
-     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x%02x%02x%02x playing_state: %x\n",\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x%02x%02x%02x g_bd_addr.type: %x\n",\r
     g_bd_addr.addr[3], g_bd_addr.addr[2], g_bd_addr.addr[1], g_bd_addr.addr[0], g_bd_addr.type); /* 3 2 1 0 idx */\r
 \r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %x\n", ret);\r
index f301059..9c1b0f1 100644 (file)
@@ -539,6 +539,7 @@ static void CopyBdAddr(const bd_addr_t *bdAddr)
     unsigned char addr[BD_ADDR_LEN] = {0};
     if (strncmp((const char*)g_bdAddr.addr, (const char*)addr, BD_ADDR_LEN) == 0) {
         (void)memcpy_s(g_bdAddr.addr, BD_ADDR_LEN, bdAddr->addr, BD_ADDR_LEN);
+        g_bdAddr.type=bdAddr->type;
     }
 }
 
@@ -565,7 +566,7 @@ static void BtConnectedPro(const bd_addr_t *bdAddr)
 static void BtDisconnectedPro(void)
 {
     g_btConnState = PROFILE_STATE_DISCONNECTED;
-    (void)memset_s(g_bdAddr.addr, BD_ADDR_LEN, 0, BD_ADDR_LEN);
+    //(void)memset_s(g_bdAddr.addr, BD_ADDR_LEN, 0, BD_ADDR_LEN);
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[BtDisconnectedPro] g_bdAddr: ");
     CatBdAddr(&g_bdAddr);
 
@@ -588,7 +589,7 @@ static void BtDisconnectedPro(void)
 // 蓝牙状态连接
 static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t state)
 {
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] state = 0x%X bdAddr: ", state);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] state = 0x%X bdAddr: ", state);
     CatBdAddr(bdAddr);
 
     switch (state) {
@@ -1857,15 +1858,33 @@ int uapi_hfp_disconnect(void)
 {
     int ret;
     ret = hfp_hf_disconnect(&g_bdAddr);
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_disconnect] ret:%d", ret);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x %02x %02x %02x g_bdAddr.type: %x\n",
+    g_bdAddr.addr[3], g_bdAddr.addr[2], g_bdAddr.addr[1], g_bdAddr.addr[0], g_bdAddr.type); /* 3 2 1 0 idx */
+
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_disconnect] ret:%X", ret);
     return ret;   
 }
 
 int uapi_hfp_connect(void)
 {
     int ret;
+    if(false==bt_is_acl_connected(&g_bdAddr))
+    {
+        ret= gap_connect_remote_device(&g_bdAddr);
+        
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected] ret:%X", ret);
+    }
+    else
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected is true");
+    }
+
+    
     ret = hfp_hf_connect(&g_bdAddr);
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_connect_hfp] ret:%d", ret);
+     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x %02x %02x %02x g_bdAddr.type: %x\n",
+    g_bdAddr.addr[3], g_bdAddr.addr[2], g_bdAddr.addr[1], g_bdAddr.addr[0], g_bdAddr.type); /* 3 2 1 0 idx */
+
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
     return ret;   
 }
 
index 4d8814b..0225d40 100644 (file)
@@ -316,6 +316,8 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
         \r
         Bleconnect = GAP_BLE_STATE_CONNECTED;//蓝牙已连接\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_CONNECTED!!! 0x%x\r\n",pair_state);\r
+        //连接上ble,此时如果没有连接上A2DP或者HFP则开启自动回连去连接\r
+       \r
         \r
     }\r
 \r
@@ -329,6 +331,11 @@ void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t s
     addr->addr[2],addr->addr[3],addr->addr[4],addr->addr[5],status);\r
     //if(get_notify_switch())\r
     ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
+\r
+     gap_reconnect_media_device(&phone_addr);\r
+\r
+    //if(!uapi_a2dp_snk_get_device_connect_state() || !uapi_hfp_connect_state())\r
+    \r
     \r
 }\r
 \r
@@ -1020,7 +1027,7 @@ static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, ga
     //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d  2ae2 %d read_cb_para->handle :%d",read_cb_para->is_long,data2ae2Cmd,read_cb_para->handle);\r
     if(read_cb_para->handle!=data2ae2Cmd)\r
     return;\r
-    \r
+   \r
     // if(flag==0)\r
     // ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
     // else if(flag==1)\r