std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ON_TIME, unuse));\r
}\r
\r
- static void _ExitSleepModeAction(void)\r
- {\r
- OHOS::SleepModel::GetInstance().ExitSleepModeAction();\r
- }\r
-\r
- static void _EnterSleepModeAction(void)\r
- {\r
- OHOS::SleepModel::GetInstance().EnterSleepModeAction();\r
- }\r
-\r
void AlarmScan(void *arg)\r
{\r
struct tm curTime;\r
OHOS::SleepModel::GetInstance().ReInitData(); // 更新睡眠数据\r
SendMsgToUIService(UI_UPDATE_SLEEP_DATA, 0, nullptr, 0);\r
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE, NULL);//算法底层切换小睡监测模式\r
-\r
- GraphicService::GetInstance()->PostGraphicEvent(_ExitSleepModeAction);\r
}\r
}\r
// 进入睡眠检测模式并退出小睡检测模式\r
\r
//LOS_Msleep(1000);\r
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL);//算法底层切换睡眠监测模式\r
-\r
- GraphicService::GetInstance()->PostGraphicEvent(_EnterSleepModeAction);\r
}\r
}\r
// 久坐提醒\r
void Sleep_StartTimer(uint32_t interval);
void Sleep_StopTimer(void);
- //
- void EnterSleepModeAction(void);
- void ExitSleepModeAction(void);
-
private:
SleepModel();
SleepModel(const SleepModel &);
}
}
/* -------------------------------------------------------------------------- */
- void SleepModel::EnterSleepModeAction(void)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:EnterSleepModeAction]", __LINE__);
-
- // update donotdisturb
- SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);
-
- /*更新主界面配置*/
- MainModel::GetInstance().setDialState(DialState::SLEEP, true);
-
- // disable flip wrist
- uapi_take_to_wake(0);
-
- // 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__);
-
- // update donotdisturb
- SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0);
-
- /*更新主界面配置*/
- MainModel::GetInstance().setDialState(DialState::SLEEP, false);
-
- // enable flip wrist
- if(true == mmi_flip_wrist_switch_get())
- {
- uapi_take_to_wake(1);
- }
-
- // 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
CONFIGMODEL_ITEM_SLEEP_BEDTIME,//就寝时间
CONFIGMODEL_ITEM_SLEEP_GET_UP,//起床时间
CONFIGMODEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关
+ CONFIGMODEL_ITEM_SLEEP_MODE_SWITCH, // sleep mode
//久坐提醒相关
CONFIGMODEL_ITEM_SEDENTARY_SWITCH,//久坐提醒开关
CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,//久坐提醒时间间隔(单位小时)
{ConfigDataType::DATATYPE_INT, "sleep_bedtime", "1310720" }, //CONFIGMODEL_ITEM_SLEEP_BEDTIME,就寝时间 1310720 : 20 << 16 ,前16位为小时,后16位为分钟
{ConfigDataType::DATATYPE_INT, "sleep_getup", "589824" }, // CONFIGMODEL_ITEM_SLEEP_GET_UP,起床时间,589824 : 9 << 16 ,前16位为小时,后16位为分钟
{ConfigDataType::DATATYPE_INT, "sleep_remide", "0" }, // CONFIGMODEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关
+ {ConfigDataType::DATATYPE_INT, "sleep_mode", "0" }, // CONFIGMODEL_ITEM_SLEEP_MODE_SWITCH, // sleep mode
{ConfigDataType::DATATYPE_INT, "sedentary_switch", "0" }, // CONFIGMODEL_ITEM_SEDENTARY_SWITCH,//久坐提醒开关
{ConfigDataType::DATATYPE_INT, "sedentary_interval", "1" }, // CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,//久坐提醒时间间隔
{ConfigDataType::DATATYPE_INT, "sedentary_remindertime", "0" }, // CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME,//久坐提醒时间段 前16位是开始时间 前8 为小时 后8为分钟 后16位为结束时间规则同前 例: 1600 0B00 11点开始到 22点结束
//设置睡眠频率
void set_config_heart(int heartRateDetectionFreq);
+// sleep mode switch
+void mmi_sleep_mode_switch_read(void);
+void mmi_sleep_mode_switch_write(void);
+
// for c file
bool mmi_flip_wrist_switch_get(void);
return flag;
}
+// sleep mode switch get
+void mmi_sleep_mode_switch_read(void)
+{
+ uint8_t flag = (OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_MODE_SWITCH));
+ uapi_sleep_mode_flag_set(flag);
+}
+
+// sleep mode switch set
+void mmi_sleep_mode_switch_write(void)
+{
+ uint8_t flag = uapi_sleep_mode_flag_get();
+ OHOS::ConfigModel::GetInstance()->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_MODE_SWITCH, flag);
+}
+
// get flip wrist switch for c file
bool mmi_flip_wrist_switch_get(void)
{
uint8_t saveele_status;//省电模式状态
uint8_t lock_status;//密码锁状态
uint8_t motion_recognition_status;//运动识别开关状态
+ uint8_t sleep_mode_flag; // sleep mode flag
} runtime_status_t;
uint8_t uapi_dev_runtime_get_motion_recognition_status(void)
{
return g_runtime.motion_recognition_status;
+}
+
+// sleep mode flag
+void uapi_sleep_mode_flag_set(uint8_t flag)
+{
+ g_runtime.sleep_mode_flag = flag;
+}
+
+uint8_t uapi_sleep_mode_flag_get(void)
+{
+ return g_runtime.sleep_mode_flag;
}
\ No newline at end of file
uint16_t uapi_dev_runtime_get_ancs_clientid(void);
+// sleep mode flag
+void uapi_sleep_mode_flag_set(uint8_t flag);
+uint8_t uapi_sleep_mode_flag_get(void);
#ifdef __cplusplus
#if __cplusplus