From 6deeb26e4dabc9313335d4522b588e299b7b6ccf Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Thu, 10 Oct 2024 11:20:05 +0800 Subject: [PATCH] =?utf8?q?#975=E6=89=8B=E8=A1=A8,=E5=A2=9E=E5=8A=A0?= =?utf8?q?=E6=BB=91=E5=88=B0=E7=9D=A1=E7=9C=A0=E7=95=8C=E9=9D=A2=E8=BF=9B?= =?utf8?q?=E8=A1=8C=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/AlarmClockTimerConfig.cpp | 4 ++-- .../nativeui/main/src/MainPresenterSample.cpp | 5 +++++ .../nativeui/sleep/include/SleepModel.h | 21 +++++-------------- .../nativeui/sleep/src/SleepModel.cpp | 13 ++++++++++-- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index c92633590..bc2a29346 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -438,7 +438,7 @@ extern "C" OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE); // 早安提醒(关闭) // AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4); - OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据 + // OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据 SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0); } @@ -450,7 +450,7 @@ extern "C" uapi_dev_runtime_set_absolute_static_status(0); // 清零绝对静止状态 // uapi_dev_runtime_set_nap_monitoring_status(1); // uapi_dev_runtime_set_sleep_monitoring_status(0); - OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据 + // OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据 set_keep_in_wear_det_mode(1); // 开启小睡佩戴监测 SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0); do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL); // 算法底层切换小睡监测模式 diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp index 0c4e72fe7..e17de7d90 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp @@ -446,6 +446,11 @@ namespace OHOS sleepCardView->SetCurrentPage(0); } } + if (SleepModel::GetInstance().CheckSleepTime()) { + //通知消息更新 + GraphicService::GetInstance()->PostGraphicEvent( + std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance())); + } } /*天气卡片*/ void MainPresenterSample::ResetWeatherCardView() diff --git a/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h b/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h index 158881158..ea96a5c7f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h @@ -1,19 +1,4 @@ -/* - * @Author: penglei 1624952103@qq.com - * @Date: 2024-06-26 19:36:48 - * @LastEditors: penglei 1624952103@qq.com - * @LastEditTime: 2024-10-05 18:30:44 - * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h - * @Description: - * - * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. - */ -/*** - * @Date: 2024-06-25 10:34:10 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-06-26 09:51:50 - * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h - */ + #ifndef Sleep_MODEL_H #define Sleep_MODEL_H @@ -112,6 +97,7 @@ namespace OHOS void update_time_info(uint32_t timestamp, std::string &timeStr); void update_sleep(SLEEP_T *data); void ReInitData(); // 重新刷新UI + void set_sleep_goal(); int get_sleep_hour(); int get_sleep_min(); @@ -138,6 +124,8 @@ namespace OHOS bool SaveSleepData(const SleepDataUI &data); // 更新睡眠数据 bool DeleteSleepData(); // 清空睡眠文件 + bool CheckSleepTime();//对睡眠时间进行校验 + void UpdateSleepView(); std::string GetUpdateSleepTime(); @@ -177,6 +165,7 @@ namespace OHOS int goal_total_time = 0; int nap_total_time = 0; + uint32_t sleep_update_time{0}; SLEEPSTATE sleepstate_ = SLEEPSTATE::WAKE; int CradId = 0; // 主界面状态 diff --git a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp index 8aae038eb..00ae31755 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp @@ -880,11 +880,20 @@ namespace OHOS { sleep_time_str.clear(); // 获取睡眠最新时间 - uint32_t sleep_time = get_sleep_update_timestamp(); + sleep_update_time = get_sleep_update_timestamp(); // 获取时间戳 - update_time_info(sleep_time, sleep_time_str); + update_time_info(sleep_update_time, sleep_time_str); return sleep_time_str; } + //校验时间更新 + bool SleepModel::CheckSleepTime() + { + // 获取睡眠最新时间 + if (sleep_update_time != get_sleep_update_timestamp()) { + return true; + } + return false; + } void SleepModel::update_sleep(SLEEP_T *data) { if (data == nullptr) -- 2.17.1