OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
// 早安提醒(关闭)\r
// AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
- OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
+ // OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
}\r
\r
uapi_dev_runtime_set_absolute_static_status(0); // 清零绝对静止状态\r
// uapi_dev_runtime_set_nap_monitoring_status(1);\r
// uapi_dev_runtime_set_sleep_monitoring_status(0);\r
- OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
+ // OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
set_keep_in_wear_det_mode(1); // 开启小睡佩戴监测\r
SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL); // 算法底层切换小睡监测模式\r
sleepCardView->SetCurrentPage(0);
}
}
+ if (SleepModel::GetInstance().CheckSleepTime()) {
+ //通知消息更新
+ GraphicService::GetInstance()->PostGraphicEvent(
+ std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance()));
+ }
}
/*天气卡片*/
void MainPresenterSample::ResetWeatherCardView()
-/*
- * @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
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();
bool SaveSleepData(const SleepDataUI &data); // 更新睡眠数据
bool DeleteSleepData(); // 清空睡眠文件
+ bool CheckSleepTime();//对睡眠时间进行校验
+
void UpdateSleepView();
std::string GetUpdateSleepTime();
int goal_total_time = 0;
int nap_total_time = 0;
+ uint32_t sleep_update_time{0};
SLEEPSTATE sleepstate_ = SLEEPSTATE::WAKE;
int CradId = 0; // 主界面状态
{
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)