#include "components/ui_image_view.h"\r
namespace OHOS\r
{\r
-#define BRIGHTNESS_MIN 0\r
-#define BRIGHTNESS_MAX 100\r
+#define BRIGHTNESS_MIN 51\r
+#define BRIGHTNESS_MAX 0xff\r
#define BRIGHTNESS_PROGRESS "progress"\r
\r
static const char *BRIGHTNESS_CONTROL_SLIDER = "BrightnessControlViewSlider";\r
static BrightnessControlView *GetInstance(void);\r
UIScrollView *BrightnessControlViewInit(void);\r
void ClearAll(void);\r
-\r
+ UISlider *GetBrightnessControlViewSlider(void);\r
+ int16_t CurrentBrightnessValue{0}; // 当前亮度值\r
+ void SetScreenBrightnessValue(unsigned char value);\r
private:\r
bool SetUpScrollView(void);\r
bool SetUpSlider(void);\r
public:\r
static DisplayBrightnessModel *GetInstance(void);\r
void SetRaiseToBrightnessCheckBoxButtonStatus(bool value);\r
- bool DisplayBrightnessViewAndSubViewComponentsStatusInit();\r
+ bool RaiseToBrightnessCheckBoxButtonStatusInit(void);\r
+ void KeepScreenBrightnessValues(unsigned char value);\r
+ bool BrightnessControlViewSliderValuesInit(void);\r
+ void KeepScreenDurationRadioButtonSlectStatus(unsigned int value);\r
+ bool ScreenDurationRadioButtonSlectStatusInit(void);\r
+\r
private:\r
DisplayBrightnessModel();\r
DisplayBrightnessModel(const DisplayBrightnessModel &);\r
virtual ~DisplayBrightnessModel();\r
\r
private:\r
- bool RaiseToBrightnessCheckBoxButtonState{false}; //抬腕按钮状态\r
+ bool RaiseToBrightnessCheckBoxButtonState{false}; // 抬腕按钮状态 ,默认补选中\r
+ unsigned char ScreenBrightnessValue{255}; // 亮度值 ,默认最大亮度\r
+ unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,1对应10秒后熄屏\r
};\r
}\r
\r
/*显示与亮度*/\r
#include "Presenter.h"\r
#include "DisplayBrightnessView.h"\r
+#include "components/ui_slider.h"\r
\r
namespace OHOS\r
{\r
MAX_DISPLAYBRIGHTNESSVIEWID,\r
} DISPLAYBRIGHTNESSVIEWID;\r
\r
+ /// @brief 亮度状态改变\r
+ typedef enum : uint8_t\r
+ {\r
+ BRIGHTNESSLOWERS = 0, // 亮度降低\r
+ BRIGHTNESSEVATED = 1, // 亮度增加\r
+ BRIGHTNESSDRAG = 2, // 亮度拖动状态\r
+ } BrightnessChangeStatus;\r
+\r
+ /// @brief 亮屏时长\r
+ typedef enum : uint32_t\r
+ {\r
+ SCREENDURATIONFIVE = 1000 * 5, // 5秒后熄屏\r
+ SCREENDURATIONTEN = 1000 * 10, // 10秒后熄屏\r
+ SCREENDURATIONFIFTEENTH = 1000 * 15, // 15秒后熄屏\r
+ } ScreenDurationTime;\r
+\r
+ typedef enum\r
+ {\r
+ ScreenDurationRadioButton1 = 0,\r
+ ScreenDurationRadioButton2,\r
+ ScreenDurationRadioButton3,\r
+ } ScreenDurationRadioButton;\r
+\r
static const char *BRINGHTNESSCONTROLBUTTON_VIEW = "BRINGHTNESSCONTROLBUTTON"; // 亮度调节按钮视图id\r
static const char *SCREENDURATIONBUTTON_VIEWID = "SCREENDURATIONBUTTON"; // 亮屏时长按钮视图id\r
static const char *RAISETOBRIGHTNESSCHECKBOXBUTTON_VIEWID = "RAISETOBRIGHTNESSCHECKBOXBUTTON"; // 抬腕亮屏checkbox按钮视图id\r
static const char *SCREENDURATION_TENSECONDS_VIEWID = "SCREENDURATION_TENSECONDS"; // 10秒时长\r
static const char *SCREENDURATION_FIFTEENSECONDS_VIEWID = "SCREENDURATION_FIFTEENSECONDS"; // 15秒时长\r
\r
+ class BrightnessSliderEventListener : public UISlider::UISliderEventListener,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener\r
+ {\r
+ public:\r
+ BrightnessSliderEventListener();\r
+ ~BrightnessSliderEventListener();\r
+ static BrightnessSliderEventListener *GetInstance(void);\r
+ void ChangeBrightness(uint8_t status, uint8_t value);\r
+ void OnChange(int32_t value) override;\r
+ void OnRelease(int32_t value) override;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+\r
+ private:\r
+ int32_t BrightnessValue; // 亮度值\r
+ };\r
+\r
class ScreenDurationRadiobuttonOnChangeListener : public UICheckBox::OnChangeListener\r
{\r
public:\r
\r
static DisplayBrightnessPresenter *GetInstance();\r
void SetRaiseToBrightnessState(bool value);\r
+ void SetScreenBrightnessValues(unsigned char value);\r
+ void SetScreenDurationRadioButtonSlectStatus(uint32_t value);\r
\r
private:\r
// 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
UIScrollView *ScreenDurationViewInit(void);\r
void ClearAll(void);\r
UIRadioButton *GetRadioButton(int16_t i);\r
-\r
+ void SetRadioButtonSelectStatus(int16_t i);\r
private:\r
UIImageView *SetUpImageView(ImageConfig &imageconfig); // 设置图片\r
UILabel *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
UILabel *ScreenDurationLabel[3]{nullptr}; // 亮屏时长标签\r
UIImageView *BackGroundImage[3]{nullptr}; // 放置组件的背景\r
UIRadioButton *ScreenDurationRadioButton[3]{nullptr}; // 三个单选框\r
+ UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange[3]{nullptr};\r
bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
#include "displaybrightness/include/BrightnessControlView.h"\r
#include "displaybrightness/include/DisplayBrightnessPresenter.h"\r
+#include "displaybrightness/include/DisplayBrightnessModel.h"\r
#include "wearable_log.h"\r
namespace OHOS\r
{\r
{\r
BrightnessControlScrollView->RemoveAll();\r
\r
+ unsigned char value = BrightnessControlViewSlider->GetValue();\r
+ DisplayBrightnessModel::GetInstance()->KeepScreenBrightnessValues(value);\r
+\r
delete BrightnessControlViewSlider;\r
BrightnessControlViewSlider = nullptr;\r
\r
BrightnessControlViewSlider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND);\r
BrightnessControlViewSlider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
BrightnessControlViewSlider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+\r
+ BrightnessSliderEventListener *listener = nullptr;\r
+ if (listener == nullptr)\r
+ {\r
+ listener = new BrightnessSliderEventListener();\r
+ if (listener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Listener new fail!");\r
+ return false;\r
+ }\r
+ }\r
+ BrightnessControlViewSlider->SetSliderEventListener(listener);\r
+ BrightnessControlViewSlider->SetOnClickListener(listener);\r
+ BrightnessControlViewSlider->SetOnDragListener(listener);\r
BrightnessControlViewSlider->SetKnobStyle(StyleDefault::GetSliderKnobStyle());\r
return true;\r
}\r
return true;\r
}\r
\r
+ UISlider *BrightnessControlView::GetBrightnessControlViewSlider(void)\r
+ {\r
+ return BrightnessControlViewSlider;\r
+ }\r
+\r
+ void BrightnessControlView::SetScreenBrightnessValue(unsigned char value)\r
+ {\r
+ BrightnessControlViewSlider->SetValue(value);\r
+ }\r
+\r
// 亮度调节视图初始化\r
UIScrollView *BrightnessControlView::BrightnessControlViewInit(void)\r
{\r
return nullptr;\r
}\r
\r
+ if(!DisplayBrightnessModel::GetInstance()->BrightnessControlViewSliderValuesInit())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlViewSliderValuesInit fail!");\r
+ return nullptr;\r
+ }\r
/* ----------------------------------- Add ---------------------------------- */\r
BrightnessControlScrollView->Add(BrightnessControlViewSlider);\r
BrightnessControlScrollView->Add(BrightnessControlViewImageIcon);\r
/// @brief 显示与亮度及其子视图中的组件状态初始化
/// @param value true 开启 false 关闭
/// @return true 初始化成功 false 初始化失败
- bool DisplayBrightnessModel::DisplayBrightnessViewAndSubViewComponentsStatusInit()
+ bool DisplayBrightnessModel::RaiseToBrightnessCheckBoxButtonStatusInit(void)
{
- /* ---------------------------------- 1.亮屏值大小 --------------------------------- */
+ DisplayBrightnessPresenter *displayBrightnessPresent = DisplayBrightnessPresenter::GetInstance();
+ if (displayBrightnessPresent == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessViewAndSubViewComponentsStatusInit DisplayBrightnessPresenter GetInstance fail");
+ return false;
+ }
+ displayBrightnessPresent->SetRaiseToBrightnessState(RaiseToBrightnessCheckBoxButtonState); // 抬腕按钮的状态
+ return true;
+ }
- /* --------------------------------- 2.亮屏时长 --------------------------------- */
+ /// @brief 亮度值
+ /// @param value
+ void DisplayBrightnessModel::KeepScreenBrightnessValues(unsigned char value)
+ {
+ ScreenBrightnessValue = value;
+ }
- /* -------------------------------- 3.抬腕亮屏按钮的状态 ------------------------------- */
+ // 亮度控制视图亮度Slider值初始化
+ bool DisplayBrightnessModel::BrightnessControlViewSliderValuesInit(void)
+ {
DisplayBrightnessPresenter *displayBrightnessPresent = DisplayBrightnessPresenter::GetInstance();
if (displayBrightnessPresent == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessViewAndSubViewComponentsStatusInit DisplayBrightnessPresenter GetInstance fail");
return false;
}
- displayBrightnessPresent->SetRaiseToBrightnessState(RaiseToBrightnessCheckBoxButtonState); // 抬腕按钮的状态
+ displayBrightnessPresent->SetScreenBrightnessValues(ScreenBrightnessValue);
+ return true;
+ }
+
+ /// @brief 保存哪个亮屏时长按钮被选中
+ /// @param value 0x001 5秒后熄屏 0x010 10秒后熄屏 0x100 15秒后熄屏
+ void DisplayBrightnessModel::KeepScreenDurationRadioButtonSlectStatus(unsigned int value)
+ {
+ ScreenDurationRadioButtonSlectValue = value;
+ }
+
+ /// @brief 亮屏时长按钮选中状态初始化
+ /// @param
+ /// @return
+ bool DisplayBrightnessModel::ScreenDurationRadioButtonSlectStatusInit(void)
+ {
+ DisplayBrightnessPresenter *displayBrightnessPresent = DisplayBrightnessPresenter::GetInstance();
+ if (displayBrightnessPresent == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessViewAndSubViewComponentsStatusInit DisplayBrightnessPresenter GetInstance fail");
+ return false;
+ }
+ displayBrightnessPresent->SetScreenDurationRadioButtonSlectStatus(ScreenDurationRadioButtonSlectValue);
return true;
}
#include "displaybrightness/include/DisplayBrightnessPresenter.h"\r
#include "cat1_ctl.h"\r
#include "displaybrightness/include/DisplayBrightnessModel.h"\r
+#include "power_display_service.h"\r
namespace OHOS\r
{\r
// 当前Presenter属性实例化的内存指针\r
}\r
}\r
\r
+ /// @brief 设置亮度值\r
+ /// @param value\r
+ void DisplayBrightnessPresenter::SetScreenBrightnessValues(unsigned char value)\r
+ {\r
+ BrightnessControlView *p_BrightnessControlView = BrightnessControlView::GetInstance();\r
+ if (p_BrightnessControlView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetScreenBrightnessValues BrightnessControlView GetInstance fail");\r
+ return;\r
+ }\r
+ if (value >= BRIGHTNESS_MIN && value <= BRIGHTNESS_MAX)\r
+ {\r
+ p_BrightnessControlView->SetScreenBrightnessValue(value);\r
+ DisplayBrightnessModel::GetInstance()->KeepScreenBrightnessValues(0xff);// 将Model层保存的状态清除\r
+ }\r
+ }\r
+\r
+ /// @brief 根据value值设置哪个按钮被选中\r
+ /// @param value\r
+ void DisplayBrightnessPresenter::SetScreenDurationRadioButtonSlectStatus(uint32_t value)\r
+ {\r
+ ScreenDurationView *p_ScreenDurationView = ScreenDurationView::GetInstance();\r
+ if (p_ScreenDurationView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetScreenDurationRadioButtonSlectStatus ScreenDurationView GetInstance fail");\r
+ return;\r
+ }\r
+ if (value == ScreenDurationRadioButton1)\r
+ {\r
+ p_ScreenDurationView->SetRadioButtonSelectStatus(ScreenDurationRadioButton1);\r
+ }\r
+ else if (value == ScreenDurationRadioButton2)\r
+ {\r
+ p_ScreenDurationView->SetRadioButtonSelectStatus(ScreenDurationRadioButton2);\r
+ }\r
+ else\r
+ {\r
+ p_ScreenDurationView->SetRadioButtonSelectStatus(ScreenDurationRadioButton3);\r
+ }\r
+ DisplayBrightnessModel::GetInstance()->KeepScreenDurationRadioButtonSlectStatus(ScreenDurationRadioButton1);// 将Model层保存的状态清除\r
+ }\r
+\r
void DisplayBrightnessPresenter::OnStart()\r
{\r
\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetInstance fail!");\r
return false;\r
}\r
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
switch (state)\r
{\r
case UICheckBox::SELECTED:\r
if (p_DisplayBrightnessView->GetScreenDurationView() != nullptr)\r
{\r
- if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(0) == (UIView *)m_view)\r
+ if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(ScreenDurationRadioButton1) == (UIView *)m_view)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 5 seconds");\r
+ display_api->set_screen_auto_off_timeout(SCREENDURATIONFIVE);\r
return true;\r
}\r
- else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(1) == (UIView *)m_view)\r
+ else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(ScreenDurationRadioButton2) == (UIView *)m_view)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 10 seconds");\r
+ display_api->set_screen_auto_off_timeout(SCREENDURATIONTEN);\r
return true;\r
}\r
- else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(2) == (UIView *)m_view)\r
+ else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(ScreenDurationRadioButton3) == (UIView *)m_view)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 15 seconds");\r
+ display_api->set_screen_auto_off_timeout(SCREENDURATIONFIFTEENTH);\r
return true;\r
}\r
}\r
}\r
return false;\r
}\r
+\r
+ static BrightnessSliderEventListener *g_pBrightnessSliderEventListener{nullptr};\r
+\r
+ constexpr int16_t BRIGHTNESS_CHANGE = 10;\r
+\r
+ BrightnessSliderEventListener::BrightnessSliderEventListener()\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessSliderEventListener::BrightnessSliderEventListener");\r
+ g_pBrightnessSliderEventListener = this;\r
+ }\r
+\r
+ BrightnessSliderEventListener::~BrightnessSliderEventListener()\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessSliderEventListener::~BrightnessSliderEventListener");\r
+ g_pBrightnessSliderEventListener = nullptr;\r
+ }\r
+\r
+ BrightnessSliderEventListener *BrightnessSliderEventListener::GetInstance(void)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessSliderEventListener::GetInstance");\r
+ return g_pBrightnessSliderEventListener;\r
+ }\r
+\r
+ /// @brief 改变屏幕状态\r
+ /// @param status\r
+ void BrightnessSliderEventListener::ChangeBrightness(uint8_t status, uint8_t value)\r
+ {\r
+ // 1.获取 BrightnessControlView 的实例:\r
+ BrightnessControlView *p_BrightnessControlView = BrightnessControlView::GetInstance();\r
+ // 2.检查 BrightnessControlView 指针是否为 nullptr,并在为 nullptr 时打印错误日志并返回\r
+ if (p_BrightnessControlView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::GetInstance fail!");\r
+ return;\r
+ }\r
+ // 3.获取 p_BrightnessControlView 的进度条 UISlider 实例的指针:\r
+ UISlider *progress = p_BrightnessControlView->GetBrightnessControlViewSlider();\r
+ // 4.检查 progress 指针是否为 nullptr,并在为 nullptr 时打印错误日志并返回:\r
+ if (progress == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChangeBrightness:progress is nullptr!");\r
+ return;\r
+ }\r
+ // 5.保存当前亮度到变量 BrightnessValue\r
+ BrightnessValue = p_BrightnessControlView->CurrentBrightnessValue;\r
+\r
+ // 6.获取显示功耗管理服务API接口.\r
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
+ // 7.根据传入的 status 值进行亮度变化操作\r
+ switch (status)\r
+ {\r
+ case BRIGHTNESSLOWERS:\r
+ /* code */\r
+ p_BrightnessControlView->CurrentBrightnessValue = progress->GetValue() - BRIGHTNESS_CHANGE;\r
+ if (p_BrightnessControlView->CurrentBrightnessValue < BRIGHTNESS_MIN)\r
+ {\r
+ p_BrightnessControlView->CurrentBrightnessValue = BRIGHTNESS_MIN;\r
+ }\r
+ break;\r
+ case BRIGHTNESSEVATED:\r
+ p_BrightnessControlView->CurrentBrightnessValue = progress->GetValue() + BRIGHTNESS_CHANGE;\r
+ if (p_BrightnessControlView->CurrentBrightnessValue > BRIGHTNESS_MAX)\r
+ {\r
+ p_BrightnessControlView->CurrentBrightnessValue = BRIGHTNESS_MAX;\r
+ }\r
+ break;\r
+ case BRIGHTNESSDRAG:\r
+ p_BrightnessControlView->CurrentBrightnessValue = value;\r
+ if (p_BrightnessControlView->CurrentBrightnessValue < BRIGHTNESS_MIN)\r
+ {\r
+ p_BrightnessControlView->CurrentBrightnessValue = BRIGHTNESS_MIN;\r
+ }\r
+ else if (p_BrightnessControlView->CurrentBrightnessValue > BRIGHTNESS_MAX)\r
+ {\r
+ p_BrightnessControlView->CurrentBrightnessValue = BRIGHTNESS_MAX;\r
+ }\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+ // 8.将 p_BrightnessControlView->CurrentBrightnessValue 的值赋给 progress 的值,更新进度条的显示:\r
+ progress->SetValue(p_BrightnessControlView->CurrentBrightnessValue);\r
+\r
+ // 9.设置当前亮度值并检查是否设置成功\r
+ if (display_api->set_brightness(p_BrightnessControlView->CurrentBrightnessValue) != ERRCODE_SUCC)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ChangeBrightness: set_brightness fail!");\r
+ return;\r
+ }\r
+ }\r
+\r
+ /// @brief 当滑动条被拖动或点击时调用\r
+ /// @param value 滑块的当前值。\r
+ void BrightnessSliderEventListener::OnChange(int32_t value)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnChange %d", value);\r
+ ChangeBrightness(BRIGHTNESSDRAG, value);\r
+ }\r
+\r
+ /// @brief 当滑动条被释放时调用\r
+ /// @param value 滑块的当前值。\r
+ void BrightnessSliderEventListener::OnRelease(int32_t value)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnRelease %d", value);\r
+ ChangeBrightness(BRIGHTNESSDRAG, value);\r
+ }\r
+\r
+ bool BrightnessSliderEventListener::OnClick(UIView &view, const ClickEvent &event)\r
+ {\r
+ UNUSED(event);\r
+ UNUSED(view);\r
+ return true;\r
+ }\r
+ bool BrightnessSliderEventListener::OnDrag(UIView &view, const DragEvent &event)\r
+ {\r
+ UNUSED(event);\r
+ UNUSED(view);\r
+ return true;\r
+ }\r
}
\ No newline at end of file
{\r
return;\r
}\r
- DisplayBrightnessModel::GetInstance()->DisplayBrightnessViewAndSubViewComponentsStatusInit();\r
+ if (!DisplayBrightnessModel::GetInstance()->RaiseToBrightnessCheckBoxButtonStatusInit())\r
+ {\r
+ return;\r
+ }\r
initViewStatus = true;\r
}\r
\r
return DisplayBrightnessScrollView[i];\r
}\r
\r
- ScreenDurationView * DisplayBrightnessView::GetScreenDurationView(void)\r
+ ScreenDurationView *DisplayBrightnessView::GetScreenDurationView(void)\r
{\r
- if(p_ScreenDurationView == nullptr)\r
+ if (p_ScreenDurationView == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetScreenDurationView p_ScreenDurationView is nullptr!");\r
return nullptr;\r
}\r
- return p_ScreenDurationView;\r
+ return p_ScreenDurationView;\r
}\r
\r
// 1.切换到“屏幕与亮度”视图\r
#include "displaybrightness/include/ScreenDurationView.h"\r
#include "displaybrightness/include/DisplayBrightnessPresenter.h"\r
+#include "displaybrightness/include/DisplayBrightnessModel.h"\r
#include "wearable_log.h"\r
namespace OHOS\r
{\r
{\r
ScreenDurationScrollView->RemoveAll();\r
\r
+ unsigned int i;\r
+ for (i = 0; i < 3; i++)\r
+ {\r
+ if (ScreenDurationRadioButton[i]->GetState() == UICheckBox::SELECTED)\r
+ {\r
+ break;\r
+ }\r
+ }\r
+ DisplayBrightnessModel::GetInstance()->KeepScreenDurationRadioButtonSlectStatus(i);\r
+\r
delete ScreenDurationTitleLabel;\r
ScreenDurationTitleLabel = nullptr;\r
\r
delete BackGroundImage[i];\r
BackGroundImage[i] = nullptr;\r
\r
+ delete SimplifiedChineseRadioButtonChange[i];\r
+ SimplifiedChineseRadioButtonChange[i] = nullptr;\r
+\r
delete ScreenDurationRadioButton[i];\r
ScreenDurationRadioButton[i] = nullptr;\r
}\r
-\r
delete ScreenDurationScrollView;\r
ScreenDurationScrollView = nullptr;\r
}\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationRadioButton[%d] is nullptr!", i);\r
return false;\r
}\r
- UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new ScreenDurationRadiobuttonOnChangeListener(ScreenDurationRadioButton[i]));\r
- ScreenDurationRadioButton[i]->SetOnChangeListener(SimplifiedChineseRadioButtonChange);\r
+ SimplifiedChineseRadioButtonChange[i] = static_cast<UICheckBox::OnChangeListener *>(new ScreenDurationRadiobuttonOnChangeListener(ScreenDurationRadioButton[i]));\r
+ ScreenDurationRadioButton[i]->SetOnChangeListener(SimplifiedChineseRadioButtonChange[i]);\r
}\r
\r
return true;\r
}\r
\r
+ void ScreenDurationView::SetRadioButtonSelectStatus(int16_t i)\r
+ {\r
+ GetRadioButton(i)->SetState(UICheckBox::SELECTED);\r
+ }\r
+\r
// 亮屏时长视图初始化\r
UIScrollView *ScreenDurationView::ScreenDurationViewInit(void)\r
{\r
{\r
return nullptr;\r
}\r
+\r
+ if (!DisplayBrightnessModel::GetInstance()->ScreenDurationRadioButtonSlectStatusInit())\r
+ {\r
+ return nullptr;\r
+ }\r
+\r
/* ----------------------------------- Add ---------------------------------- */\r
ScreenDurationScrollView->Add(ScreenDurationTitleLabel);\r
for (int i = 0; i < 3; i++)\r
#include "touch_screen_def.h"
#include "display_state_machine.h"
-#define DISPLAY_AUTO_POWER_OFF_PERIOD_MS (1000 * 10) //10秒
+#define DISPLAY_AUTO_POWER_OFF_PERIOD_MS (1000 * 5) //5秒
#define DISPLAY_DEFAULT_BRIGHTNESS 50
#define POWER_DISPLAY_QUEUE_MAX_SIZE 64
#define POWER_DISPLAY_MAX_SIZE 0x10