From e9755f10d7267485f2cd53cea8b397eafff058f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Sat, 3 Aug 2024 02:23:36 +0000 Subject: [PATCH] Merge #636 into sdk602patch0626 from refs/changes/636/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from 袁清梦 * refs/changes/636/head: (2 commits squashed) - 更新运动表盘重启数据恢复 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/636 --- .../nativeui/activity/src/ActivityModel.cpp | 6 ++++++ .../main/src/dial/DialModelCalorie.cpp | 19 ++++++++++++++++--- .../main/src/dial/DialModelDistance.cpp | 19 +++++-------------- .../msg_center/src/msg_center_customer.cpp | 4 ++-- 4 files changed, 29 insertions(+), 19 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/activity/src/ActivityModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/activity/src/ActivityModel.cpp index cbd4cc506..64371d4bb 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/activity/src/ActivityModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/activity/src/ActivityModel.cpp @@ -21,6 +21,8 @@ #include "ActivityWeekView.h" #include "graphic_service.h" #include "DialModelSteps.h" +#include "DialModelCalorie.h" +#include "DialModelDistance.h" #include "cywee_service.h" using namespace std; @@ -127,7 +129,11 @@ static void Notify(void *args, const Topic topic, Request* request) set_step_data(counter); counter = get_step_data();//*(uint32_t *)request->data; OHOS::ActivityModel::GetInstance()->ReviseStepCounter(counter); + OHOS::DialModelSteps::GetInstance() ->UpdateSteps(counter);//更新表盘步数 + OHOS::DialModelDistance::GetInstance() ->UpdateDistance(get_distance_data());//更新表盘距离 + OHOS::DialModelCalorie::GetInstance() ->UpdateCalorie(get_calories_data());//更新表盘卡路里 + GraphicService::GetInstance()->PostGraphicEvent( std::bind(&ActivityModel::SetStepData, ActivityModel::GetInstance(), counter)); RefreshStepControls(counter, TOPIC_EVENT_STEPDATA_UPDATE); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp index 3df18dc87..e3df568d4 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp @@ -1,4 +1,10 @@ -/*** +/*** + * @Date: 2024-07-31 18:33:13 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-08-02 18:54:18 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp + */ +/*** * @Date: 2024-04-15 10:55:58 * @LastEditors: Caisking 3449750381@qq.com * @LastEditTime: 2024-07-31 18:36:06 @@ -16,19 +22,26 @@ #include "wearable_log.h" REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE, OHOS::DialModelCalorie::GetInstance()); +#include "cywee_hal.h" +extern "C" int get_calories_data(); + namespace OHOS { bool DialModelCalorie::GetDialFloatData(DialDataType &type, float &out) { (void)type; + if (calorie_ == 0) + { + calorie_ = get_calories_data(); + } out = calorie_; - //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DialModelCalorie %d", calorie_); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DialModelCalorie %d", calorie_); return true; } void DialModelCalorie::UpdateCalorie(int16_t calorie) { - //更新表盘卡路里数据 + // 更新表盘卡路里数据 calorie_ = static_cast(calorie); if (onChangeListener_ != nullptr) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelDistance.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelDistance.cpp index 66eb1041e..38f246631 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelDistance.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelDistance.cpp @@ -1,35 +1,26 @@ -/*** - * @Date: 2024-04-15 10:55:58 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-07-31 20:19:35 - * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelDistance.cpp - */ -/* - * Copyright (c) CompanyNameMagicTag 2023. All rights reserved. - * Description: DialModelDistance - * Author: - * Create: 2023-12 - */ #include "RegisterDialModel.h" #include "DialModelDistance.h" #include "wearable_log.h" REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_DISTANCE, OHOS::DialModelDistance::GetInstance()); +#include "cywee_hal.h" +extern "C" int get_distance_data(); + namespace OHOS { bool DialModelDistance::GetDialFloatData(DialDataType &type, float &out) { (void)type; + distance_ = static_cast(get_distance_data()) / 1000.0f; out = distance_; - // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DialModelDistance %d", distance_); return true; } void DialModelDistance::UpdateDistance(int16_t distance) { // 将距离从米(m)转换为公里(km)并保留一位小数 - distance_ = static_cast(distance) / 1000.0f; // 假设 distance 米 + distance_ = static_cast(distance) / 1000.0f; // distance 米 if (onChangeListener_ != nullptr) { diff --git a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp index f68356635..1f8eca030 100644 --- a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp @@ -1024,7 +1024,7 @@ void MsgCenterNotifyActivityProc(const Topic topic, Request* req) { set_calories_data(c_activity_result_t->calories); #if DIALDATASET - DialModelCalorie::GetInstance()->UpdateCalorie(c_activity_result_t->calories); + DialModelCalorie::GetInstance()->UpdateCalorie(get_calories_data()); #endif } @@ -1034,7 +1034,7 @@ void MsgCenterNotifyActivityProc(const Topic topic, Request* req) { set_distance_data(c_activity_result_t->distance); #if DIALDATASET - DialModelDistance::GetInstance()->UpdateDistance(c_activity_result_t->distance); + DialModelDistance::GetInstance()->UpdateDistance(get_distance_data()); #endif } -- 2.17.1