From c184f3ef3b4d73cbc12cedd591a00569bc68c917 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Sun, 10 Nov 2024 14:43:11 +0800 Subject: [PATCH] =?utf8?q?#1061=20=E7=86=84=E5=B1=8F=E7=8A=B6=E6=80=81?= =?utf8?q?=E4=B8=8B=E7=9B=AE=E6=A0=87=E8=BE=BE=E6=88=90=E6=B2=A1=E6=9C=89?= =?utf8?q?=E5=BC=B9=E5=87=BA=E6=8F=90=E9=86=92=E6=A1=86=EF=BC=8C=E9=9C=80?= =?utf8?q?=E8=A6=81=E7=82=B9=E4=BA=AE=E5=B1=8F=E6=89=8D=E5=BC=B9=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/traing/include/TraingModel.h | 1 + .../nativeui/traing/src/TraingModel.cpp | 23 +++++++++++++------ .../training_card/src/TraingCardPresenter.cpp | 4 ++-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h index 41d2f9d9e..1c1db830d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -324,6 +324,7 @@ public: int GetGoaldegree(); /*获取训练目标完成百分比*/ std::string GetTagStr(); /*获取训练目标Str*/ void CheckSportTag(); + void CheckTimeTag(); /*配速表以及心率表配置*/ bool AddHeartRateData(uint32_t timestamp, uint8_t heartRate); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index 84216804e..ac4997f04 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -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"); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp index a96c238d9..b1f3d23ec 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp @@ -293,8 +293,8 @@ void TraingCardPresenter::UpdateDataView() { GraphicService::GetInstance()->PostGraphicEvent(std::bind( &TrainingDataView::UpdataTime, TrainingDataView::GetInstance())); - // 更新目标完成度 - TraingModel::GetInstance()->CheckSportTag(); + // // 更新目标完成度 + // TraingModel::GetInstance()->CheckSportTag(); // 刷新训练数据:心率、卡路里、距离、步数、训练强度、目标完成度 SportData *sportdata = TraingModel::GetInstance()->GetSportdata(); -- 2.17.1