From: Caisking <3449750381@qq.com> Date: Sat, 31 Aug 2024 07:22:46 +0000 (+0800) Subject: 修复睡眠进度条与实际不一致的bug X-Git-Tag: release_V1.2.70_20241020_135402~545^2~8 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=acb5de25fddf25258cb7321459413b762ac8cdfb;p=mirrors%2FFD230.git 修复睡眠进度条与实际不一致的bug --- 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 7aa115352..68270ce63 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp @@ -27,7 +27,6 @@ namespace OHOS g_pSleepView = nullptr; } - // 刷新UI数据 void SleepView::SleepDataRefresh() { // 获取睡眠数据 @@ -37,7 +36,7 @@ namespace OHOS int total_sleep = sleepModel.get_sleep_total(); int sleep_goal = sleepModel.get_sleep_goal(); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepDataRefresh %d %d", sleep_hour, sleep_min); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SleepDataRefresh %d %d sleep_goal:%d total_sleep:%d", sleep_hour, sleep_min, sleep_goal, total_sleep); // 补零操作 std::string hour_str = (sleep_hour < 10) ? "0" + std::to_string(sleep_hour) : std::to_string(sleep_hour); @@ -56,9 +55,10 @@ namespace OHOS float value = 0.0f; if (sleep_goal > 0) { - value = (static_cast(total_sleep) / (sleep_goal / 60)) * 100.0f; + value = static_cast(total_sleep) / sleep_goal; // 计算进度 + // value = std::clamp(value, 0.0f, 1.0f); // 确保在 0 到 1 之间 } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", value); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Progress value: %.2f%%", value * 100); // 显示为百分比 circleProgress_->SetValue(value); circleProgress_->SetCapType(CAP_ROUND); }