From f245a480888e35bb2f83ba6c78360c80d5442e27 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Mon, 22 Jul 2024 16:53:24 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E5=B1=8F=E5=B9=95=E4=B8=8E?= =?utf8?q?=E4=BA=AE=E5=BA=A6Slice=EF=BC=9A=201.=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?utf8?q?scrollview=E7=9A=84=E8=A1=A8=E5=86=A0=E6=8E=A7=E5=88=B6=EF=BC=8C?= =?utf8?q?=202.=E6=A0=87=E7=AD=BE=E6=96=AD=E8=A1=8C=E6=A8=A1=E5=BC=8F?= =?utf8?q?=E4=B8=BALINE=5FBREAK=5FOSCILLATION=E6=94=B9=E4=B8=BALINE=5FBREA?= =?utf8?q?K=5FOSCILLATION=203.=E4=BA=AE=E5=B1=8F=E6=97=B6=E9=95=BF?= =?utf8?q?=E8=A7=86=E5=9B=BE=E5=AE=9E=E7=8E=B0=E7=82=B9=E5=87=BB=E6=8C=89?= =?utf8?q?=E9=92=AE=E8=AF=A5=E5=8F=98=E4=BA=AE=E5=B1=8F=E6=97=B6=E9=95=BF?= =?utf8?q?=E5=8D=95=E9=80=89=E6=8C=89=E9=92=AE=E9=80=89=E4=B8=AD=E7=8A=B6?= =?utf8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../include/DisplayBrightnessPresenter.h | 6 +- .../include/DisplayBrightnessView.h | 31 ++- .../include/ScreenDurationView.h | 14 +- .../src/DisplayBrightnessModel.cpp | 5 +- .../src/DisplayBrightnessPresent.cpp | 74 +++++- .../src/DisplayBrightnessView.cpp | 224 +++++++----------- .../src/ScreenDurationView.cpp | 192 ++++++++------- .../nativeui/uiservice/src/ui_service.cpp | 2 +- .../service/ble_service/blemoder/bletest.cpp | 1 + .../peripheral/config/src/ConfigModel.cpp | 2 +- 10 files changed, 286 insertions(+), 265 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h index 1e070aebb..255e916cf 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-18 09:10:05 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-07 19:25:27 + * @LastEditTime: 2024-07-22 16:24:31 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h */ #ifndef _DISPLAY_BRIGHTNESS_PRESENTER_H @@ -58,15 +58,17 @@ namespace OHOS static const char *SCREENDURATIONBUTTON_VIEWID = "SCREENDURATIONBUTTON"; // 亮屏时长按钮视图id static const char *RAISETOBRIGHTNESSCHECKBOXBUTTON_VIEWID = "RAISETOBRIGHTNESSCHECKBOXBUTTON"; // 抬腕亮屏checkbox按钮视图id - class ScreenDurationRadiobuttonOnChangeListener : public UICheckBox::OnChangeListener + class ScreenDurationRadiobuttonOnChangeListener : public UICheckBox::OnChangeListener, public UIView::OnClickListener { public: + ScreenDurationRadiobuttonOnChangeListener() {} ScreenDurationRadiobuttonOnChangeListener(UIView *view) { m_view = view; } ~ScreenDurationRadiobuttonOnChangeListener() {} bool OnChange(UICheckBox::UICheckBoxState state) override; + bool OnClick(UIView &view, const ClickEvent &event) override; private: UIView *m_view{nullptr}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h index 84b41b670..ea9dcb659 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessView.h @@ -35,7 +35,7 @@ namespace OHOS int16_t w; int16_t h; const char *ViewId; - //const char *ImageSrc; + // const char *ImageSrc; }; struct LabelConfig { @@ -43,9 +43,9 @@ namespace OHOS int16_t top; int16_t width; int16_t height; - int16_t fontSize; // 字体大小 - int16_t lineHeigh; // 行高 - //std::string text; // 文本 + int16_t fontSize; // 字体大小 + int16_t lineHeigh; // 行高 + // std::string text; // 文本 int16_t textId; uint8_t lineBreakMode; // 断行模式。 }; @@ -62,17 +62,15 @@ namespace OHOS DisplayBrightnessView(); virtual ~DisplayBrightnessView(); static DisplayBrightnessView *GetInstance(void); - void DisplayAndBrightnessViewInit(void); - void ClearAll(void); + bool ChangeDisplayBrightnessView(int16_t thisView); // 切换到“屏幕与亮度”视图 bool ChangeScreenDurationView(int16_t thisView); // 切换到亮屏时长视图 bool ClickFunc(int16_t interface); void ChangeView(int16_t hideView, int16_t showView); - UIScrollView *GetDisplayBrightnessScrollView(int16_t i); - UICheckBox::UICheckBoxState GetRaiseToBrightnessCheckBoxButtonState(void); void SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState state); ScreenDurationView *GetScreenDurationView(void); - UILabelExt * GetSelectScreenDurationLabel(void); + UILabelExt *GetSelectScreenDurationLabel(void); + public: void OnStart() override; void OnSetUpView() override; @@ -80,20 +78,21 @@ namespace OHOS void OnStop() override; private: - // ScreenDurationView *p_ScreenDurationView{nullptr}; // 亮屏时长视图 - std::shared_ptr p_ScreenDurationView; + ScreenDurationView *p_ScreenDurationView{nullptr}; // 亮屏时长视图 private: - bool SetUpScrollView(void); - bool SetTheTitle(void); + UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签 + UIImageView *SetUpImageView(ImageConfig &imageconfig); // 设置图片 + UICheckBox *SetUpCheckBox(CheckBoxConfig &checkboxconfig); // 设置复选框 UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener); + bool SetTheTitle(void); bool InitDisplayBrightnessViewButton(void); - UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签 bool InitDisplayBrightnessViewLabel(void); - UIImageView *SetUpImageView(ImageConfig &imageconfig); // 设置图片 bool InitDisplayBrightnessViewImage(void); - UICheckBox *SetUpCheckBox(CheckBoxConfig &checkboxconfig); // 设置复选框 bool InitDisplayBrightnessViewCheckBox(void); + bool SetUpScrollView(void); + void DisplayAndBrightnessViewInit(void); + void ClearAll(void); UIScrollView *DisplayBrightnessScrollView[2]{nullptr}; UILabelExt *DisplayBrightnessTitleLabel = nullptr; // 显示与亮度标题 UIButton *BringhtnessControlButton = nullptr; // 亮度调节按钮 diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/ScreenDurationView.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/ScreenDurationView.h index 0a04d4cda..66b0f20f7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/ScreenDurationView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/ScreenDurationView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-05-06 11:14:31 + * @LastEditTime: 2024-07-22 16:30:36 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/ScreenDurationView.h */ #ifndef SCREEN_DUATION_VIEW_H @@ -14,6 +14,7 @@ #include "components/ui_image_view.h" #include "components/ui_label_ext.h" #include "components/ui_radio_button.h" +#include "components/ui_button.h" namespace OHOS { #define DURATIONS 6 @@ -21,7 +22,7 @@ namespace OHOS class ScreenDurationView { public: - struct ImageConfig + struct ButtonConfig { int16_t x; int16_t y; @@ -36,8 +37,7 @@ namespace OHOS int16_t height; int16_t fontSize; // 字体大小 int16_t lineHeigh; // 行高 - //const char *text; // 文本 - int16_t textId; + int16_t textId; // 文本id uint8_t lineBreakMode; // 断行模式。 }; struct RadioButtonConfig @@ -57,9 +57,10 @@ namespace OHOS void ClearAll(void); UIRadioButton *GetRadioButton(int16_t i); void SetRadioButtonSelectStatus(int16_t i); + UIButton *GetScreenDurationButton(int16_t i); private: - UIImageView *SetUpImageView(ImageConfig &imageconfig); // 设置图片 + UIButton *SetUpButtonView(ButtonConfig &buttonConfig); // 设置按钮 UILabelExt *SetUpLabel(LabelConfig &labelconfig); // 设置标签 UIRadioButton *SetUpRadioButton(RadioButtonConfig &radiobuttonconfig); // 设置单选框 bool SetUpScrollView(void); @@ -69,9 +70,10 @@ namespace OHOS UIScrollView *ScreenDurationScrollView = nullptr; UILabelExt *ScreenDurationTitleLabel = nullptr; // 标题 UILabelExt *ScreenDurationLabel[DURATIONS]{nullptr}; // 亮屏时长标签 - UIImageView *BackGroundImage[DURATIONS]{nullptr}; // 放置组件的背景 + UIButton *ScreenDurationButton[DURATIONS]{nullptr}; // 放置组件的按钮 UIRadioButton *ScreenDurationRadioButton[DURATIONS]{nullptr}; // 单选框 UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange[DURATIONS]{nullptr}; + UIView::OnClickListener *ScreenDurationButtonClickListener{nullptr}; bool initViewStatus{false}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp index 95fe4873b..2add7fbc1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-12 20:11:04 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-18 15:31:55 + * @LastEditTime: 2024-07-22 12:00:13 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp */ #include "displaybrightness/include/DisplayBrightnessModel.h" @@ -60,7 +60,8 @@ namespace OHOS return false; } displayBrightnessPresent->SetSelectScreenDurationLabel(GetScreenDurationTime()); - UpdateRaiseToBrightnessCheckBoxButtonStatus(); + // UpdateRaiseToBrightnessCheckBoxButtonStatus(); + UpdateScreenDurationRadioButtonSlectStatus(); return true; } 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 96e0d9ef7..88e1133a0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-18 14:11:36 + * @LastEditTime: 2024-07-22 16:37:02 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp */ #include "AppViewIDs.h" @@ -20,6 +20,7 @@ #include #include "map" #include "iostream" +#include "string" #include "ConfigModel.h" namespace OHOS { @@ -102,6 +103,12 @@ namespace OHOS return; } + if (p_DisplayBrightnessView->GetSelectScreenDurationLabel() == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_DisplayBrightnessView->GetSelectScreenDurationLabel() is nullptr!"); + return; + } + const std::map durationMap = { {SCREENDURATION_FIVE, STR_5_SECONDS}, {SCREENDURATION_TEN, STR_10_SECONDS}, @@ -127,24 +134,25 @@ namespace OHOS void DisplayBrightnessPresenter::OnStart() { - + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnStart"); Presenter::OnStart(); } void DisplayBrightnessPresenter::OnPause(void) { - + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnPause"); Presenter::OnPause(); } void DisplayBrightnessPresenter::OnResume(void) { - + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnResume"); Presenter::OnResume(); } void DisplayBrightnessPresenter::OnStop(void) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnStop"); Presenter::OnStop(); } @@ -159,11 +167,11 @@ namespace OHOS } if (strcmp(view.GetViewId(), BRINGHTNESSCONTROLBUTTON_VIEW) == 0) { - NativeAbility::GetInstance().EnterSlice(VIEW_BRIGHTNESSLEVEL); + NativeAbility::GetInstance().EnterSlice(VIEW_BRIGHTNESSLEVEL); /*切换到亮度调节slice*/ } else if (strcmp(view.GetViewId(), SCREENDURATIONBUTTON_VIEWID) == 0) { - p_DisplayBrightnessView->ChangeView(DISPLAYBRIGHTNESSVIEW, SCREENDURATIONVIEW); // 切换到亮屏时长视图 + p_DisplayBrightnessView->ChangeView(DISPLAYBRIGHTNESSVIEW, SCREENDURATIONVIEW); // 屏幕与亮度视图切换到亮屏时长视图 } return true; } @@ -181,7 +189,13 @@ namespace OHOS bool DisplayBrightnessPresenter::OnDragEnd(UIView &view, const DragEvent &event) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnDragEnd"); DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance(); + if (p_DisplayBrightnessView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView GetInstance fail"); + return false; + } if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && DisplayBrightnessPresenter::X_DRAG_FLAG) { if (strcmp(view.GetViewId(), SCREENDURATIONSCROLLVIEW) == 0) @@ -203,12 +217,12 @@ namespace OHOS switch (state) { case UICheckBox::SELECTED: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched on!"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched on!"); uapi_take_to_wake(WRIST_RAISE_TO_WAKE_ENABLED); ConfigModel::GetInstance()->SetRaiseToWake(true); break; case UICheckBox::UNSELECTED: - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched off!"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Raise to Wake switched off!"); uapi_take_to_wake(WRIST_RAISE_TO_WAKE_DISENABLED); ConfigModel::GetInstance()->SetRaiseToWake(false); break; @@ -281,4 +295,48 @@ namespace OHOS return true; } + + bool ScreenDurationRadiobuttonOnChangeListener::OnClick(UIView &view, const ClickEvent &event) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ScreenDurationRadiobuttonOnChangeListener::OnClick"); + UIButton *button = dynamic_cast(&view); + if (button == nullptr) + { + return false; + } + + DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance(); + if (p_DisplayBrightnessView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetInstance fail!"); + return false; + } + + ScreenDurationView *p_ScreenDurationView = p_DisplayBrightnessView->GetScreenDurationView(); + if (p_ScreenDurationView == nullptr) + { + return false; // 相关视图不存在,直接返回 + } + // 关联单选按钮视图和对应的持续时间 + std::map durationMap = { + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton1), ScreenDurationRadioButton1}, + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton2), ScreenDurationRadioButton2}, + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton3), ScreenDurationRadioButton3}, + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton4), ScreenDurationRadioButton4}, + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton5), ScreenDurationRadioButton5}, + {p_ScreenDurationView->GetScreenDurationButton(ScreenDurationRadioButton6), ScreenDurationRadioButton6}}; + + auto it = durationMap.find((UIButton *)button); + if (it != durationMap.end()) + { + p_ScreenDurationView->SetRadioButtonSelectStatus(it->second); + } + else + { + // 如果没有找到对应的映射项,可能是逻辑错误或数据不一致 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Logic error or data inconsistency."); + } + + return true; + } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp index 022e1556b..7fdfd3474 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp @@ -3,20 +3,20 @@ #include "wearable_log.h" #include "ConfigModel.h" #include "ui_resource_string.h" +#include namespace OHOS { static DisplayBrightnessView *g_pDisplayBrightnessView{nullptr}; DisplayBrightnessView::DisplayBrightnessView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessView"); g_pDisplayBrightnessView = this; } DisplayBrightnessView::~DisplayBrightnessView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::~DisplayBrightnessView"); - ClearAll(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::~DisplayBrightnessView"); g_pDisplayBrightnessView = nullptr; } @@ -67,6 +67,11 @@ namespace OHOS delete DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]; DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] = nullptr; } + if (p_ScreenDurationView != nullptr) + { + delete p_ScreenDurationView; + p_ScreenDurationView = nullptr; + } } // 显示与亮度视图scrollView初始化 @@ -85,6 +90,8 @@ namespace OHOS DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetDirection(1); DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetMaxScrollDistance(1000); DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetThrowDrag(true); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->RequestFocus(); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetRotateFactor(2); UIView::OnDragListener *draglistener = static_cast(DisplayBrightnessPresenter::GetInstance()); if (draglistener == nullptr) { @@ -108,13 +115,13 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessTitleLabel new fail!"); return false; } - DisplayBrightnessTitleLabel->SetPosition(83, 52, 300, 35); + DisplayBrightnessTitleLabel->SetPosition(83, 50, 300, 35); DisplayBrightnessTitleLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff); DisplayBrightnessTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); DisplayBrightnessTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - // DisplayBrightnessTitleLabel->SetText("屏幕与亮度"); - DisplayBrightnessTitleLabel->SetTextId(STR_SCREEN_AND_BRIGHTNESS); - DisplayBrightnessTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + DisplayBrightnessTitleLabel->SetTextId(STR_SCREEN_AND_BRIGHTNESS); /*屏幕与亮度*/ + DisplayBrightnessTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + DisplayBrightnessTitleLabel->SetRollSpeed(70); DisplayBrightnessTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DisplayBrightnessTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); return true; @@ -135,7 +142,6 @@ namespace OHOS button->SetViewId(buttonconfig.ViewId); button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); button->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - // button->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc); button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED); button->SetOnClickListener(clickListener); return button; @@ -146,8 +152,6 @@ namespace OHOS /// @return true 设置成功,false 失败 bool DisplayBrightnessView::InitDisplayBrightnessViewButton(void) { - /* -------------------------------------------------------------------------- */ - UIView::OnClickListener *clickListener = static_cast(DisplayBrightnessPresenter::GetInstance()); /* -------------------------------------------------------------------------- */ ButtonConfig buttonconfig; buttonconfig.x = 43; @@ -155,8 +159,7 @@ namespace OHOS buttonconfig.w = 380; buttonconfig.h = 100; buttonconfig.ViewId = BRINGHTNESSCONTROLBUTTON_VIEW; - // buttonconfig.ImageSrc = "/user/res/SETTING_BACKGROUND.bin"; - BringhtnessControlButton = SetTheButton(buttonconfig, clickListener); + BringhtnessControlButton = SetTheButton(buttonconfig, presenter_); if (nullptr == BringhtnessControlButton) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::BringhtnessControlButton new fail!"); @@ -165,7 +168,7 @@ namespace OHOS /* -------------------------------------------------------------------------- */ buttonconfig.y = 240; buttonconfig.ViewId = SCREENDURATIONBUTTON_VIEWID; - ScreenDurationButton = SetTheButton(buttonconfig, clickListener); + ScreenDurationButton = SetTheButton(buttonconfig, presenter_); if (nullptr == ScreenDurationButton) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ScreenDurationButton new fail!"); @@ -185,11 +188,9 @@ namespace OHOS label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小 label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小 label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高 - // label->SetText(labelconfig.text.c_str()); // 内容 label->SetTextId(labelconfig.textId); label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。 - // label->SetRollSpeed(40); - // label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + label->SetRollSpeed(70); label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize); return label; } @@ -206,9 +207,8 @@ namespace OHOS .height = 35, .fontSize = 30, .lineHeigh = 35, - //.text = "亮度调节", - .textId = STR_BRIGHTNESS_ADJUSTMENT, - .lineBreakMode = UILabel::LINE_BREAK_MARQUEE, + .textId = STR_BRIGHTNESS_ADJUSTMENT, /*亮度调节*/ + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, }; BringhtnessControlLabel = SetUpLabel(labelconfig); if (BringhtnessControlLabel == nullptr) @@ -219,8 +219,7 @@ namespace OHOS /* -------------------------------------------------------------------------- */ labelconfig.top = 273; labelconfig.width = 180; - // labelconfig.text = "亮屏时长"; - labelconfig.textId = STR_SCREEN_ON_DURATION; + labelconfig.textId = STR_SCREEN_ON_DURATION; /*亮屏时长*/ ScreenDurationLabel = SetUpLabel(labelconfig); if (ScreenDurationLabel == nullptr) { @@ -229,8 +228,7 @@ namespace OHOS } /* -------------------------------------------------------------------------- */ labelconfig.top = 393; - // labelconfig.text = "抬腕亮屏"; - labelconfig.textId = STR_RAISE_TO_WAKE; + labelconfig.textId = STR_RAISE_TO_WAKE; /*抬腕亮屏*/ RaiseToBrightnessLabel = SetUpLabel(labelconfig); if (RaiseToBrightnessLabel == nullptr) { @@ -245,9 +243,8 @@ namespace OHOS .height = 40, .fontSize = 30, .lineHeigh = 35, - //.text = "", .textId = 0, - .lineBreakMode = UILabel::LINE_BREAK_MARQUEE, + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, }; selectScreenDurationLabel = SetUpLabel(labelconfig); if (selectScreenDurationLabel == nullptr) @@ -278,13 +275,12 @@ namespace OHOS /// @return true 设置成功,false 失败 bool DisplayBrightnessView::InitDisplayBrightnessViewImage(void) { - const char *NextImageSrc = "/user/res/SETTING_NEXT.bin"; ImageConfig imageconfig = { .x = 369, .y = 157, .w = 14, .h = 26, - .ImageSrc = NextImageSrc, + .ImageSrc = PNG_SETTING_NEXT_IMAGE, }; NextImage[0] = SetUpImageView(imageconfig); if (nullptr == NextImage[0]) @@ -306,7 +302,7 @@ namespace OHOS .y = 360, .w = 380, .h = 100, - .ImageSrc = "/user/res/SETTING_BACKGROUND.bin", + .ImageSrc = PNG_SETTING_BACKGROUND_IMAGE, }; RaiseToBrightnessImage = SetUpImageView(imageconfig); if (nullptr == RaiseToBrightnessImage) @@ -342,8 +338,8 @@ namespace OHOS .w = 100, .h = 50, .ViewId = RAISETOBRIGHTNESSCHECKBOXBUTTON_VIEWID, - .select = "/user/res/TOGGLEBUTTON_ON.bin", - .unselect = "/user/res/TOGGLEBUTTON_OFF.bin", + .select = PNG_TOGGLEBUTTON_ON_IMAGE, + .unselect = PNG_TOGGLEBUTTON_OFF_IMAGE, }; RaiseToBrightnessCheckBoxButton = SetUpCheckBox(checkboxconfig); if (nullptr == RaiseToBrightnessCheckBoxButton) @@ -351,97 +347,92 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::RaiseToBrightnessCheckBoxButton is nullptr"); return false; } - UICheckBox::OnChangeListener *checkBoxListener = static_cast(DisplayBrightnessPresenter::GetInstance()); - RaiseToBrightnessCheckBoxButton->SetOnChangeListener(checkBoxListener); + RaiseToBrightnessCheckBoxButton->SetOnChangeListener(presenter_); return true; } // 显示与亮度视图初始化 void DisplayBrightnessView::DisplayAndBrightnessViewInit() { - if (SetUpScrollView() != true) - { - return; - } - if (SetTheTitle() != true) - { - return; - } - if (InitDisplayBrightnessViewButton() != true) - { - return; - } - if (InitDisplayBrightnessViewLabel() != true) - { - return; - } - if (InitDisplayBrightnessViewImage() != true) - { - return; - } - if (InitDisplayBrightnessViewCheckBox() != true) + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayAndBrightnessViewInit"); + + if (!SetUpScrollView() || !SetTheTitle() || !InitDisplayBrightnessViewButton() || !InitDisplayBrightnessViewLabel() || + !InitDisplayBrightnessViewImage() || !InitDisplayBrightnessViewCheckBox()) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayAndBrightnessViewInit fail!!"); return; } - if (!DisplayBrightnessModel::GetInstance()->UpdateRaiseToBrightnessCheckBoxButtonStatus()) + DisplayBrightnessModel::GetInstance()->UpdateRaiseToBrightnessCheckBoxButtonStatus(); + DisplayBrightnessModel::GetInstance()->UpdateSelectScreenDurationLabel(); + } + + void DisplayBrightnessView::OnStart() + { + View::OnStart(); + if (!initViewStatus) { - return; + DisplayAndBrightnessViewInit(); + initViewStatus = true; } - if (!DisplayBrightnessModel::GetInstance()->UpdateSelectScreenDurationLabel()) + RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::DisplayBrightnessPresenter::GetInstance(); + RootView::GetInstance()->SetOnKeyActListener(keyactListener); + } + + void DisplayBrightnessView::OnSetUpView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::OnSetUpView"); + View::OnSetUpView(); + if (DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: OnSetUpView has nullptr"); return; } + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(DisplayBrightnessTitleLabel); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlButton); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationButton); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlLabel); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationLabel); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(selectScreenDurationLabel); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[0]); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[1]); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessImage); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessLabel); + DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessCheckBoxButton); + RootView::GetInstance()->Add(DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]); + Draw(); } - /// @brief 获取抬腕亮屏按钮状态 - /// @param void - /// @return 获取此复选框的状态。 - UICheckBox::UICheckBoxState DisplayBrightnessView::GetRaiseToBrightnessCheckBoxButtonState(void) + void DisplayBrightnessView::OnTearDownView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::OnTearDownView"); + View::OnTearDownView(); + return; + } + + void DisplayBrightnessView::OnStop() { - return RaiseToBrightnessCheckBoxButton->GetState(); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::OnStop"); + View::OnStop(); + RootView::GetInstance()->ClearOnKeyActListener(); + RootView::GetInstance()->RemoveAll(); + ClearAll(); + return; } /// @brief 设置抬腕亮屏按钮状态 /// @param state void DisplayBrightnessView::SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState state) { - if (RaiseToBrightnessCheckBoxButton == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButton is nullptr!"); - return; - } RaiseToBrightnessCheckBoxButton->SetState(state); } - /// @brief 获取显示与亮度视图中的scrollView - /// @param i 第几个scrollView - /// @return 第几个scrollView的指针 - UIScrollView *DisplayBrightnessView::GetDisplayBrightnessScrollView(int16_t i) - { - if (DisplayBrightnessScrollView[i] == nullptr) - { - return nullptr; - } - return DisplayBrightnessScrollView[i]; - } - ScreenDurationView *DisplayBrightnessView::GetScreenDurationView(void) { - if (p_ScreenDurationView == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetScreenDurationView p_ScreenDurationView is nullptr!"); - return nullptr; - } - return p_ScreenDurationView.get(); + return p_ScreenDurationView; } UILabelExt *DisplayBrightnessView::GetSelectScreenDurationLabel(void) { - if (selectScreenDurationLabel == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetSelectScreenDurationLabel selectScreenDurationLabel is nullptr!"); - return nullptr; - } return selectScreenDurationLabel; } @@ -462,7 +453,7 @@ namespace OHOS if (DisplayBrightnessScrollView[thisView] == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ChangeScreenDurationView"); - p_ScreenDurationView = std::make_shared(); + p_ScreenDurationView = new ScreenDurationView(); if (p_ScreenDurationView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: new scrollView[%d] fail", thisView); @@ -474,7 +465,6 @@ namespace OHOS return true; } - /* -------------------------------------------------------------------------- */ // 1.DisplayBrightnessViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。 struct DisplayBrightnessViewMapper { @@ -520,56 +510,4 @@ namespace OHOS DisplayBrightnessScrollView[showView]->SetVisible(true); Draw(); } - /* -------------------------------------------------------------------------- */ - - void DisplayBrightnessView::OnStart() - { - View::OnStart(); - if (!initViewStatus) - { - DisplayAndBrightnessViewInit(); - initViewStatus = true; - } - RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::DisplayBrightnessPresenter::GetInstance(); - RootView::GetInstance()->SetOnKeyActListener(keyactListener); - } - - void DisplayBrightnessView::OnSetUpView() - { - View::OnSetUpView(); - if (DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: OnSetUpView has nullptr"); - return; - } - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(DisplayBrightnessTitleLabel); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlButton); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationButton); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlLabel); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationLabel); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(selectScreenDurationLabel); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[0]); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[1]); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessImage); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessLabel); - DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessCheckBoxButton); - RootView::GetInstance()->Add(DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]); - Draw(); - } - - void DisplayBrightnessView::OnTearDownView() - { - - View::OnTearDownView(); - return; - } - - void DisplayBrightnessView::OnStop() - { - - View::OnStop(); - RootView::GetInstance()->ClearOnKeyActListener(); - RootView::GetInstance()->RemoveAll(); - return; - } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp index d1dc43866..546b2ceba 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp @@ -3,6 +3,7 @@ #include "displaybrightness/include/DisplayBrightnessModel.h" #include "wearable_log.h" #include "ui_resource_string.h" +#include namespace OHOS { @@ -10,13 +11,13 @@ namespace OHOS ScreenDurationView::ScreenDurationView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationView"); g_pScreenDurationView = this; } ScreenDurationView::~ScreenDurationView() { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::~ScreenDurationView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::~ScreenDurationView"); ClearAll(); g_pScreenDurationView = nullptr; } @@ -30,43 +31,61 @@ namespace OHOS { if (initViewStatus == true) { - ScreenDurationScrollView->RemoveAll(); - - delete ScreenDurationTitleLabel; - ScreenDurationTitleLabel = nullptr; - - for (int i = 0; i < DURATIONS; i++) + if (ScreenDurationScrollView != nullptr) { - delete ScreenDurationLabel[i]; - ScreenDurationLabel[i] = nullptr; - - delete BackGroundImage[i]; - BackGroundImage[i] = nullptr; - - delete SimplifiedChineseRadioButtonChange[i]; - SimplifiedChineseRadioButtonChange[i] = nullptr; - - delete ScreenDurationRadioButton[i]; - ScreenDurationRadioButton[i] = nullptr; + ScreenDurationScrollView->RemoveAll(); + if (ScreenDurationTitleLabel != nullptr) + { + delete ScreenDurationTitleLabel; + ScreenDurationTitleLabel = nullptr; + } + for (int i = 0; i < DURATIONS; i++) + { + if (ScreenDurationLabel[i] != nullptr) + { + delete ScreenDurationLabel[i]; + ScreenDurationLabel[i] = nullptr; + } + if (ScreenDurationButton[i]) + { + delete ScreenDurationButton[i]; + ScreenDurationButton[i] = nullptr; + } + if (SimplifiedChineseRadioButtonChange[i] != nullptr) + { + delete SimplifiedChineseRadioButtonChange[i]; + SimplifiedChineseRadioButtonChange[i] = nullptr; + } + if (ScreenDurationRadioButton[i]) + { + delete ScreenDurationRadioButton[i]; + ScreenDurationRadioButton[i] = nullptr; + } + } + if (ScreenDurationButtonClickListener != nullptr) + { + delete ScreenDurationButtonClickListener; + ScreenDurationButtonClickListener = nullptr; + } + delete ScreenDurationScrollView; + ScreenDurationScrollView = nullptr; } - delete ScreenDurationScrollView; - ScreenDurationScrollView = nullptr; } } // 设置图片 - UIImageView *ScreenDurationView::SetUpImageView(ImageConfig &imageconfig) + UIButton *ScreenDurationView::SetUpButtonView(ButtonConfig &buttonConfig) { - UIImageView *Image = new UIImageView(); - if (Image == nullptr) + UIButton *button = new UIButton(); + if (button == nullptr) { return nullptr; } - Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h); - Image->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); - Image->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - Image->SetStyle(STYLE_BORDER_RADIUS, 100); - return Image; + button->SetPosition(buttonConfig.x, buttonConfig.y, buttonConfig.w, buttonConfig.h); + button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED); + + return button; } // 设置标签 @@ -80,10 +99,9 @@ namespace OHOS label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小 label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小 label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高 - // label->SetText(labelconfig.text); // 内容 - label->SetTextId(labelconfig.textId); // 内容 - label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。 - // label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + label->SetTextId(labelconfig.textId); // 内容 + label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。 + label->SetRollSpeed(70); label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize); return label; } @@ -118,6 +136,8 @@ namespace OHOS ScreenDurationScrollView->SetDirection(1); ScreenDurationScrollView->SetMaxScrollDistance(1000); ScreenDurationScrollView->SetThrowDrag(true); + ScreenDurationScrollView->RequestFocus(); + ScreenDurationScrollView->SetRotateFactor(2); UIView::OnDragListener *draglistener = static_cast(DisplayBrightnessPresenter::GetInstance()); if (draglistener == nullptr) { @@ -133,22 +153,25 @@ namespace OHOS // 亮屏时长视图“图片”初始化 bool ScreenDurationView::SetUpScreenDurationViewImageView(void) { - ImageConfig imageconfig = { + ButtonConfig buttonConfig = { .x = 39, .y = 120, .w = 380, .h = 100, }; + ScreenDurationButtonClickListener = static_cast(new ScreenDurationRadiobuttonOnChangeListener()); + for (int i = 0; i < DURATIONS; i++) { - imageconfig.y = 120 + (i * 120); - BackGroundImage[i] = SetUpImageView(imageconfig); - if (BackGroundImage[i] == nullptr) + buttonConfig.y = 120 + (i * 120); + ScreenDurationButton[i] = SetUpButtonView(buttonConfig); + if (ScreenDurationButton[i] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::BackGroundImage[%d] is nullptr!", i); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationButton[%d] is nullptr!", i); return false; } + ScreenDurationButton[i]->SetOnClickListener(ScreenDurationButtonClickListener); } return true; } @@ -159,14 +182,13 @@ namespace OHOS // 创建ScreenDurationTitleLabel LabelConfig labelconfig = { .left = 83, - .top = 52, + .top = 50, .width = 300, .height = 35, .fontSize = 30, .lineHeigh = 35, - //.text = "亮屏时长", - .textId = STR_SCREEN_ON_DURATION, - .lineBreakMode = UILabel::LINE_BREAK_MARQUEE, + .textId = STR_SCREEN_ON_DURATION, /*亮屏时长*/ + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, }; ScreenDurationTitleLabel = SetUpLabel(labelconfig); @@ -186,7 +208,7 @@ namespace OHOS .fontSize = 30, .lineHeigh = 35, .textId = STR_SCREEN_ON_DURATION, - .lineBreakMode = UILabel::LINE_BREAK_MARQUEE, + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, }; // const char *durations[DURATIONS] = {"5秒", "10秒", "15秒", "30秒", "60秒", "300秒"}; @@ -215,8 +237,8 @@ namespace OHOS .x = 300, .w = 80, .h = 80, - .select = "/user/res/CHECKBOX_ON.bin", - .unselect = "/user/res/CHECKBOX_OFF.bin", + .select = PNG_CHECKBOX_ON_IMAGE, + .unselect = PNG_CHECKBOX_OFF_IMAGE, }; int y_positions = 130; @@ -236,68 +258,66 @@ namespace OHOS return true; } - // 设置哪个单选按钮被选中 - void ScreenDurationView::SetRadioButtonSelectStatus(int16_t i) + // 亮屏时长视图初始化 + UIScrollView *ScreenDurationView::ScreenDurationViewInit(void) { - if (GetRadioButton(i) != nullptr) + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationViewInit"); + if (!SetUpScrollView() || !SetUpScreenDurationViewImageView() || + !SetUpScreenDurationViewLabel() || !SetUpScreenDurationViewRadioButton()) { - GetRadioButton(i)->SetState(UICheckBox::SELECTED); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationViewInit fail!!"); + return nullptr; } - else + + if (!DisplayBrightnessModel::GetInstance()->UpdateScreenDurationRadioButtonSlectStatus()) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::GetRadioButton(%d) is nullptr!", i); + return nullptr; } - } - UIRadioButton *ScreenDurationView::GetRadioButton(int16_t i) - { - if (ScreenDurationRadioButton[i] == nullptr) + /* ----------------------------------- Add ---------------------------------- */ + ScreenDurationScrollView->Add(ScreenDurationTitleLabel); + for (int i = 0; i < DURATIONS; i++) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationRadioButton[%d] is nullptr!", i); - return nullptr; + ScreenDurationScrollView->Add(ScreenDurationButton[i]); + ScreenDurationScrollView->Add(ScreenDurationLabel[i]); + ScreenDurationScrollView->Add(ScreenDurationRadioButton[i]); } - return ScreenDurationRadioButton[i]; + initViewStatus = true; + return ScreenDurationScrollView; } - // 亮屏时长视图初始化 - UIScrollView *ScreenDurationView::ScreenDurationViewInit(void) + // 设置哪个单选按钮被选中 + void ScreenDurationView::SetRadioButtonSelectStatus(int16_t index) { - /* ------------------------ ScreenDurationScrollView ------------------------ */ - if (!SetUpScrollView()) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationScrollView is nullptr!"); - return nullptr; - } - /* ----------------------------- BackGroundImage[] ---------------------------- */ - if (!SetUpScreenDurationViewImageView()) + if (index >= DURATIONS || index < 0) { - return nullptr; + return; } - /* -------------------------- ScreenDurationLabel[] ------------------------- */ - if (!SetUpScreenDurationViewLabel()) + + if (ScreenDurationRadioButton[index] == nullptr) { - return nullptr; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationRadioButton[%d] is nullptr!", index); + return; } - /* ----------------------- ScreenDurationRadioButton[] ---------------------- */ - if (!SetUpScreenDurationViewRadioButton()) + + for (int i = 0; i < DURATIONS; i++) { - return nullptr; + ScreenDurationRadioButton[i]->SetState(i == index ? UICheckBox::SELECTED : UICheckBox::UNSELECTED); } + } - if (!DisplayBrightnessModel::GetInstance()->UpdateScreenDurationRadioButtonSlectStatus()) + UIRadioButton *ScreenDurationView::GetRadioButton(int16_t i) + { + if (ScreenDurationRadioButton[i] == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationRadioButton[%d] is nullptr!", i); return nullptr; } + return ScreenDurationRadioButton[i]; + } - /* ----------------------------------- Add ---------------------------------- */ - ScreenDurationScrollView->Add(ScreenDurationTitleLabel); - for (int i = 0; i < DURATIONS; i++) - { - ScreenDurationScrollView->Add(BackGroundImage[i]); - ScreenDurationScrollView->Add(ScreenDurationLabel[i]); - ScreenDurationScrollView->Add(ScreenDurationRadioButton[i]); - } - initViewStatus = true; - return ScreenDurationScrollView; + UIButton *ScreenDurationView::GetScreenDurationButton(int16_t i) + { + return ScreenDurationButton[i]; } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp b/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp index 4ba3c78c5..0393384c6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/uiservice/src/ui_service.cpp @@ -463,7 +463,7 @@ void HandleRemoveSleepVeto(Request *request) //处理更新选择的亮屏时长标签内容 void HandleUpdateScreenDuration(Request *request) { - WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateRaiseToBrightness"); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_UI_SERVICE, "HandleUpdateScreenDuration"); GraphicService::GetInstance()->PostGraphicEvent( std::bind(&OHOS::DisplayBrightnessModel::UpdateSelectScreenDurationLabel, OHOS::DisplayBrightnessModel::GetInstance())); } diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index 071f256b2..cf5ac79f4 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -1552,6 +1552,7 @@ void set_ScreenDuration(int data) //设置亮屏时长 { OHOS::ConfigModel *p_ConfigModel = OHOS::ConfigModel::GetInstance(); p_ConfigModel->SetScreenDuration(data); + uapi_setScreenDuration(data); #ifdef FD230 SendMsgToUIService(UI_UPDATE_SCREEN_DURATION,0,nullptr,0); #endif diff --git a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp index 93bcf2a7c..7ff27384b 100644 --- a/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp +++ b/code/sdk/drivers/peripheral/config/src/ConfigModel.cpp @@ -792,7 +792,7 @@ namespace OHOS void ConfigModel::SetScreenDuration(unsigned int value) { set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE,value); - cm_initializeScreenDuration(); + // cm_initializeScreenDuration(); } /// @brief 获取亮屏时长单位ms -- 2.17.1