From 04bdf26f808c31025beaa54c24efac6bb6af96cf Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Wed, 6 Nov 2024 16:28:16 +0800 Subject: [PATCH] =?utf8?q?=E7=9D=A1=E7=9C=A0=EF=BC=9A=E4=BC=98=E5=8C=96?= =?utf8?q?=E4=B8=BB=E7=95=8C=E9=9D=A2=E7=9D=A1=E7=9C=A0=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativelauncher/src/NativeLauncher.cpp | 4 +++ .../main/include/MainPresenterSample.h | 1 + .../nativeui/main/src/MainPresenterSample.cpp | 20 +++++++----- .../nativeui/sleep/include/SleepModel.h | 2 ++ .../nativeui/sleep/src/SleepModel.cpp | 31 ++++++++++--------- .../fd230app/nativeui/sleep/src/SleepView.cpp | 3 +- 6 files changed, 38 insertions(+), 23 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index c743c5dd0..251d75f2f 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -276,6 +276,7 @@ #include "schedule/include/SchedulePresenter.h" #include "schedule/include/ScheduleData.h" #include "sleepmode/include/SleepModePresenter.h" +#include "sleep/include/SleepModel.h" #include "system/include/SystemLogModel.h" @@ -553,6 +554,9 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadMessagesFromStorage failed!"); } + /*开机读取睡眠数据*/ + SleepModel::GetInstance().read_sleep_file_data(); + //更新主表盘配置 MainModel::GetInstance().InitDialState(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h index 8db8aa30b..0a2d0336e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h @@ -111,6 +111,7 @@ private: void UpdateWatchFace(); void UpdateWeather(); void Updategoal(); + void UpdateSleep(); void ProcessDataNotify(void); void SetCircleProgress(void); void SetCompassRotate(void); 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 864e1c7da..3260efd0e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp @@ -428,10 +428,13 @@ namespace OHOS case WEATHER: UpdateWeather(); break; - case GOAL: + + case GOAL: Updategoal(); break; + + } } /*打印日志*/ @@ -450,12 +453,8 @@ namespace OHOS sleepCardView->SetCurrentPage(0); } } - if (SleepModel::GetInstance().CheckSleepTime()) { - //通知睡眠更新 - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "睡眠数据更新"); - GraphicService::GetInstance()->PostGraphicEvent( - std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance())); - } + + SleepModel::GetInstance().msg_save_sleep_data(); } /*天气卡片*/ void MainPresenterSample::ResetWeatherCardView() @@ -509,6 +508,13 @@ namespace OHOS } } + /*睡眠*/ + void MainPresenterSample::UpdateSleep() + { + GraphicService::GetInstance()->PostGraphicEvent( + std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance())); + } + /*天气*/ void MainPresenterSample::UpdateWeather() { 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 7510fb813..dd3c62182 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h @@ -78,6 +78,8 @@ namespace OHOS void update_sleep(SLEEP_T *data); void ReInitData(); // 重新刷新UI void Msg_ReInitData(); + void read_sleep_file_data(); + void msg_save_sleep_data(); void set_sleep_goal(); int get_sleep_hour(); 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 556a23f49..2d9aeb2d9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp @@ -253,22 +253,12 @@ namespace OHOS void SleepModel::Msg_ReInitData() { do_custom_fileoperate_service_check_msg( CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPMODLE_UPDATE, nullptr, 0); - } + } + + + //更新睡眠model数据 void SleepModel::ReInitData() { - // 配置睡眠数据 - int cmd = 0; - do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, - &cmd); // 获取睡眠数据 但不中止睡眠 - // LOS_Msleep(200); - // do_custom_fileoperate_service_check_msg( - // CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPDATA_READ, nullptr, 0); - // LOS_Msleep(200); - // do_custom_fileoperate_service_check_msg( - // CUSTOM_FILEOPERATE_MSG_TYPE_NAPDATA_READ, nullptr, 0); - // LOS_Msleep(200); - custom_read_sleep_data(); - custom_read_nap_data(); { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ReadSleepData sleepStr %u wakeStr %u sleep_total_time %d", @@ -307,6 +297,19 @@ namespace OHOS // delete data; // 释放内存 } + // 开机读取 + void SleepModel::read_sleep_file_data() { + custom_read_sleep_data(); + custom_read_nap_data(); + } + // 保存睡眠数据 + void SleepModel::msg_save_sleep_data() { + // 配置睡眠数据 + int cmd = 0; + do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, + &cmd); // 获取睡眠数据 但不中止睡眠 + } + void SleepModel::UpdateSleepView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "睡眠数据更新"); 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 689eed925..45072283e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepView.cpp @@ -29,9 +29,8 @@ namespace OHOS void SleepView::SleepDataRefresh() { - // 获取睡眠数据 + // 获取睡眠数据内存 SleepModel &sleepModel = SleepModel::GetInstance(); - // 读取一次文件 sleepModel.ReInitData(); int sleep_hour = sleepModel.get_sleep_hour(); -- 2.17.1