增加OTAslice,哄睡界面,提醒界面退出时返回原任务
authorxue <2144439972@qq.com>
Mon, 29 Sep 2025 09:24:08 +0000 (17:24 +0800)
committerxue <2144439972@qq.com>
Mon, 29 Sep 2025 09:24:08 +0000 (17:24 +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
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index 61c42a4..3022283 100644 (file)
@@ -147,6 +147,13 @@ namespace OHOS
         bool IsNetworkStatusChanged() const;
         void SetNetworkStatusChanged(bool changed);
 
+        int16_t GetCurrentView() const;
+        int16_t GetCurrentSubView() const;
+        
+        void SetCurrentView(int16_t view);
+        void SetCurrentSubView(int16_t subView);
+        void SetViewModel();
+
         // 对话状态相关函数
         int GetConversationStatus();
 
@@ -248,6 +255,8 @@ namespace OHOS
         bool is_all_services_ready = false;
         bool init_falg = false;
         bool bind_status = false;
+        int16_t currentView_model = -1;
+        int16_t currentSubView_model = -1;
     };
 }
 
index 25f3f48..ab7c1b8 100644 (file)
@@ -290,6 +290,15 @@ namespace OHOS
 
             // 默认显示主界面
             //ChangeView(MAXVIEW, THUNDERBIRD_GUIDEVIEW, 0); // 文字显示图层
+            if(ThunderBirdModel::GetInstance()->GetCurrentView() != -1 && ThunderBirdModel::GetInstance()->GetCurrentSubView() != -1)
+            {
+                ChangeView(MAXVIEW, ThunderBirdModel::GetInstance()->GetCurrentView(), ThunderBirdModel::GetInstance()->GetCurrentSubView());
+                //清空状态
+                ThunderBirdModel::GetInstance()->SetCurrentView(-1);
+                ThunderBirdModel::GetInstance()->SetCurrentSubView(-1);
+            }
+            else
+            {
              if(ThunderBirdModel::GetInstance()->StartBootOperation() == 0)
              {
                 ChangeView(MAXVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_1); // 文字显示图层
@@ -299,6 +308,7 @@ namespace OHOS
                     ChangeView(MAXVIEW, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
                    //ChangeView(MAXVIEW, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
              }
+            }
 
             ScrollView_->Add(InitBaseData()); // 最上面状态栏
 
index d523439..e49d60a 100644 (file)
          return m_countUpValue;
      }
 
+     //传入OTA的界面状态,以返回原任务
+    int16_t ThunderBirdModel::GetCurrentView() const
+    {
+        //return ThunderBirdMainView::GetInstance()->GetCurrentView();
+        return currentView_model;
+    }
+
+    int16_t ThunderBirdModel::GetCurrentSubView() const
+    {
+        return currentSubView_model;
+    }
+
+    void ThunderBirdModel::SetCurrentView(int16_t view)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::SetCurrentView: view=%d", view);
+        currentView_model = view;
+    }
+
+    void ThunderBirdModel::SetCurrentSubView(int16_t subView)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::SetCurrentSubView: subView=%d", subView);
+        currentSubView_model = subView;
+    }
 
+    //传入状态赋值
+    void ThunderBirdModel::SetViewModel()
+    {
+        currentView_model = ThunderBirdMainView::GetInstance()->GetCurrentView();
+        currentSubView_model = ThunderBirdMainView::GetInstance()->GetCurrentSubView();
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetViewModel: currentView_model=%d, currentSubView_model=%d", currentView_model, currentSubView_model);
+    }
      
 
      /*************************OTA升级*************************/
      {
  
           do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_OTA_GET_TASK, nullptr, 0);//获取是否需要OTA升级
-        //    if(uapi_ln_ota_get_update_type() == 1)//强制OTA升级
-        //    {
-        //        NativeAbility::GetInstance().ChangeSlice(VIEW_OTA);
-        //        return 1;
-        //    }
-        //    else if(uapi_ln_ota_get_update_type() == 0)//可选OTA升级
-        //    {
-        //        NativeAbility::GetInstance().ChangeSlice(VIEW_OTA);
-        //        return 0;
-        //    }
          return -1;
      }
 
      /*************************OTA升级进度*************************/
      void ThunderBirdModel::UpdateOtaProgress(int progress)
      {
-        // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::UpdateOtaProgress: %d", progress);
-        // if(ThunderBirdOtaView::GetInstance())
-        // {
-        //     ThunderBirdOtaView::GetInstance()->SetRemindProgress(progress);
-        // }
      }
 
      /*************************OTA升级状态*************************/
         // 更新状态检查
         if(status == 1 || status == 2 || status == 3)//OTA升级
         {
+            SetViewModel();
             NativeAbility::GetInstance().ChangeSlice(VIEW_OTA);
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入OTA");
         }
index 33a8a59..017bdf8 100644 (file)
@@ -536,8 +536,10 @@ namespace OHOS
         if(keyType == KEY_TYPE_VENDOR_UP)
         {
         switch (currentSubView) {
+            //通知界面-关闭通知
             case ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER://事项提醒界面-关闭通知
-                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+                //回原界面
+                ThunderBirdMainView::GetInstance()->GoBackToPreviousView();
                 break;
             case ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH://提醒界面-对话不足
                 ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
@@ -569,14 +571,19 @@ namespace OHOS
                 ThunderBirdModel::GetInstance()->ota_update_boot();//绑定成功后获取ota升级任务
                 ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
                 break;
-            case ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_WARNING:
-                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_ADJUSTVIEW, ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_NETWORK_CONNECTING);
-                break;
             case ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_NETWORK_CONNECTING:
                 ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_SHUTDOWNVIEW, 0);
                 break;
         }
         }
+        else if(keyType == KEY_TYPE_VENDOR_DOWN)
+        {
+            switch (currentSubView) {
+                case ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_WARNING://退出返回原任务
+                    ThunderBirdMainView::GetInstance()->GoBackToPreviousView();
+                    break;
+            }
+        }
         return true;
     }