修复心率检测界面刷新异常 774/1 774/head
authorCaisking <3449750381@qq.com>
Fri, 23 Aug 2024 06:46:43 +0000 (14:46 +0800)
committerCaisking <3449750381@qq.com>
Fri, 23 Aug 2024 06:46:43 +0000 (14:46 +0800)
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp

index e2b36e2..09528ef 100644 (file)
@@ -163,7 +163,9 @@ extern "C"
             GraphicService::GetInstance()->PostGraphicEvent(\r
                 std::bind(&OHOS::HeartModel::Heart_Update_View, OHOS::HeartModel::GetInstance()));\r
         }\r
-        if (request->msgId == TOPIC_EVENT_WEARSTATE_UPDATE){}\r
+        if (request->msgId == TOPIC_EVENT_WEARSTATE_UPDATE)\r
+        {\r
+        }\r
     }\r
 \r
 #ifdef __cplusplus\r
@@ -626,10 +628,10 @@ namespace OHOS
     void HeartModel::Heart_Result()\r
     {\r
         // 心率提醒(0开 1关)\r
-        uint8_t HeartState = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_HEARTRATE_REMIND);\r
+        uint8_t HeartRemindState = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_HEARTRATE_REMIND);\r
         uint16_t ThresholdValue = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_HEARTRATE_THRESHOLD_VALUE);\r
 \r
-        if (HeartState)\r
+        if (HeartRemindState)\r
         {\r
             // 检查当前心率是否高于或低于阈值\r
             uint16_t ThresholdState = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_HEARTRATE_MAX_MIN);\r
@@ -654,8 +656,8 @@ namespace OHOS
         case HeartResult::SUCCESS:\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果: 成功");\r
             Heart_Save();\r
-            // NativeAbility::GetInstance().ChangeSlice(VIEW_HEART_CHART);\r
-            // NativeAbility::GetInstance().Back(); // 成功 心率界面检测成功 不回退\r
+            /*通知进行UI更新*/\r
+            SendMsgToUIService(UI_UPDATE_HEARTRATE_DATA, 0, nullptr, 0);\r
             break;\r
 \r
         case HeartResult::NOT_WORN:     // 未佩戴状态\r
@@ -766,6 +768,7 @@ namespace OHOS
 \r
     void HeartModel::Heart_Update_View(void)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新心率界面");\r
         int hour = HealthService::GetInstance()->GetCurrentHour();\r
         if (HeartRateView::GetInstance() != nullptr)\r
         {\r