修复主界面睡眠卡片导致的冻屏 2040/1 2040/head 2041/target/1
authorCaisking <Casiking@zhihuishixun.com>
Sat, 2 Aug 2025 08:49:02 +0000 (16:49 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Sat, 2 Aug 2025 08:49:02 +0000 (16:49 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/sleep/src/SleepModel.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/sleep/src/SleepView.cpp

index a218fb8..dfedca8 100644 (file)
@@ -507,7 +507,7 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
             }
         }
 
-        SleepModel::GetInstance().msg_save_sleep_data();
+        // SleepModel::GetInstance().msg_save_sleep_data();
     }
     /*天气卡片*/
     void MainPresenterSample::ResetWeatherCardView()
index 87b2417..cf4bd10 100644 (file)
@@ -348,10 +348,10 @@ namespace OHOS
   /* -------------------------------------------------------------------------- */
   SleepModel::SleepModel()
   {
-    // 初始化配置睡眠目标
-    set_sleep_goal();
-    // 刷新数据
-    ReInitData();
+    // // 初始化配置睡眠目标
+    // set_sleep_goal();
+    // // 刷新数据
+    // ReInitData();
   }
   SleepModel::~SleepModel() {}
   SleepModel &SleepModel::GetInstance()
@@ -361,8 +361,7 @@ namespace OHOS
   }
   void SleepModel::Msg_ReInitData()
   {
-    do_custom_fileoperate_service_check_msg(
-        CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPMODLE_UPDATE, nullptr, 0);
+    do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPMODLE_UPDATE, nullptr, 0);
   }
 
   // 更新睡眠model数据
@@ -430,7 +429,7 @@ namespace OHOS
   void SleepModel::UpdateSleepView()
   {
 
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "睡眠数据更新");
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "睡眠数据更新");
     SleepControlView *p_SleepControlView = SleepControlView::GetInstance();
     if (p_SleepControlView != nullptr)
     {
index cbc8169..b46aff7 100644 (file)
@@ -26,15 +26,19 @@ SleepView::~SleepView() {
 }
 
 void SleepView::SleepDataRefresh() {
-  // 获取睡眠数据内存
-  SleepModel &sleepModel = SleepModel::GetInstance();
-  sleepModel.ReInitData();
-
-  int sleep_hour = sleepModel.get_sleep_hour();
-  int sleep_min = sleepModel.get_sleep_min();
-  int total_sleep = sleepModel.get_sleep_total();
-  int sleep_goal = sleepModel.get_sleep_goal();
-
+  // 获取睡眠数据
+  SleepModel::GetInstance().ReInitData();
+#if 1
+  int sleep_hour = SleepModel::GetInstance().get_sleep_hour();
+  int sleep_min = SleepModel::GetInstance().get_sleep_min();
+  int total_sleep = SleepModel::GetInstance().get_sleep_total();
+  int sleep_goal = SleepModel::GetInstance().get_sleep_goal();
+#else
+  int sleep_hour = 0;
+  int sleep_min = 0;
+  int total_sleep = 0;
+  int sleep_goal = 0;
+#endif
   // 检查是否超过24小时
   if (sleep_hour >= 24) {
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "异常:睡眠时长超过24小时");
@@ -80,7 +84,7 @@ void SleepView::SleepDataRefresh() {
 
   // 更新时间
   if (sleep_update_time != nullptr) {
-    std::string update_time = sleepModel.GetUpdateSleepTime();
+    std::string update_time = SleepModel::GetInstance().GetUpdateSleepTime();
     if (!update_time.empty()) // 检查返回值是否有效
     {
       std::string update_time_str;
@@ -97,7 +101,7 @@ void SleepView::SleepDataRefresh() {
   }
 
   // 刷新视图
-  RootView::GetInstance()->Invalidate();
+  // RootView::GetInstance()->Invalidate();
 }
 
 void SleepView::ClearAll() {
@@ -160,16 +164,16 @@ bool SleepView::InitPage(void) {
   minute->SetTextColor(Color::Gray());
   if (ConfigModel::GetInstance()->GetLanguage() != ZH_CN) {
     //需要缩小
-    title->SetFont(DEFAULT_VECTOR_FONT_FILENAME,26);
-    hour->SetFont(DEFAULT_VECTOR_FONT_FILENAME,24);
+    title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);
+    hour->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 24);
     minute->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 24);
 
-    minute->SetText("Min");//多国语言
+    minute->SetText("Min"); //多国语言
     hour->SetText("Hour");
   } else {
     minute->SetText("分钟");
     hour->SetText("小时");
-    }
+  }
   /*初始化image*/
   InitImageView(roomimage, 192, 127, 82, 82, "image", roomimagePath);
   InitImageView(upiconimage, 213, 420, 40, 40, "image", upimagePath);