Merge #2833 into sdk650pathc0423 from refs/changes/2833/head
author罗正 <1732036298@qq.com>
Mon, 1 Dec 2025 07:44:36 +0000 (07:44 +0000)
committeraliyun3243248791 <accounts_67aaf52ad497cd558d73ac32@mail.teambition.com>
Mon, 1 Dec 2025 07:44:36 +0000 (07:44 +0000)
雷鸟:蓝牙耳机界面优化,上报优化

* refs/changes/2833/head: (1 commits squashed)

  - 雷鸟:蓝牙耳机界面优化,上报优化

Signed-off-by: 罗正 <1732036298@qq.com>
Merged-by: 薛文强 <accounts_67aaf52ad497cd558d73ac32@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/2833
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/Ln_Bluetooth_apiC.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdBlueListAdapter.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index 0e2f571..f09f695 100644 (file)
@@ -126,7 +126,7 @@ void BluetoothModel::Init()
 \r
     // 设置自动回连,ios一键双连依赖此配置\r
     bts_feature_t bts_feature = { 0 };\r
-    bts_feature.bt_auto_reconnect_closed = 0;\r
+    bts_feature.bt_auto_reconnect_closed = 1;\r
     ret = bts_set_features(&bts_feature);\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt bts_set_features ret = %u", ret);\r
 \r
@@ -146,7 +146,7 @@ void BluetoothModel::Init()
     BtInitGatts();\r
     BtInitSpp();\r
     InitBtHeadsetEvent(); // 蓝牙ct和tg适配初始化\r
-    // PhoneServiceInit();\r
+    PhoneServiceInit();\r
     // gap_remove_all_pairs();\r
     BtA2dpInit();\r
 \r
@@ -1052,7 +1052,7 @@ void ChangeBleConnectToDefault()
 // 回调:ACL连接状态上报\r
 void GapAclStateChangedCallback(const bd_addr_t *bdAddr, gap_acl_state_t state, unsigned int reason)\r
 {\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt GapAclStateChangedCallback state %d, reason %x succ or err", state, reason);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ACL连接状态上报 state %d, reason %x succ or err", state, reason);\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: %02x%02x%02x%02x%02x%02x",\r
         bdAddr->addr[5], bdAddr->addr[4], bdAddr->addr[3], /* mac下标 0 1 2 3 4 5 */\r
         bdAddr->addr[2], bdAddr->addr[1], bdAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
@@ -1061,21 +1061,21 @@ void GapAclStateChangedCallback(const bd_addr_t *bdAddr, gap_acl_state_t state,
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GapAclStateChangedCallback: Mobile Phone Device");\r
         if (state == GAP_ACL_STATE_DISCONNECTED) {\r
             /* 通知msg_center,ble状态仍用bt状态,此处不区分 */\r
-            MsgCenterSendMsg(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
-            SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);\r
+            // MsgCenterSendMsg(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+            // SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);\r
             // send to ace network\r
             // SetAclConnected(false);\r
-            net_connect_status_change(NETWORK_TYPE_BLUETOOTH, CONNECTION_STATUS_DISCONNECTED);\r
+            // net_connect_status_change(NETWORK_TYPE_BLUETOOTH, CONNECTION_STATUS_DISCONNECTED);\r
         } else if (state == GAP_ACL_STATE_CONNECTED) {\r
             (void)memcpy_s(gapAclConnectAddr.addr, BD_ADDR_LEN, bdAddr->addr, BD_ADDR_LEN);\r
-            MsgCenterSendMsg(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
-            SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
+            // MsgCenterSendMsg(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+            // SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
             // send to ace network\r
             // SetAclConnected(true);\r
 #if defined(SUPPORT_LWIP) && defined(SUPPORT_BREDR)\r
-            bt_pan_open();\r
+            // bt_pan_open();\r
 #endif\r
-            net_connect_status_change(NETWORK_TYPE_BLUETOOTH, CONNECTION_STATUS_CONNECTED);\r
+            // net_connect_status_change(NETWORK_TYPE_BLUETOOTH, CONNECTION_STATUS_CONNECTED);\r
         }\r
         return;\r
     }\r
index d82bce5..02e2c6b 100644 (file)
@@ -262,7 +262,7 @@ extern "C"
         // 只有在已连接状态下才能发送状态报告
         if (ln_ws_get_connection_state() != 2)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ln_bt_report_earphone_connection_status: ws not connected");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ln_bt_report_earphone_connection_status: ws not connected");
             return 0;
         }
 
@@ -283,7 +283,7 @@ extern "C"
             (lastAddr->addr[2] == 0) && (lastAddr->addr[3] == 0) &&
             (lastAddr->addr[4] == 0) && (lastAddr->addr[5] == 0))
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ln_bt_report_earphone_connection_status: lastAddr is empty");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ln_bt_report_earphone_connection_status: lastAddr is empty");
             char *bluetoothStatus = "DISCONNECTED";
             do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_BLUETOOTH_STATUS_REPORT, bluetoothStatus, strlen(bluetoothStatus));
             return 0;
index 4c7db5d..0349714 100644 (file)
@@ -24,7 +24,7 @@ constexpr int64_t COLOR_ITEM_BG = 0xFFAD590B;          // 设备项背景色(
 constexpr int64_t COLOR_BORDER_SELECTED = 0xFFED6C00;  // 选中边框颜色(橙色)
 constexpr int64_t COLOR_TEXT_WHITE = 0xFFFFFFFF;       // 白色文字
 constexpr int64_t COLOR_TEXT_GRAY = 0xFFCCCCCC;        // 灰色文字(分组标题)
-constexpr int64_t COLOR_CONNECTED_DOT = 0xFFED6C00;    // 已连接指示点颜色(橙色)
+constexpr int64_t COLOR_CONNECTED_DOT = 0xFF4FC34C;    // 已连接指示点颜色(绿色)
 
 //========================================
 // ThunderBirdBlueDeviceItemView 实现
index 473f1ee..d8b52f8 100644 (file)
@@ -475,6 +475,10 @@ extern "C" {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂:删除雷鸟文件夹 /user/leiniao");
             return false;
          }
+         if(gap_remove_all_pairs() == false)
+         {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂: 删除所有配对失败");
+         }
 
          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "恢复出厂: 成功");
          //重启
index 796c142..143e50a 100644 (file)
@@ -42,6 +42,7 @@
 #ifdef CUSTOM_UTILS
 #include "custom_utils.h"
 #endif
+#include "bluetooth/Ln_Bluetooth_apiC.h"
 namespace OHOS
 {
     // 静态回调函数声明
@@ -843,7 +844,6 @@ namespace OHOS
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_BLUEVIEW, ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_SREACHING);
                     break;
                 case ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DISCONNECT_SUCCESS: 
-                    //蓝牙已断开,返回搜索界面,提示用户重新搜索
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
                     break;
                 case ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DEVICE_LIST:
@@ -872,6 +872,10 @@ namespace OHOS
                     //返回设备列表
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_BLUEVIEW, ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DEVICE_LIST);
                     break;
+                case ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DISCONNECT_SUCCESS: 
+                    //蓝牙已断开,返回搜索界面,提示用户重新搜索
+                    ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_BLUEVIEW, ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DEVICE_LIST);
+                    break;
                 case ThunderBirdBlueView::THUNDERBIRD_BULEVIEW_DEVICE_LIST:
                     ThunderBirdBlueView::GetInstance()->OnKeyDown();// 音量-键:选择下一个设备
                     break;
@@ -1093,6 +1097,7 @@ namespace OHOS
                         ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
                     break;
                 }
+                ln_bt_report_earphone_connection_status();
             }
         }
     }