From: luozheng <1732036298@qq.com> Date: Sat, 28 Sep 2024 12:27:30 +0000 (+0800) Subject: 解决#839手表未佩戴进行呼吸训练,完成界面会显示平均心率65bug X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=43927c85da58c2e1e7282515d7183a1e746d6a2a;p=mirrors%2FFD230.git 解决#839手表未佩戴进行呼吸训练,完成界面会显示平均心率65bug --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h index bb2635983..fe7ac2f8a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-11 16:26:13 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-12 10:35:46 + * @LastEditTime: 2024-09-28 20:13:17 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h */ #ifndef RESPIRATORY_TRAINING_MODEL_H @@ -19,7 +19,8 @@ namespace OHOS static RespiratoryTrainingModel &GetInstance(void); void AddRespiratoryTrainingTimes(void); std::string GetRespiratoryTrainingTotalTime(void) ; - std::string GetHeartRateValue(void) ; + int GetAverageHeartRate(void); + void calculateHeartrateTotal(void); void ResumeStatus(); void RT_StartTimer(uint32_t interval); @@ -34,6 +35,8 @@ namespace OHOS int RespiratoryTrainingTimes{0}; // 呼吸训练次数 std::string RespiratoryTrainingTime{nullptr}; std::string HeartRateValue{nullptr}; + int count{0}; + float heartTotal{0}; }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp index c8c42f7e0..ef42461ab 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-05-07 11:25:58 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-12 10:25:32 + * @LastEditTime: 2024-09-28 20:06:40 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTrainingCompleted/src/RespiratoryTrainingCompletedView.cpp */ @@ -196,7 +196,8 @@ namespace OHOS /* -------------------------------------------------------------------------- */ int y1 = 248, y2 = 286; const int textId[MAX_NUM] = {STR_THIS_BREATH, STR_MEAN_HEART_RATE_MIN, STR_TODAYS_BREATHING_TRAINING}; - std::string heartRateValue = RespiratoryTrainingModel::GetInstance().GetHeartRateValue(); + int value = RespiratoryTrainingModel::GetInstance().GetAverageHeartRate(); + std::string heartRateValue = std::to_string(value); std::string trainingTotalTime = RespiratoryTrainingModel::GetInstance().GetRespiratoryTrainingTotalTime(); const char *text[MAX_NUM] = {"01:00", heartRateValue.c_str(), trainingTotalTime.c_str()}; OHOS::ColorType RTCDynamicLabelTextColor[MAX_NUM] = { diff --git a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp index e47c74906..3c154156f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-11 16:26:20 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-09-07 17:16:08 + * @LastEditTime: 2024-09-28 20:12:26 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp */ #include "respiratorytraining/include/RespiratoryTrainingModel.h" @@ -47,12 +47,19 @@ namespace OHOS return RespiratoryTrainingTime; } - // 获取心率值 - std::string RespiratoryTrainingModel::GetHeartRateValue(void) + //获取平均心率值 + int RespiratoryTrainingModel::GetAverageHeartRate(void) { - uint16_t value = HeartModel::GetInstance()->GetHeartdata(); - HeartRateValue = std::to_string(value); - return HeartRateValue; + if(count != 0) { + return heartTotal / count; + } + return 0; + } + + void RespiratoryTrainingModel::calculateHeartrateTotal(void) + { + heartTotal += HeartModel::GetInstance()->GetShowHeartdata(); + count++; } void RespiratoryTrainingModel::ResumeStatus() diff --git a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingView.cpp b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingView.cpp index af98867bf..181d06745 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-05-07 11:25:58 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-13 09:34:12 + * @LastEditTime: 2024-09-28 20:13:37 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTraining/src/RespiratoryTrainingView.cpp */ @@ -245,6 +245,7 @@ namespace OHOS void RespiratoryTrainingCallback::Callback(UIView *view) { + RespiratoryTrainingModel::GetInstance().calculateHeartrateTotal(); // 1.计算当前时间与开始时间的差值,用于控制动画的时间。 uint32_t currentTime = HALTick::GetInstance().GetTime(); curTime = currentTime - startTimestamp;