#1061 熄屏状态下目标达成没有弹出提醒框,需要点亮屏才弹出 1382/1 1382/head 1383/target/1
authorCaisking <3449750381@qq.com>
Sun, 10 Nov 2024 06:43:11 +0000 (14:43 +0800)
committerCaisking <3449750381@qq.com>
Sun, 10 Nov 2024 06:43:11 +0000 (14:43 +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/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp

index 41d2f9d..1c1db83 100644 (file)
@@ -324,6 +324,7 @@ public:
   int GetGoaldegree();           /*获取训练目标完成百分比*/
   std::string GetTagStr();       /*获取训练目标Str*/
   void CheckSportTag();
+  void CheckTimeTag();
 
   /*配速表以及心率表配置*/
   bool AddHeartRateData(uint32_t timestamp, uint8_t heartRate);
index 8421680..ac4997f 100644 (file)
@@ -997,6 +997,7 @@ void TraingModel::CheckSportTag() {
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "sportdata->goaldegree %d",
                   sportdata->goaldegree);
     if (sportdata->goaldegree >= 100 && !Gettagstuats) {
+      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "目标完成");
       uapi_set_screen_on_api(); // 亮屏检测
       if (!OHOS::ConfigModel::GetInstance()->GetDnotdisturb()) {
         ui_api_vibrate_once_func(); // 震动提示
@@ -1014,6 +1015,9 @@ void TraingModel::CheckSportTag() {
     }
   }
 }
+//运动时长目标
+void TraingModel::CheckTimeTag() {}
+
 //获取运动时长
 int TraingModel::GetDuration() { return sportdata->duration; }
 /*获取训练类型Id*/
@@ -1556,16 +1560,21 @@ extern "C" {
 /* 定时器回调函数 */
 void TraingTimerCallback() {
   g_motionTimes++;
+  if (g_motionTimes != 0) {
+     sportdata->duration = g_motionTimes;
+    }
   // 检查并发送实时数据
   OHOS::TraingModel::GetInstance()->SendLiveDataIfNecessary();
+  // 更新目标完成度
+  OHOS::TraingModel::GetInstance()->CheckSportTag();
 #if 0
-            TraingCardPresenter *gTraingCardPresenter = TraingCardPresenter::GetInstance();
-            if (gTraingCardPresenter == nullptr)
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback::gTraingCardPresenter new fail");
-                return;
-            }
-            gTraingCardPresenter->ModifiesTime();
+    TraingCardPresenter *gTraingCardPresenter = TraingCardPresenter::GetInstance();
+    if (gTraingCardPresenter == nullptr)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback::gTraingCardPresenter new fail");
+        return;
+    }
+    gTraingCardPresenter->ModifiesTime();
 #endif
   WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback\r\n");
 }
index a96c238..b1f3d23 100644 (file)
@@ -293,8 +293,8 @@ void TraingCardPresenter::UpdateDataView() {
   GraphicService::GetInstance()->PostGraphicEvent(std::bind(\r
       &TrainingDataView::UpdataTime, TrainingDataView::GetInstance()));\r
 \r
-  // 更新目标完成度\r
-  TraingModel::GetInstance()->CheckSportTag();\r
+  // // 更新目标完成度\r
+  // TraingModel::GetInstance()->CheckSportTag();\r
 \r
   // 刷新训练数据:心率、卡路里、距离、步数、训练强度、目标完成度\r
   SportData *sportdata = TraingModel::GetInstance()->GetSportdata();\r