// uapi_dev_runtime_set_sleep_status(0);\r
// do_cywee_service_check_msg(CYWEE_SERVICE_CMD_GET_SLEEP_DATA, NULL);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "起床啦!");\r
- if (OHOS::ConfigModel::GetInstance()->GetDnotdisturb())\r
- {\r
- OHOS::ConfigModel::GetInstance()->SetDnotdisturb(false); // 关闭勿扰\r
- SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);\r
- }\r
+\r
if (curTime.tm_hour == wake_time_hour && curTime.tm_min == wake_time_min && curTime.tm_sec == 0)\r
{\r
OHOS::SleepModel::GetInstance().set_sleep_state(OHOS::SLEEPSTATE::WAKE);\r
OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
}\r
- {\r
- mmi_sleep_mode_flag_set(false); // switch off\r
+ \r
+ OHOS::SleepModel::GetInstance().ExitSleepModeAction();\r
\r
- const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
- display_api->set_brightness(OHOS::ConfigModel::GetInstance()->GetBrightness());\r
- }\r
if (uapi_dev_runtime_get_sleep_status() == 0)\r
{\r
// 设置状态为小睡\r
AlarmEventPublish(TOPIC_EVENT_SLEEPNOTE, (uint8_t *)sleep_notify_time, 4);\r
OHOS::SleepModel::GetInstance().DeleteSleepData(); // 清空前一天睡眠数据\r
}\r
- if (!OHOS::ConfigModel::GetInstance()->GetDnotdisturb())\r
- {\r
- OHOS::ConfigModel::GetInstance()->SetDnotdisturb(true); // 开启勿扰\r
- SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);\r
- }\r
- {\r
- mmi_sleep_mode_flag_set(true); // switch on\r
- mmi_flip_wrist_switch_set(false); // switch off\r
- const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
- display_api->set_brightness(51);\r
- }\r
+\r
+ OHOS::SleepModel::GetInstance().EnterSleepModeAction();\r
+\r
LOS_Msleep(1000);\r
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);\r
}\r
#include <ThemeStyleModel.h>
#include "heart_blood/health_service/health_service.h"
#include "battery_hal.h"
+#include "ConfigModelC.h"
namespace OHOS
{
HealthService::GetInstance()->SetHealthCurrent(highHealthState);
viewId = VIEW_CHECK_INVALID;
}
+ if(true == mmi_sleep_mode_flag_get())
+ {
+ if(VIEW_DNOTDISTURB == viewId)
+ return false;
+ }
NativeAbility::GetInstance().EnterSlice(viewId, type);
return true;
}
#include "displaybrightness/include/DisplayBrightnessModel.h"\r
#include "wearable_log.h"\r
#include "ConfigModel.h"\r
+#include "ConfigModelC.h"\r
#include "ui_resource_string.h"\r
#include <UiConfig.h>\r
namespace OHOS\r
return false;\r
}\r
RaiseToBrightnessCheckBoxButton->SetOnChangeListener(presenter_);\r
+ if(true == mmi_sleep_mode_flag_get())\r
+ {\r
+ RaiseToBrightnessCheckBoxButton->SetTouchable(false);\r
+ }\r
return true;\r
}\r
\r
void Sleep_StartTimer(uint32_t interval);
void Sleep_StopTimer(void);
+ //
+ void EnterSleepModeAction(void);
+ void ExitSleepModeAction(void);
+
private:
SleepModel();
SleepModel(const SleepModel &);
int goal_total_time = 0;
SLEEPSTATE sleepstate_ = SLEEPSTATE::WAKE;
+
+ typedef struct
+ {
+ bool DnotdisturbFlag;
+ bool FlipWristFlag;
+ }DeviceStateBeforeSleep;
+ DeviceStateBeforeSleep DeviceStateBeforeSleep_ = {0};
};
}
#include "thread_adapter.h"
#include "cmsis_os.h"
#include "ui_service.h"
+#include "ConfigModelC.h"
+#include "power_display_service.h"
extern "C" errcode_t uapi_get_TIME_STR(uint32_t time, char *p_time, char date_separator, char time_separator, date_format_t format);
extern "C" int get_sleep_time_from_config_model(void);
g_timer = NULL;
}
}
+
+ void SleepModel::EnterSleepModeAction(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:EnterSleepModeAction]", __LINE__);
+ // switch on
+ mmi_sleep_mode_flag_set(true);
+
+ // switch on donotdisturb
+ DeviceStateBeforeSleep_.DnotdisturbFlag = OHOS::ConfigModel::GetInstance()->GetDnotdisturb();
+ OHOS::ConfigModel::GetInstance()->SetDnotdisturb(true); // 开启勿扰
+ SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);
+
+ // switch off flip wrist
+ DeviceStateBeforeSleep_.FlipWristFlag = mmi_flip_wrist_switch_get();
+ mmi_flip_wrist_switch_set(false); // switch off
+
+ // turn down brightness
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ display_api->set_brightness(51);
+
+ }
+
+ void SleepModel::ExitSleepModeAction(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:ExitSleepModeAction]", __LINE__);
+ // switch off
+ mmi_sleep_mode_flag_set(false);
+
+ // reset donotdisturb
+ bool DnotdisturbFlag = DeviceStateBeforeSleep_.DnotdisturbFlag;
+ OHOS::ConfigModel::GetInstance()->SetDnotdisturb(DnotdisturbFlag);
+ SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);
+
+ // reset flip wrist
+ bool FlipWristFlag = DeviceStateBeforeSleep_.FlipWristFlag;
+ mmi_flip_wrist_switch_set(FlipWristFlag);
+
+ // reset brightness
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ display_api->set_brightness(OHOS::ConfigModel::GetInstance()->GetBrightness());
+
+ }
}
\ No newline at end of file
#include "cat1_server.h"
// #include "TraingCardPresenter.h"
#include "../../../../../../drivers/peripheral/vibrator/service/vibrator_service.h"
+#include "../../../../../../drivers/peripheral/config/include/ConfigModelC.h"
#ifdef FD230
#include "uiservice/include/ui_service.h"
}
void Set_RaiseToWake(bool value) //抬婉亮屏开关
{
+ if(true == mmi_sleep_mode_flag_get())
+ {
+ return;
+ }
+
OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance();
p_ConfigModel->SetRaiseToWake(value);
#ifdef FD230