class ScreenDurationRadiobuttonOnChangeListener : public UICheckBox::OnChangeListener\r
{\r
public:\r
- ScreenDurationRadiobuttonOnChangeListener(){}\r
- ~ScreenDurationRadiobuttonOnChangeListener() {}\r
- bool isRadioButtonSelected(int index);\r
- void SetRadioButton(UIRadioButton *radiobutton, int16_t i)\r
+ ScreenDurationRadiobuttonOnChangeListener(UIView *view)\r
{\r
- m_radiobutton[i] = radiobutton;\r
+ m_view = view;\r
}\r
+ ~ScreenDurationRadiobuttonOnChangeListener() {}\r
bool OnChange(UICheckBox::UICheckBoxState state) override;\r
\r
private:\r
- UIRadioButton *m_radiobutton[3]{nullptr};\r
+ UIView *m_view{nullptr};\r
};\r
\r
class DisplayBrightnessView;\r
\r
static DisplayBrightnessPresenter *GetInstance();\r
void SetRaiseToBrightnessState(bool value);\r
+\r
private:\r
// 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
UIScrollView *GetDisplayBrightnessScrollView(int16_t i);\r
UICheckBox::UICheckBoxState GetRaiseToBrightnessCheckBoxButtonState(void);\r
void SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState state);\r
+ ScreenDurationView * GetScreenDurationView(void);\r
public:\r
void OnStart() override;\r
void OnSetUpView() override;\r
}\r
\r
/// @brief 设置抬腕亮屏状态\r
- /// @param value \r
+ /// @param value\r
void DisplayBrightnessPresenter::SetRaiseToBrightnessState(bool value)\r
{\r
DisplayBrightnessView *displayBrightnessView = DisplayBrightnessView::GetInstance();\r
if (value != false)\r
{\r
displayBrightnessView->SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState::SELECTED);\r
- DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false);//将Model层保存的状态清除\r
+ DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false); // 将Model层保存的状态清除\r
}\r
}\r
\r
return true;\r
}\r
\r
- bool ScreenDurationRadiobuttonOnChangeListener::isRadioButtonSelected(int index)\r
+ bool ScreenDurationRadiobuttonOnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
{\r
- if (m_radiobutton[index]->GetState() == UICheckBox::SELECTED)\r
+ DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance();\r
+ if (p_DisplayBrightnessView == nullptr)\r
{\r
- return true;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::GetInstance fail!");\r
+ return false;\r
}\r
- return false;\r
- }\r
-\r
- bool ScreenDurationRadiobuttonOnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
- {\r
- for (int i = 0; i < 3; i++)\r
+ switch (state)\r
{\r
- if (isRadioButtonSelected(i))\r
+ case UICheckBox::SELECTED:\r
+ if (p_DisplayBrightnessView->GetScreenDurationView() != nullptr)\r
{\r
- switch (i)\r
+ if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(0) == (UIView *)m_view)\r
{\r
- case 0:\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 5 seconds");\r
- break;\r
- case 1:\r
+ return true;\r
+ }\r
+ else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(1) == (UIView *)m_view)\r
+ {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 10 seconds");\r
- break;\r
- case 2:\r
+ return true;\r
+ }\r
+ else if (p_DisplayBrightnessView->GetScreenDurationView()->GetRadioButton(2) == (UIView *)m_view)\r
+ {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Switched to 15 seconds");\r
- break;\r
- default:\r
- break;\r
+ return true;\r
}\r
}\r
+\r
+ break;\r
+ case UICheckBox::UNSELECTED:\r
+ break;\r
+ default:\r
+ break;\r
}\r
- return true;\r
+ return false;\r
}\r
}
\ No newline at end of file
{\r
if (DisplayBrightnessScrollView[i] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessScrollView[%d] is nullptr!", i);\r
return nullptr;\r
}\r
return DisplayBrightnessScrollView[i];\r
}\r
\r
+ ScreenDurationView * DisplayBrightnessView::GetScreenDurationView(void)\r
+ {\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
+ }\r
+\r
// 1.切换到“屏幕与亮度”视图\r
bool DisplayBrightnessView::ChangeDisplayBrightnessView(int16_t thisView)\r
{\r
\r
int y_positions[] = {130, 250, 370};\r
const char *viewID[] = {SCREENDURATION_FIVESECONDS_VIEWID, SCREENDURATION_TENSECONDS_VIEWID, SCREENDURATION_FIFTEENSECONDS_VIEWID};\r
- ScreenDurationRadiobuttonOnChangeListener *p_ScreenDurationRadiobuttonOnChangeListener = new ScreenDurationRadiobuttonOnChangeListener();\r
- UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(p_ScreenDurationRadiobuttonOnChangeListener);\r
for (int i = 0; i < 3; i++)\r
{\r
radiobuttonconfig.y = y_positions[i];\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationView::ScreenDurationRadioButton[%d] is nullptr!", i);\r
return false;\r
}\r
- p_ScreenDurationRadiobuttonOnChangeListener->SetRadioButton(ScreenDurationRadioButton[i],i);\r
+ UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new ScreenDurationRadiobuttonOnChangeListener(ScreenDurationRadioButton[i]));\r
ScreenDurationRadioButton[i]->SetOnChangeListener(SimplifiedChineseRadioButtonChange);\r
}\r
\r