睡眠:优化主界面睡眠刷新 1353/2 1353/head 1354/target/1
authorCaisking <3449750381@qq.com>
Wed, 6 Nov 2024 08:28:16 +0000 (16:28 +0800)
committerCaisking <3449750381@qq.com>
Wed, 6 Nov 2024 08:28:16 +0000 (16:28 +0800)
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h
code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp
code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp

index c743c5d..251d75f 100644 (file)
 #include "schedule/include/SchedulePresenter.h"
 #include "schedule/include/ScheduleData.h"
 #include "sleepmode/include/SleepModePresenter.h"
+#include "sleep/include/SleepModel.h"
 
 #include "system/include/SystemLogModel.h"
 
@@ -553,6 +554,9 @@ namespace OHOS
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadMessagesFromStorage failed!");
             }
 
+            /*开机读取睡眠数据*/
+            SleepModel::GetInstance().read_sleep_file_data();
+
             //更新主表盘配置
             MainModel::GetInstance().InitDialState();
 
index 8db8aa3..0a2d033 100644 (file)
@@ -111,6 +111,7 @@ private:
   void UpdateWatchFace();
   void UpdateWeather();
   void Updategoal();
+  void UpdateSleep();
   void ProcessDataNotify(void);
   void SetCircleProgress(void);
   void SetCompassRotate(void);
index 864e1c7..3260efd 100644 (file)
@@ -428,10 +428,13 @@ namespace OHOS
         case WEATHER:
             UpdateWeather();
             break;
-         case GOAL:
+
+        case GOAL:
             Updategoal();
             break;
 
+            
+
         }
     }
     /*打印日志*/
@@ -450,12 +453,8 @@ namespace OHOS
                 sleepCardView->SetCurrentPage(0);
             }
         }
-        if (SleepModel::GetInstance().CheckSleepTime()) {
-            //通知睡眠更新
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "睡眠数据更新");
-            GraphicService::GetInstance()->PostGraphicEvent(
-            std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance()));
-          }
+
+        SleepModel::GetInstance().msg_save_sleep_data();
     }
     /*天气卡片*/
     void MainPresenterSample::ResetWeatherCardView()
@@ -509,6 +508,13 @@ namespace OHOS
         }
     }
 
+    /*睡眠*/
+    void MainPresenterSample::UpdateSleep()
+    {
+        GraphicService::GetInstance()->PostGraphicEvent(
+            std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance()));
+    }
+
     /*天气*/
     void MainPresenterSample::UpdateWeather()
     {
index 7510fb8..dd3c621 100644 (file)
@@ -78,6 +78,8 @@ namespace OHOS
         void update_sleep(SLEEP_T *data);
         void ReInitData(); // 重新刷新UI
         void Msg_ReInitData();
+        void read_sleep_file_data();
+        void msg_save_sleep_data();
 
         void set_sleep_goal();
         int get_sleep_hour();
index 556a23f..2d9aeb2 100644 (file)
@@ -253,22 +253,12 @@ namespace OHOS
   void SleepModel::Msg_ReInitData() {
       do_custom_fileoperate_service_check_msg(
   CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPMODLE_UPDATE, nullptr, 0);
-    }
+  }
+
+
+  //更新睡眠model数据
   void SleepModel::ReInitData()
   {
-    // 配置睡眠数据
-    int cmd = 0;
-    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA,
-                               &cmd); // 获取睡眠数据 但不中止睡眠
-    // LOS_Msleep(200);
-    // do_custom_fileoperate_service_check_msg(
-    //     CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPDATA_READ, nullptr, 0);
-    // LOS_Msleep(200);
-    // do_custom_fileoperate_service_check_msg(
-    //     CUSTOM_FILEOPERATE_MSG_TYPE_NAPDATA_READ, nullptr, 0);
-    // LOS_Msleep(200);
-    custom_read_sleep_data();
-    custom_read_nap_data();
     {
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
                     "ReadSleepData sleepStr %u  wakeStr %u sleep_total_time %d",
@@ -307,6 +297,19 @@ namespace OHOS
     // delete data; // 释放内存
   }
 
+  // 开机读取
+  void SleepModel::read_sleep_file_data() {
+    custom_read_sleep_data();
+    custom_read_nap_data();
+  }
+  // 保存睡眠数据
+ void SleepModel::msg_save_sleep_data() {
+    // 配置睡眠数据
+    int cmd = 0;
+    do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA,
+                               &cmd); // 获取睡眠数据 但不中止睡眠
+ }
+
   void SleepModel::UpdateSleepView()
   {
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "睡眠数据更新");
index 689eed9..4507228 100644 (file)
@@ -29,9 +29,8 @@ namespace OHOS
 
     void SleepView::SleepDataRefresh()
     {
-        // 获取睡眠数据
+        // 获取睡眠数据内存
         SleepModel &sleepModel = SleepModel::GetInstance();
-        // 读取一次文件
         sleepModel.ReInitData();
 
         int sleep_hour = sleepModel.get_sleep_hour();