修复下载表情屏保后,蓝牙图标不更新的bug
authorxue <2144439972@qq.com>
Mon, 12 Jan 2026 07:41:47 +0000 (15:41 +0800)
committerxue <2144439972@qq.com>
Mon, 12 Jan 2026 07:41:47 +0000 (15:41 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdMainView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp

index f991ed1..f074316 100644 (file)
@@ -342,6 +342,8 @@ namespace OHOS
         // cat1模组版本
         std::string cat1_pyver;
 
+        bool m_savedBluetoothIconVisible = false;  // 进入下载前保存的蓝牙图标显示状态(用于恢复)
+
     private:
         ThunderBirdModel();
         virtual ~ThunderBirdModel();
index c2dcdc5..884d207 100644 (file)
@@ -569,6 +569,13 @@ namespace OHOS
             }
 
             ScrollView_->Add(InitBaseData()); // 最上面状态栏
+                    // 从OTA视图返回主视图时,恢复蓝牙图标显示
+            ThunderBirdModel* model = ThunderBirdModel::GetInstance();
+            if (model != nullptr && model->m_savedBluetoothIconVisible && earphoneIcon != nullptr) {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::OnStart: 从下载视图返回,恢复蓝牙图标显示");
+                earphoneIcon->SetVisible(true);
+                model->m_savedBluetoothIconVisible = false; // 恢复后清空标志
+            }
 
         }
     }
index ee7f735..f932dc1 100644 (file)
@@ -3119,6 +3119,15 @@ extern "C" {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleDownloadFile: OTA正在升级,跳过下载");
             return;
         }
+        // 保存当前蓝牙图标显示状态,以便从OTA视图返回时恢复
+        ThunderBirdMainView *mainView = ThunderBirdMainView::GetInstance();
+        if (mainView != nullptr && mainView->earphoneIcon != nullptr) {
+            m_savedBluetoothIconVisible = mainView->earphoneIcon->IsVisible();
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleDownloadFile: 保存当前蓝牙图标显示状态: %d", m_savedBluetoothIconVisible);
+        } else {
+            m_savedBluetoothIconVisible = false;
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleDownloadFile: 无法获取蓝牙图标状态,默认保存为false");
+        }
         do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
         AI_ForceInterrupt();
         ln_ws_send_voice_chat_interrupt("下载表情");
@@ -3141,8 +3150,8 @@ extern "C" {
         }
         //do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_WS_ENTER_SLEEP, NULL, 0);
         uapi_set_screen_on_api(); // 亮屏
-        AI_ForceInterrupt();
-        ln_ws_send_voice_chat_interrupt("开始下载");
+        // AI_ForceInterrupt();
+        // ln_ws_send_voice_chat_interrupt("开始下载");
     }
 
     void ThunderBirdModel::HandleAudioPlaybackStart()