修复睡眠显示异常 486/3 486/head
authorCaisking <3449750381@qq.com>
Tue, 9 Jul 2024 07:04:47 +0000 (15:04 +0800)
committerCaisking <3449750381@qq.com>
Tue, 9 Jul 2024 07:04:47 +0000 (15:04 +0800)
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp
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

index 426e957..e373c0c 100644 (file)
@@ -496,6 +496,7 @@ namespace OHOS
             uint8_t md = PPG_SERVICE_CMD_TYPE_DO_PPG_TEST;\r
             send_ppg_cmd_msg(md);\r
             heartstate = true;\r
+            checkstate = check;\r
         }\r
     }\r
     void HeartModel::Heart_Start()\r
index d0a5ef6..e733875 100644 (file)
@@ -310,13 +310,17 @@ namespace OHOS
         }
         int32_t playerState;
         PlayersModel::GetInstance()->GetPlayerCtr()->GetPlayerState(playerState);
-           state_ = playersView->GetPlayerButtonState();
-           if ((playerState != PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::SELECTED)) {
-               playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
-           } else if ((playerState == PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::UNSELECTED)) {
-               playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);
-           }
-           if (state_ == UICheckBox::UICheckBoxState::SELECTED) {
+        state_ = playersView->GetPlayerButtonState();
+        if ((playerState != PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::SELECTED))
+        {
+            playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::UNSELECTED);
+        }
+        else if ((playerState == PLAYER_STARTED) && (state_ == UICheckBox::UICheckBoxState::UNSELECTED))
+        {
+            playersView->SetPlayerButtonState(UICheckBox::UICheckBoxState::SELECTED);
+        }
+        if (state_ == UICheckBox::UICheckBoxState::SELECTED)
+        {
             PlayersModel::GetInstance()->GetPlayerCtr()->GetCurrentTime(playerCurrentTime_);
             PlayersModel::GetInstance()->GetDuration(playerMusicDuration_);
             if (playerMusicDuration_ != 0)
@@ -362,6 +366,7 @@ namespace OHOS
         {
         case HEART_RATE:
             // 开启心率检测 [UI优先级最高直接打断正在检测 重新检测]
+            HeartModel::GetInstance()->Heart_Control(HeartState::End, HeartCheck::PASSIVITY);
             HeartModel::GetInstance()->Heart_Control(HeartState::Start, HeartCheck::INITIATIVE);
             break;
 
index 7163a62..70c39cb 100644 (file)
@@ -124,8 +124,8 @@ namespace OHOS
         std::string goalsleepStr{"--"};
         std::string goalwakeStr{"--"};
 
-        uint8_t sleep_total_time = 0;
-        uint8_t goal_total_time = 0;
+        int sleep_total_time = 0;
+        int goal_total_time = 0;
 
         SLEEPSTATE sleepstate_ = SLEEPSTATE::WAKE;
     };
index 73203e9..809028a 100644 (file)
@@ -233,12 +233,14 @@ namespace OHOS
         SleepDataUI *data = ReadSleepData();
         if (data != nullptr)
         {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ReadSleepData sleepStr %s  wakeStr %s sleep_total_time %d",
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ReadSleepData sleepStr %s  wakeStr %s sleep_total_time %d",
                           data->sleeptime.c_str(), data->waketime.c_str(), data->totaltime);
-            sleepStr = data->sleeptime;
-            wakeStr = data->waketime;
+            update_time_info(data->sleep_timestamp, sleepStr);
+            update_time_info(data->wake_timestamp, wakeStr);
             sleep_total_time = data->totaltime;
         }
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ReadSleepData sleepStr %s  wakeStr %s sleep_total_time %d",
+                      sleepStr.c_str(), wakeStr.c_str(), sleep_total_time);
     }
     static constexpr const char *SLEEP_JSON_PATH = "/user/userdata/health/sleep.json";
     // 读取睡眠数据
@@ -395,6 +397,9 @@ namespace OHOS
 
             update_time_info(UIdata->sleep_timestamp, sleepStr);
             update_time_info(UIdata->wake_timestamp, wakeStr);
+            UIdata->sleeptime = sleepStr;
+            UIdata->waketime = wakeStr;
+
             sleep_total_time = UIdata->totaltime;
 
             SaveSleepData(*UIdata);