From dfeb9a9f63ca32227729deb20cca18b6d9e40221 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Mon, 16 Dec 2024 04:02:55 +0000 Subject: [PATCH] Merge #1518 into sdk602patch0911 from refs/changes/1518/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from 袁清梦 * refs/changes/1518/head: (27 commits squashed) - 系统:优化视频表盘亮屏时序问题 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - 表盘:优化表盘map存储 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - 消息:优化信息的处理逻辑 - release V1.3.101 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - 系统:优化解析脚本 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - #1233 手表,室外跑步,APP运动数据中目标显示0公里,手表设置的是1公里目标提醒 - 运动:修改距离单位的输出 - 修改ANCS;增加过滤;关闭多余打印 - 训练:优化暂停之后的显示 - ble传输:增加运动状态下不进行传输 - 表盘:增加运动状态下不进行界面切换 - ANCS:优化消息弹窗 - dump文件解析脚本优化 - 系统:修改label的滚动速度为23 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 - 系统:回退海思时间修改 - 表盘:增加恢复出厂进行表盘暂停 - 消息:更正消息的优先级 - UI:优化部分界面的英语显示 - Merge branch 'sdk602patch0911' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0911 Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: Caisking <3449750381@qq.com> Reviewed-by: 罗正 <1732036298@qq.com> Reviewed-by: aliyun8003852482 <1224667075@qq.com> Reviewed-by: snickersun@163.com Reviewed-by: aliyun6865282430 <1624952103@qq.com> Merged-by: Caisking <3449750381@qq.com> CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1518 --- .../nativeui/message/src/MessageModel.cpp | 4 +- .../fd230app/nativeui/sleep/src/SleepView.cpp | 159 ++++++++++-------- .../training_card/src/TrainingControlView.cpp | 1 + .../training_card/src/TrainingDetailView.cpp | 27 ++- .../msg_center/src/msg_center_customer.cpp | 7 +- 5 files changed, 112 insertions(+), 86 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp index 4954658ea..aae7a45a4 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp @@ -202,9 +202,9 @@ static void Notify(void *args, const Topic topic, Request *request) { } - // CustomEventPublish(TOPIC_EVENT_MESSAGENOTE, NULL, 0); + CustomEventPublish(TOPIC_EVENT_MESSAGENOTE, NULL, 0); - show_notify_messgae(); + // show_notify_messgae(); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Message popup sent"); diff --git a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp index 80a4ae000..cbc816902 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp @@ -25,80 +25,79 @@ SleepView::~SleepView() { g_pSleepView = nullptr; } -void SleepView::SleepDataRefresh() { - // 获取睡眠数据内存 - SleepModel &sleepModel = SleepModel::GetInstance(); - sleepModel.ReInitData(); - - int sleep_hour = sleepModel.get_sleep_hour(); - int sleep_min = sleepModel.get_sleep_min(); - int total_sleep = sleepModel.get_sleep_total(); - int sleep_goal = sleepModel.get_sleep_goal(); - - // 检查是否超过24小时 - if (sleep_hour >= 24) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "异常:睡眠时长超过24小时"); - return; - } - - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d", - sleep_hour, sleep_min, sleep_goal * 60, total_sleep); - - // 补零操作 - std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour) - : std::to_string(sleep_hour); - std::string min_str = (sleep_min < 10) ? "0" + std::to_string(sleep_min) - : std::to_string(sleep_min); - - // 有数据才刷新 - if (sleep_hour != 0 || sleep_min != 0) { - // 更新时间显示 - if (time_hour != nullptr) { - time_hour->SetText(hour_str.c_str()); - } - if (time_minute != nullptr) { - time_minute->SetText(min_str.c_str()); - } - - // 计算进度百分比,确保目标睡眠时间不为零 - float progress_value = 0.0f; - if (sleep_goal > 0) { - progress_value = - static_cast(total_sleep) / (sleep_goal * 60); // 计算进度 - } - - // 日志输出进度百分比 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", - progress_value * 100); // 显示为百分比 - - // 更新进度条 - circleProgress_->SetValue(progress_value * - 100); // 更新进度条值,范围为 0 到 100 - circleProgress_->SetCapType(CAP_ROUND); - } - - // 更新时间 - if (sleep_update_time != nullptr) { - std::string update_time = sleepModel.GetUpdateSleepTime(); - if (!update_time.empty()) // 检查返回值是否有效 - { - std::string update_time_str; - // TODO:多国语言 - if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { - update_time_str = update_time + " 更新"; - } - else { - update_time_str = update_time + " update"; - } - sleep_update_time->SetText(update_time_str.c_str()); - // UpdateLabel(sleep_update_time, sleep_goal, STR_SLEEPMGOAL); // TODO: - // 多国语言支持 - } - } - - // 刷新视图 - RootView::GetInstance()->Invalidate(); +void SleepView::SleepDataRefresh() { + // 获取睡眠数据内存 + SleepModel &sleepModel = SleepModel::GetInstance(); + sleepModel.ReInitData(); + + int sleep_hour = sleepModel.get_sleep_hour(); + int sleep_min = sleepModel.get_sleep_min(); + int total_sleep = sleepModel.get_sleep_total(); + int sleep_goal = sleepModel.get_sleep_goal(); + + // 检查是否超过24小时 + if (sleep_hour >= 24) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "异常:睡眠时长超过24小时"); + return; + } + + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, + "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d", + sleep_hour, sleep_min, sleep_goal * 60, total_sleep); + + // 补零操作 + std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour) + : std::to_string(sleep_hour); + std::string min_str = (sleep_min < 10) ? "0" + std::to_string(sleep_min) + : std::to_string(sleep_min); + + // 有数据才刷新 + if (sleep_hour != 0 || sleep_min != 0) { + // 更新时间显示 + if (time_hour != nullptr) { + time_hour->SetText(hour_str.c_str()); + } + if (time_minute != nullptr) { + time_minute->SetText(min_str.c_str()); + } + + // 计算进度百分比,确保目标睡眠时间不为零 + float progress_value = 0.0f; + if (sleep_goal > 0) { + progress_value = + static_cast(total_sleep) / (sleep_goal * 60); // 计算进度 + } + + // 日志输出进度百分比 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", + progress_value * 100); // 显示为百分比 + + // 更新进度条 + circleProgress_->SetValue(progress_value * + 100); // 更新进度条值,范围为 0 到 100 + circleProgress_->SetCapType(CAP_ROUND); + } + + // 更新时间 + if (sleep_update_time != nullptr) { + std::string update_time = sleepModel.GetUpdateSleepTime(); + if (!update_time.empty()) // 检查返回值是否有效 + { + std::string update_time_str; + // TODO:多国语言 + if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { + update_time_str = update_time + " 更新"; + } else { + update_time_str = update_time + " update"; + } + sleep_update_time->SetText(update_time_str.c_str()); + // UpdateLabel(sleep_update_time, sleep_goal, STR_SLEEPMGOAL); // TODO: + // 多国语言支持 + } + } + + // 刷新视图 + RootView::GetInstance()->Invalidate(); } void SleepView::ClearAll() { @@ -159,6 +158,18 @@ bool SleepView::InitPage(void) { InitLabelExt(minute, 295, 246, 100, 75, "lableminute", STR_MIN, DEFAULT_VECTOR_FONT_FILENAME, 26); minute->SetTextColor(Color::Gray()); + if (ConfigModel::GetInstance()->GetLanguage() != ZH_CN) { + //需要缩小 + title->SetFont(DEFAULT_VECTOR_FONT_FILENAME,26); + hour->SetFont(DEFAULT_VECTOR_FONT_FILENAME,24); + minute->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 24); + + minute->SetText("Min");//多国语言 + hour->SetText("Hour"); + } else { + minute->SetText("分钟"); + hour->SetText("小时"); + } /*初始化image*/ InitImageView(roomimage, 192, 127, 82, 82, "image", roomimagePath); InitImageView(upiconimage, 213, 420, 40, 40, "image", upimagePath); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp index 81351be98..1ddd7d6e4 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp @@ -14,6 +14,7 @@ #include #include #include +#include "languagecode/LanguageInit.h" namespace OHOS { static TrainingControlView *g_pTrainingControlView{nullptr}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp index 82f4bd1cb..50ffe5ee8 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp @@ -2,17 +2,18 @@ #include "traing/training_card/include/TrainingDetailView.h" #include "traing/training_card/include/TraingCardView.h" +#include "ConfigModel.h" #include "UiConfig.h" #include "common/image_cache_manager.h" #include "components/ui_button.h" #include "components/ui_label_ext.h" +#include "languagecode/LanguageInit.h" #include "traing/Training_UiConfig.h" #include "traing/include/TraingModel.h" #include "ui_resource_image.h" #include "ui_resource_string.h" #include "uicomponents/UIComponents.h" #include - namespace OHOS { static TrainingDetailView *g_pTrainingDetailView{nullptr}; @@ -52,12 +53,22 @@ bool TrainingDetailView ::InitPage() { Add(lineimage2_); // 初始化Lable - InitRollLabel(u_milelabel, 16, 234, 220, 35, "label2", STR_RANGE_SETTING, - DEFAULT_VECTOR_FONT_FILENAME, 30); - InitRollLabel(u_stepslabel, 73, 362, 320, 35, "label3", STR_STEP_NUMBER, - DEFAULT_VECTOR_FONT_FILENAME, 30); - InitRollLabel(u_calorielabel, 225, 235, 230, 35, "label4", STR_CALORIE_SETTING, - DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(u_milelabel, 16, 234, 230, 35, "label2", STR_RANGE_SETTING, + DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(u_calorielabel, 225, 235, 230, 35, "label4", + STR_CALORIE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(u_stepslabel, 73, 362, 320, 35, "label3", STR_STEP_SETTING, + DEFAULT_VECTOR_FONT_FILENAME, 30); + //多国语言 + if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN) { + u_milelabel->SetText("距离(公里"); + u_stepslabel->SetText("步数(步)"); + u_calorielabel->SetText("卡路里(千卡)"); + } else { + u_milelabel->SetText("Distance (km)"); + u_stepslabel->SetText("Steps"); + u_calorielabel->SetText("Calorie (kcal)"); + } u_milelabel->SetTextColor(Color::Gray()); u_stepslabel->SetTextColor(Color::Gray()); u_calorielabel->SetTextColor(Color::Gray()); @@ -69,7 +80,7 @@ bool TrainingDetailView ::InitPage() { DEFAULT_VECTOR_FONT_FILENAME_EN, 65); InitLabel(steplabel, 133, 285, 200, 80, "label8", "210.03", DEFAULT_VECTOR_FONT_FILENAME_EN, 65); - + Add(u_milelabel); Add(u_stepslabel); Add(u_calorielabel); 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 3248ad702..4ef298ac6 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 @@ -996,11 +996,14 @@ void MsgCenterNotifyStaticHeartRateProc(const Topic topic, Request* req) //消息通知 void MsgCenterNotifyMessageProc(const Topic topic, Request* req) { - //unused(topic); + // unused(topic); unused(req); // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyMessageProc !"); if (CheckPriority(topic)) { - do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_MESSAGE_DATA_NOTIFY, nullptr, 0); + // do_custom_fileoperate_service_check_msg(CUSTOM_FILEOPERATE_MSG_TYPE_MESSAGE_DATA_NOTIFY, + // nullptr, 0); + OHOS::NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_THREE); + OHOS::NotificationManager::GetInstance()->ShowNotify(OHOS::CreateMessageView, TOPIC_EVENT_MESSAGENOTE, true); } } -- 2.17.1