From f69a083dcd7b0c766e2820d8bf5568c953218011 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Mon, 9 Dec 2024 10:44:06 +0800 Subject: [PATCH] =?utf8?q?#1233=20=E6=89=8B=E8=A1=A8=EF=BC=8C=E5=AE=A4?= =?utf8?q?=E5=A4=96=E8=B7=91=E6=AD=A5=EF=BC=8CAPP=E8=BF=90=E5=8A=A8?= =?utf8?q?=E6=95=B0=E6=8D=AE=E4=B8=AD=E7=9B=AE=E6=A0=87=E6=98=BE=E7=A4=BA0?= =?utf8?q?=E5=85=AC=E9=87=8C=EF=BC=8C=E6=89=8B=E8=A1=A8=E8=AE=BE=E7=BD=AE?= =?utf8?q?=E7=9A=84=E6=98=AF1=E5=85=AC=E9=87=8C=E7=9B=AE=E6=A0=87=E6=8F=90?= =?utf8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/traing/src/TraingModel.cpp | 58 ++++++++++--------- 1 file changed, 30 insertions(+), 28 deletions(-) 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 10326b15d..8b7db0028 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -1242,7 +1242,10 @@ bool TraingModel::SaveSportData() { data.st = static_cast(sportdata->starttime); data.sp = static_cast(sportdata->endtime); data.tgt = static_cast(sportdata->sportTagType); - data.tg = static_cast(sportdata->tag); + if (sportdata->sportTagType == ExerciseTag::Duration) + data.tg = static_cast((sportdata->tag) * 1000); + else + data.tg = static_cast(sportdata->tag); data.pg = static_cast(sportdata->goaldegree); data.du = static_cast(sportdata->duration); data.ca = static_cast(sportdata->calories * 10); @@ -1713,38 +1716,37 @@ void LogError(const char *msg, osStatus_t ret) { void TraingTimerCallback(void) { // 只在活动状态下进行更新 - if (pauseStartTimestamp == 0) { - //开始时将该值设置为运动开始值 - pauseStartTimestamp = sportdata->starttime; - } + if (pauseStartTimestamp == 0) { + //开始时将该值设置为运动开始值 + pauseStartTimestamp = sportdata->starttime; + } - uint32_t currentTimestamp = - OHOS::TraingModel::GetInstance()->get_current_time(); // 获取当前时间戳 - g_motionTimes = (currentTimestamp - pauseStartTimestamp) + - totalPausedDuration; // 更新运动时间 - sportdata->duration = g_motionTimes; // 更新持续时间 + uint32_t currentTimestamp = + OHOS::TraingModel::GetInstance()->get_current_time(); // 获取当前时间戳 + g_motionTimes = (currentTimestamp - pauseStartTimestamp) + + totalPausedDuration; // 更新运动时间 + sportdata->duration = g_motionTimes; // 更新持续时间 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, - "更新运动时间。当前运动时间: %d %d %d %d", currentTimestamp, - pauseStartTimestamp, totalPausedDuration, g_motionTimes); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, + "更新运动时间。当前运动时间: %d %d %d %d", currentTimestamp, + pauseStartTimestamp, totalPausedDuration, g_motionTimes); - // 检查并发送实时数据 - OHOS::TraingModel::GetInstance()->SendLiveDataIfNecessary(); - OHOS::TraingModel::GetInstance()->CheckTimeTag(); + // 检查并发送实时数据 + OHOS::TraingModel::GetInstance()->SendLiveDataIfNecessary(); + OHOS::TraingModel::GetInstance()->CheckTimeTag(); - // 记录特殊活动的心率/配速数据 - if (OHOS::TraingModel::GetInstance()->GetIsSpecial()) { - OHOS::TraingModel::GetInstance()->StoreDataIfMinutePassed(); - } + // 记录特殊活动的心率/配速数据 + if (OHOS::TraingModel::GetInstance()->GetIsSpecial()) { + OHOS::TraingModel::GetInstance()->StoreDataIfMinutePassed(); + } - // 振动反馈 - if ((sportdata->goaldegree >= 100) && (shock_count < 4)) { - shock_count++; - ui_api_vibrate_once_func(); // 触发振动反馈 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "触发了振动。振动计数: %d", - shock_count); - } - + // 振动反馈 + if ((sportdata->goaldegree >= 100) && (shock_count < 4)) { + shock_count++; + ui_api_vibrate_once_func(); // 触发振动反馈 + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "触发了振动。振动计数: %d", + shock_count); + } WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback 被执行。"); } -- 2.17.1