设备哄睡先屏蔽切换角色与下载表情 3077/1
authorxue <2144439972@qq.com>
Tue, 13 Jan 2026 10:46:46 +0000 (18:46 +0800)
committerxue <2144439972@qq.com>
Tue, 13 Jan 2026 10:46:46 +0000 (18:46 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp

index 3dbe0e4..009c0d1 100644 (file)
@@ -2436,6 +2436,18 @@ extern "C" {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "  hasScreenImage: %d", hasScreenImage);
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "  screenImageAsEmoji: %d", screenImageAsEmoji);
         
+        // 检查是否在哄睡故事界面(THUNDERBIRD_LULLABYVIEW_4),如果是则禁止切换角色
+        ThunderBirdMainView *mainView = ThunderBirdMainView::GetInstance();
+        if (mainView != nullptr) {
+            int16_t currentView = mainView->GetCurrentView();
+            int16_t currentSubView = mainView->GetCurrentSubView();
+            if (currentView == THUNDERBIRD_LULLABYVIEW && 
+                currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4) {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleCharacterConfigChange: 当前在哄睡故事界面,禁止切换角色");
+                return;
+            }
+        }
+        
         // 将传入的参数转换为std::string(处理nullptr和字符串比较)
         std::string newEyesShape = eyesShape ? eyesShape : "";
         std::string newEyesColor = eyesColor ? eyesColor : "";
@@ -3202,6 +3214,19 @@ extern "C" {
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleDownloadFile");
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Download type: %d", type);
+        
+        // 检查是否在哄睡故事界面(THUNDERBIRD_LULLABYVIEW_4),如果是则禁止下载
+        ThunderBirdMainView *mainView = ThunderBirdMainView::GetInstance();
+        if (mainView != nullptr) {
+            int16_t currentView = mainView->GetCurrentView();
+            int16_t currentSubView = mainView->GetCurrentSubView();
+            if (currentView == THUNDERBIRD_LULLABYVIEW && 
+                currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4) {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleDownloadFile: 当前在哄睡故事界面,禁止下载表情/屏保");
+                return;
+            }
+        }
+        
         //跳转到OTA下载界
         downloadFileType = type;
         if(ThunderBirdModel::GetOtaStatus() != 0)
@@ -3210,7 +3235,6 @@ extern "C" {
             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);