From 4b059b6d2a90a1403883045ab92627e8558600bc Mon Sep 17 00:00:00 2001 From: cheng Date: Tue, 13 Aug 2024 11:13:58 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=BA=9B=E6=8E=A5?= =?utf8?q?=E5=8F=A3=EF=BC=9B=E4=BF=AE=E6=94=B9=E7=9D=A1=E7=9C=A0=E7=9B=B8?= =?utf8?q?=E5=85=B3=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/AlarmClockTimerConfig.cpp | 13 ++++++ .../nativeui/applist/src/AppItemView.cpp | 4 +- .../nativeui/applist/src/ApplistView.cpp | 4 +- .../src/DisplayBrightnessPresent.cpp | 5 +++ .../src/notify/findwatch_notification.cpp | 2 +- .../peripheral/config/include/ConfigModel.h | 2 + .../peripheral/config/include/ConfigModelC.h | 16 +++++++ .../peripheral/config/src/ConfigModel.cpp | 44 +++++++++++++++++++ .../vibrator/service/vibrator_service.cpp | 11 +++++ .../vibrator/service/vibrator_service.h | 2 + 10 files changed, 99 insertions(+), 4 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 c0dc84e9c..11619425e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -31,6 +31,7 @@ #include "cat1_server_hal.h" #include "custom_runtime.h" #include "uiservice/include/ui_service.h" +#include "power_display_service.h" #ifdef __cplusplus extern "C" @@ -393,6 +394,12 @@ extern "C" OHOS::ConfigModel::GetInstance()->SetDnotdisturb(false); // 关闭勿扰 SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0); } + { + mmi_sleep_mode_flag_set(false); // switch off + + const power_display_svr_api_t * display_api = power_display_svr_get_api(); + display_api->set_brightness(OHOS::ConfigModel::GetInstance()->GetBrightness()); + } if (uapi_dev_runtime_get_sleep_status() == 0) { // 设置状态为小睡 @@ -423,6 +430,12 @@ extern "C" OHOS::ConfigModel::GetInstance()->SetDnotdisturb(true); // 开启勿扰 SendMsgToUIService(UI_UPDATE_DNOTDISTURB_MODE, 0, nullptr, 0); } + { + mmi_sleep_mode_flag_set(true); // switch on + mmi_flip_wrist_switch_set(false); // switch off + const power_display_svr_api_t * display_api = power_display_svr_get_api(); + display_api->set_brightness(51); + } LOS_Msleep(1000); do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE, NULL); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/applist/src/AppItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/applist/src/AppItemView.cpp index 3554dfa4a..6a5963b6b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/applist/src/AppItemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/applist/src/AppItemView.cpp @@ -88,7 +88,9 @@ namespace OHOS { { //label_.SetTextColor(Color::White()); labelExt_.SetTextColor(Color::White()); - icon_.Scale(Vector2{1.1, 1.1}, Vector2{0, 0}); + int16_t pivot_x = icon_.GetWidth() / 2; + int16_t pivot_y = icon_.GetHeight() / 2; + icon_.Scale(Vector2{1.1, 1.1}, Vector2{pivot_x, pivot_y}); } void AppItemView::Reset() diff --git a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp index 030766170..434903d7b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp @@ -202,7 +202,7 @@ void ApplistView::ListStyleOnStart() static bool TransformItemBaseOnPosition(UITransformList* list, UIView* item) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TransformItemBaseOnPosition [%d]", __LINE__); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TransformItemBaseOnPosition [%d]", __LINE__); if (list == nullptr || item == nullptr) { return false; } @@ -214,7 +214,7 @@ static bool TransformItemBaseOnPosition(UITransformList* list, UIView* item) return false; } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TransformItemBaseOnPosition [%d]", __LINE__); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TransformItemBaseOnPosition [%d]", __LINE__); int16_t w = group->GetWidth(); int16_t h = group->GetHeight(); if (list->GetDirection() == UIList::VERTICAL) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp index 88e1133a0..1a61702fc 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp @@ -22,6 +22,7 @@ #include "iostream" #include "string" #include "ConfigModel.h" +#include "ConfigModelC.h" namespace OHOS { // 当前Presenter属性实例化的内存指针 @@ -167,6 +168,10 @@ namespace OHOS } if (strcmp(view.GetViewId(), BRINGHTNESSCONTROLBUTTON_VIEW) == 0) { + if(true == mmi_sleep_mode_flag_get()) + { + return false; + } NativeAbility::GetInstance().EnterSlice(VIEW_BRIGHTNESSLEVEL); /*切换到亮度调节slice*/ } else if (strcmp(view.GetViewId(), SCREENDURATIONBUTTON_VIEWID) == 0) diff --git a/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp b/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp index d028c62e9..f2aa2371c 100644 --- a/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp @@ -301,7 +301,7 @@ namespace OHOS */ void FindWatchViewEventListener::PopInterCancelMusic(void) { - SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0); + // SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0); GraphicService::GetInstance()->PostGraphicEvent( std::bind(&FindWatchViewEventListener::FindWatchRingPlayStop, &FindWatchViewEventListener::GetInstance())); } diff --git a/code/sdk/drivers/peripheral/config/include/ConfigModel.h b/code/sdk/drivers/peripheral/config/include/ConfigModel.h index dc3906c2b..32be1334b 100644 --- a/code/sdk/drivers/peripheral/config/include/ConfigModel.h +++ b/code/sdk/drivers/peripheral/config/include/ConfigModel.h @@ -104,6 +104,7 @@ namespace OHOS CONFIGMODEL_ITEM_SLEEP_BEDTIME,//就寝时间 CONFIGMODEL_ITEM_SLEEP_GET_UP,//起床时间 CONFIGMODEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关 + CONFIGMODEL_ITEM_SLEEP_MODE, //sleep mode //久坐提醒相关 CONFIGMODEL_ITEM_SEDENTARY_SWITCH,//久坐提醒开关 CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,//久坐提醒时间间隔(单位小时) @@ -356,6 +357,7 @@ namespace OHOS {ConfigDataType::DATATYPE_INT, "sleep_bedtime", "0" }, //CONFIGMODEL_ITEM_SLEEP_BEDTIME,//就寝时间 {ConfigDataType::DATATYPE_INT, "sleep_getup", "0" }, // CONFIGMODEL_ITEM_SLEEP_GET_UP,//起床时间 {ConfigDataType::DATATYPE_INT, "sleep_remide", "0" }, // CONFIGMODEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关 + {ConfigDataType::DATATYPE_BOOL, "sleep_mode", "false" }, //CONFIGMODEL_ITEM_SLEEP_MODE, //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点结束 diff --git a/code/sdk/drivers/peripheral/config/include/ConfigModelC.h b/code/sdk/drivers/peripheral/config/include/ConfigModelC.h index 4072d1847..1eeff598d 100644 --- a/code/sdk/drivers/peripheral/config/include/ConfigModelC.h +++ b/code/sdk/drivers/peripheral/config/include/ConfigModelC.h @@ -97,6 +97,13 @@ void get_user_info_from_config_model(int user_info[5]); int get_sleep_time_from_config_model(void); int get_wake_up_time_from_config_model(void); + +// sleep mode flag get +bool mmi_sleep_mode_flag_get(void); + +// sleep mode flag set +void mmi_sleep_mode_flag_set(bool value); + int get_sedentary_switch_from_config_model(void); int get_sedentary_time_from_config_model(void); //设置睡眠频率 @@ -105,6 +112,15 @@ void set_config_heart(int heartRateDetectionFreq); // for c file bool mmi_flip_wrist_switch_get(void); +// flip wrist switch set +void mmi_flip_wrist_switch_set(bool value); + +// play audio judgement +bool mmi_play_audio_is_permitted(void); + +// play vibrate judgement +bool mmi_play_vibrate_is_permitted(void); + #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp index 4ecbe79e7..181bb6149 100644 --- a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp +++ b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp @@ -1498,6 +1498,22 @@ int get_wake_up_time_from_config_model(void) wake_up_time = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_GET_UP); return wake_up_time; } + +// sleep mode flag get +bool mmi_sleep_mode_flag_get(void) +{ + if(OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_MODE)) + return true; + + return false; +} + +// sleep mode flag set +void mmi_sleep_mode_flag_set(bool value) +{ + OHOS::ConfigModel::GetInstance()->set_condigData_Bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_MODE, value); +} + void set_config_heart(int heartRateDetectionFreq) { // 设置心率检测频率 @@ -1524,6 +1540,34 @@ bool mmi_flip_wrist_switch_get(void) return (OHOS::ConfigModel::GetInstance()->get_configData_bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_RAISE_TO_WAKE)); } +// flip wrist switch set +void mmi_flip_wrist_switch_set(bool value) +{ + OHOS::ConfigModel::GetInstance()->set_condigData_Bool(OHOS::ConfigModel::CONFIGMODEL_ITEM_RAISE_TO_WAKE, value); +} + +// play audio judgement +bool mmi_play_audio_is_permitted(void) +{ + if(true == (OHOS::ConfigModel::GetInstance()->GetDnotdisturb())) + { + return false; + } + + return true; +} + +// play vibrate judgement +bool mmi_play_vibrate_is_permitted(void) +{ + if(true == (OHOS::ConfigModel::GetInstance()->GetDnotdisturb())) + { + return false; + } + + return true; +} + #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.cpp b/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.cpp index d56932631..631d2407f 100644 --- a/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.cpp +++ b/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.cpp @@ -59,6 +59,7 @@ static bool g_batter_service_initialled = false; #include "vibrator.h" #include "custom_utils.h" #include "custom_runtime.h" +#include "../../../../../drivers/peripheral/config/include/ConfigModelC.h" void custom_VibratorFunc_int(int vibratorType) { @@ -121,6 +122,16 @@ void ui_api_vibrate_once_func(void) custom_VibratorFunc_int(0); } +void ui_api_vibrate_once_with_judgement_func(void) +{ + if(false == mmi_play_vibrate_is_permitted()) + { + return; + } + + custom_VibratorFunc_int(0); +} + #define MAG_CHECK_MS 20 static unsigned long g_app_queue; diff --git a/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.h b/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.h index d9612bf9a..24094b6e9 100644 --- a/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.h +++ b/code/sdk/drivers/peripheral/vibrator/service/vibrator_service.h @@ -33,6 +33,8 @@ extern void do_vibrator_cmd(vibrator_cmd_t cmd); // UI 界面震动一次接口 void ui_api_vibrate_once_func(void); +void ui_api_vibrate_once_with_judgement_func(void); + void custom_VibratorFunc_int(int vibratorType); #ifdef __cplusplus -- 2.17.1