#110 3手表独立运动时还弹出app训练页设置的心率提醒 1272/2
authorCaisking <3449750381@qq.com>
Mon, 28 Oct 2024 02:27:14 +0000 (10:27 +0800)
committerCaisking <3449750381@qq.com>
Mon, 28 Oct 2024 02:27:14 +0000 (10:27 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp

index 20d5029..41d2f9d 100644 (file)
@@ -345,6 +345,7 @@ public:
 
   //配置用户信息
   void SetUserSportdata();
+  void SetMaxHeart(int maxheart);
 
 private:
   TraingModel(const TraingModel &) = delete;
index 25c31fd..ad68fa4 100644 (file)
@@ -444,7 +444,7 @@ void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo) {
   }
 
   // 心率提醒
-  if (sportdata->heart >= user_maxHeart) {
+  if (sportdata->heart >= user_maxHeart && user_maxHeart != 0) {
     uapi_set_screen_on_api(); // 亮屏检测
     if (true != OHOS::ConfigModel::GetInstance()->GetDnotdisturb() &&
         (!uapi_sleep_mode_flag_get())) {
@@ -1197,6 +1197,12 @@ void TraingModel::SetUserSportdata() {
   WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "用户运动强度心率: %d",
                 user_Intensity);
 }
+//运动过程中更新心率配置
+void TraingModel::SetMaxHeart(int maxheart) {
+  // 获取用户运动数据配置
+  user_maxHeart = maxheart;
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "用户最高心率: %d", user_maxHeart);
+}
 /*配速表与心率表相关*/
 //清空心率表
 void TraingModel::ClearHeartTable() {
@@ -1419,7 +1425,7 @@ void TraingModel::SendLiveData() {
                 sportdata->starttime);
   data.st = sportdata->starttime;
   data.hr = sportdata->heart;
-  data.ca = sportdata->calories*10;//app端需要乘10
+  data.ca = sportdata->calories * 10; // app端需要乘10
   data.di = sportdata->distance;
   data.stp = sportdata->steps;
   data.ti = sportdata->intensity;
index be1da02..05d6bd5 100644 (file)
@@ -2113,10 +2113,11 @@ void set_traning_updata_freq(uint8_t freq)
     return;
 }
 
-
+/*设置最大心率提醒*/
 void set_traning_heart_max(uint8_t data)
 {
-    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
+    OHOS::TraingModel::GetInstance()->SetMaxHeart(data);
     p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_TRAINING_HEART_MAX,data);
     return;
 }