${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/DisplayBrightnessView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/BrightnessControlPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/BrightnessControlView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/ScreenDurationPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/displaybrightness/src/ScreenDurationView.cpp
VIEW_CALL_VOLUME, // 通话音量
VIEW_MEDIA_VOLUME, // 媒体音量
VIEW_DISPLAY_BRIGHTNESS, // 屏幕与亮度
- VIEW_BRIGHTNESS_CONTROL, // 亮度调节
VIEW_SCREEN_DURATION, // 亮屏时长
VIEW_SECONDARY_FUNCTION, // 辅助功能
VIEW_QUICK_ACCESS, // 快速访问
void InitMessageSlice(void);
/* -------------------------------------------------------------------------- */
void InitUIDisplayBrightnessSlice(void);
- void InitBrightnessControlSlice(void);
void InitScreenDurationSlice(void);
/* --------------------------------测试界面------------------------------------ */
void InitDialSlice(void);
#include "displaybrightness/include/DisplayBrightnessPresenter.h"
#include "displaybrightness/include/DisplayBrightnessView.h"
-#include "displaybrightness/include/BrightnessControlPresenter.h"
-#include "displaybrightness/include/BrightnessControlView.h"
#include "displaybrightness/include/ScreenDurationPresenter.h"
#include "displaybrightness/include/ScreenDurationView.h"
{VIEW_SYSTEM_VOLUME, &NativeLauncher::InitSystemVolumeSlice}, // 系统音量
{VIEW_DISPLAY_BRIGHTNESS, &NativeLauncher::InitUIDisplayBrightnessSlice}, // 显示与亮度的实例化地址
- {VIEW_BRIGHTNESS_CONTROL, &NativeLauncher::InitBrightnessControlSlice}, // 调节亮度的实例化地址
{VIEW_SCREEN_DURATION, &NativeLauncher::InitScreenDurationSlice}, // 亮屏时长实例化地址
{VIEW_SECONDARY_FUNCTION, &NativeLauncher::InitSecondaryFunction},
NativeAbility::GetInstance().AddSliceProxy(VIEW_DISPLAY_BRIGHTNESS, uidisplaybrightnessView);
}
- void NativeLauncher::InitBrightnessControlSlice(void)
- {
- SliceProxy *brightnesscontrol = new AbilitySliceProxy<BrightnessControlView, BrightnessControlPresenter>;
- if (brightnesscontrol == nullptr)
- {
- return;
- }
- NativeAbility::GetInstance().AddSliceProxy(VIEW_BRIGHTNESS_CONTROL, brightnesscontrol);
- }
-
void NativeLauncher::InitScreenDurationSlice(void)
{
SliceProxy *ScreenDuration = new AbilitySliceProxy<ScreenDurationView, ScreenDurationPresenter>;
\r
#include "BaseView.h"\r
#include "View.h"\r
-\r
-#include "components/ui_view_group.h"\r
+#include "components/ui_scroll_view.h"\r
#include "components/ui_slider.h"\r
#include "components/ui_image_view.h"\r
namespace OHOS\r
{\r
- static const char *BRIGHTNESS_CONTROL_SLIDER = "BCslider";\r
+#define BRIGHTNESS_MIN 0\r
+#define BRIGHTNESS_MAX 100\r
+#define BRIGHTNESS_PROGRESS "progress"\r
+\r
+ static const char *BRIGHTNESS_CONTROL_SLIDER = "BrightnessControlViewSlider";\r
\r
- class BrightnessControlPresenter;\r
- class BrightnessControlView : public View<BrightnessControlPresenter>{ \r
- \r
+ class BrightnessControlView\r
+ {\r
public:\r
- BrightnessControlView(); \r
- virtual ~BrightnessControlView(); \r
- static BrightnessControlView *GetInstance(void); \r
- \r
- void OnStart() override; \r
- void OnSetUpView() override; \r
- void OnTearDownView() override; \r
- void OnStop() override; \r
- \r
- private:\r
- UIView::OnDragListener *draglistener{nullptr}; \r
- UIView::OnClickListener *sliderClick{nullptr};\r
- UIView::OnDragListener *sliderDrag{nullptr};\r
- void InitView(void);\r
+ BrightnessControlView();\r
+ virtual ~BrightnessControlView();\r
+ static BrightnessControlView *GetInstance(void);\r
+ UIScrollView *BrightnessControlViewInit(void);\r
+ void ClearAll(void);\r
\r
- UIViewGroup* container_ = nullptr;\r
- UISlider* BCslider = nullptr;\r
- UIImageView* BCimageicon = nullptr;\r
+ private:\r
+ bool SetUpScrollView(void);\r
+ bool SetUpSlider(void);\r
+ bool SetUpImageView(void);\r
+ UIScrollView *BrightnessControlScrollView{nullptr};\r
+ UISlider *BrightnessControlViewSlider = nullptr;\r
+ UIImageView *BrightnessControlViewImageIcon = nullptr;\r
+ bool initViewStatus{false};\r
};\r
-} //namespace OHOS\r
-\r
-\r
-\r
-\r
+} // namespace OHOS\r
\r
#endif
\ No newline at end of file
-#ifndef _DISPLAY_BRIGHTNESS_MODEL_H_\r
-#define _DISPLAY_BRIGHTNESS_MODEL_H_\r
+#ifndef DISPLAY_BRIGHTNESS_MODEL_H_\r
+#define DISPLAY_BRIGHTNESS_MODEL_H_\r
\r
\r
\r
\r
namespace OHOS\r
{\r
+ typedef enum\r
+ {\r
+ DISPLAYBRIGHTNESSVIEW = 0, // 屏幕与亮度视图(slice)\r
+ BRIGHTNESSCONTROLVIEW, // 亮度调节视图(subView)\r
+ SCREENDURATIONVIEW, // 亮屏时长视图(subView)\r
+ MAX_DISPLAYBRIGHTNESSVIEWID,\r
+ } DISPLAYBRIGHTNESSVIEWID;\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
#include "components/ui_scroll_view.h"\r
#include "components/ui_checkbox.h"\r
#include "DisplayBrightnessPresenter.h"\r
+#include "displaybrightness/include/BrightnessControlView.h"\r
namespace OHOS\r
{\r
\r
static DisplayBrightnessView *GetInstance(void);\r
void DisplayAndBrightnessViewInit(void);\r
void ClearAll(void);\r
-\r
+ bool ChangeDisplayBrightnessView(int16_t thisView); // 切换到“屏幕与亮度”视图\r
+ bool ChangeBrightnessControlView(int16_t thisView); // 切换到“亮度调节”视图\r
+ bool ChangeScreenDurationView(int16_t thisView); // 切换到亮屏时长视图\r
+ bool ClickFunc(int16_t interface);\r
+ void ChangeView(int16_t hideView, int16_t showView);\r
+ UIScrollView *GetDisplayBrightnessScrollView(int16_t i);\r
public:\r
void OnStart() override;\r
void OnSetUpView() override;\r
void OnTearDownView() override;\r
void OnStop() override;\r
\r
+ private:\r
+ BrightnessControlView *p_BrightnessControlView{nullptr}; // 亮度调节视图\r
private:\r
bool SetUpScrollView(void);\r
bool SetTheTitle(void);\r
bool InitDisplayBrightnessViewImage(void);\r
UICheckBox *SetUpCheckBox(CheckBoxConfig &checkboxconfig); // 设置复选框\r
bool InitDisplayBrightnessViewCheckBox(void);\r
- UIScrollView *scrollView = nullptr;\r
- UILabel *DisplayBrightnessTitleLabel = nullptr; // 显示与亮度标题\r
- UIButton *BringhtnessControlButton = nullptr; // 亮度调节按钮\r
- UIButton *ScreenDurationButton = nullptr; // 亮屏时长按钮\r
- UILabel *BringhtnessControlLabel = nullptr; // 亮度调节标签\r
- UILabel *ScreenDurationLabel = nullptr; // 亮屏时长标签\r
- UILabel *RaiseToBrightnessLabel = nullptr; // 抬腕亮屏标签\r
+ UIScrollView *DisplayBrightnessScrollView[3]{nullptr}; // “3”表示有三个界面\r
+ UILabel *DisplayBrightnessTitleLabel = nullptr; // 显示与亮度标题\r
+ UIButton *BringhtnessControlButton = nullptr; // 亮度调节按钮\r
+ UIButton *ScreenDurationButton = nullptr; // 亮屏时长按钮\r
+ UILabel *BringhtnessControlLabel = nullptr; // 亮度调节标签\r
+ UILabel *ScreenDurationLabel = nullptr; // 亮屏时长标签\r
+ UILabel *RaiseToBrightnessLabel = nullptr; // 抬腕亮屏标签\r
UIImageView *NextImage[2]{nullptr};\r
UIImageView *RaiseToBrightnessImage = nullptr; // 抬腕亮屏图片\r
UICheckBox *RaiseToBrightnessCheckBoxButton = nullptr;\r
#include "displaybrightness/include/BrightnessControlView.h"\r
-#include "displaybrightness/include/BrightnessControlPresenter.h"\r
-#include "UiConfig.h"\r
+#include "displaybrightness/include/DisplayBrightnessPresenter.h"\r
+#include "wearable_log.h"\r
namespace OHOS\r
{\r
-\r
static BrightnessControlView *g_pBrightnessControlView{nullptr};\r
-\r
BrightnessControlView::BrightnessControlView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlView");\r
g_pBrightnessControlView = this;\r
}\r
\r
BrightnessControlView::~BrightnessControlView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::~BrightnessControlView");\r
+ ClearAll();\r
g_pBrightnessControlView = nullptr;\r
- if (container_ != nullptr)\r
- {\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- if (BCslider != nullptr)\r
- {\r
- delete BCslider;\r
- BCslider = nullptr;\r
- }\r
- if (BCimageicon != nullptr)\r
- {\r
- delete BCimageicon;\r
- BCimageicon = nullptr;\r
- }\r
}\r
\r
BrightnessControlView *BrightnessControlView::GetInstance()\r
{\r
-\r
return g_pBrightnessControlView;\r
}\r
- void BrightnessControlView::InitView(void)\r
+\r
+ void BrightnessControlView::ClearAll(void)\r
{\r
- if (container_ == nullptr)\r
+ if (initViewStatus == true)\r
{\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- container_->SetStyle(STYLE_BACKGROUND_COLOR, 0x000000);\r
+ BrightnessControlScrollView->RemoveAll();\r
+\r
+ delete BrightnessControlViewSlider;\r
+ BrightnessControlViewSlider = nullptr;\r
+\r
+ delete BrightnessControlViewImageIcon;\r
+ BrightnessControlViewImageIcon = nullptr;\r
+\r
+ delete BrightnessControlScrollView;\r
+ BrightnessControlScrollView = nullptr;\r
}\r
- draglistener = static_cast<UIView::OnDragListener *>(BrightnessControlPresenter::GetInstance());\r
- container_->SetOnDragListener(draglistener);\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
- /********************************************************************************************************/\r
- if (BCslider == nullptr)\r
+ }\r
+\r
+ // 显示与亮度视图scrollView初始化\r
+ bool BrightnessControlView::SetUpScrollView(void)\r
+ {\r
+ BrightnessControlScrollView = new UIScrollView();\r
+ if (BrightnessControlScrollView == nullptr)\r
{\r
- BCslider = new UISlider();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlScrollView new fail!");\r
+ return false;\r
}\r
- BCslider->SetPosition(167, 77);\r
- BCslider->Resize(130, 310);\r
- BCslider->SetViewId(BRIGHTNESS_CONTROL_SLIDER);\r
- BCslider->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
- BCslider->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- BCslider->SetStyle(STYLE_BORDER_OPA, 0x19);\r
- BCslider->SetStyle(STYLE_BORDER_RADIUS, 100);\r
- BCslider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP);\r
- BCslider->SetValue(20);\r
- BCslider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
- BCslider->SetKnobStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
- BCslider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- BCslider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 圆帽式\r
- BCslider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 设置进度条的前景样式。圆帽式\r
- BCslider->SetStyle(STYLE_BORDER_COLOR, 0xff000000);\r
- sliderClick = static_cast<UIView::OnClickListener *>(BrightnessControlPresenter::GetInstance()); // 用来处理之后点击slider的点击事件\r
- BCslider->SetOnClickListener(sliderClick);\r
- sliderDrag = static_cast<UIView::OnDragListener *>(BrightnessControlPresenter::GetInstance()); // 用来处理之后拖动slider的拖动事件\r
- BCslider->SetOnDragListener(sliderDrag);\r
- container_->Add(BCslider);\r
- BCslider->SetVisible(true);\r
- /********************************************************************************************************/\r
- if (BCimageicon == nullptr)\r
+ BrightnessControlScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(DisplayBrightnessPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
{\r
- BCimageicon = new UIImageView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::draglistener can not be nullptr!");\r
+ return false;\r
}\r
- BCimageicon->SetPosition(213, 213); // widget's left position and top position\r
- BCimageicon->Resize(100, 100); // widget's width and height\r
- BCimageicon->SetViewId("BCimageicon"); // Set style\r
- BCimageicon->SetStyle(STYLE_BORDER_COLOR, 0xffAAAAAA);\r
- BCimageicon->SetSrc(PNG_BRIGHTNESS_CONTROL_VECTOR);\r
-\r
- container_->Add(BCimageicon);\r
- BCimageicon->SetVisible(true);\r
+ BrightnessControlScrollView->SetOnDragListener(draglistener);\r
+ BrightnessControlScrollView->SetTouchable(true);\r
+ BrightnessControlScrollView->SetDraggable(true);\r
+ return true;\r
}\r
\r
- void BrightnessControlView::OnStart()\r
+ // 亮度滑动条设置\r
+ bool BrightnessControlView::SetUpSlider(void)\r
{\r
- View<BrightnessControlPresenter>::OnStart();\r
- InitView();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
+ BrightnessControlViewSlider = new UISlider();\r
+ if (BrightnessControlViewSlider == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlViewSlider new fail");\r
+ return false;\r
+ }\r
+ BrightnessControlViewSlider->SetSliderColor(Color::Gray(), Color::Silver());\r
+ BrightnessControlViewSlider->SetPosition(167, 77, 130, 310);\r
+ BrightnessControlViewSlider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP);\r
+ BrightnessControlViewSlider->SetViewId(BRIGHTNESS_PROGRESS);\r
+ BrightnessControlViewSlider->SetRange(BRIGHTNESS_MAX, BRIGHTNESS_MIN);\r
\r
- void BrightnessControlView::OnSetUpView()\r
- {\r
- View<BrightnessControlPresenter>::OnSetUpView();\r
- Draw();\r
+ BrightnessControlViewSlider->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ BrightnessControlViewSlider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND);\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
+ BrightnessControlViewSlider->SetKnobStyle(StyleDefault::GetSliderKnobStyle());\r
+ return true;\r
}\r
\r
- void BrightnessControlView::OnTearDownView()\r
+ bool BrightnessControlView::SetUpImageView(void)\r
{\r
- View<BrightnessControlPresenter>::OnTearDownView();\r
- return;\r
+ BrightnessControlViewImageIcon = new UIImageView();\r
+ if (BrightnessControlViewImageIcon == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlViewImageIcon new fail");\r
+ return false;\r
+ }\r
+ BrightnessControlViewImageIcon->SetPosition(213, 213, 40, 40);\r
+ const char *image = "/user/res/VolumeControlVector.bin";\r
+ BrightnessControlViewImageIcon->SetSrc(image);\r
+ return true;\r
}\r
\r
- void BrightnessControlView::OnStop()\r
+ // 亮度调节视图初始化\r
+ UIScrollView *BrightnessControlView::BrightnessControlViewInit(void)\r
{\r
- View<BrightnessControlPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
+ /* ----------------------- BrightnessControlScrollView ---------------------- */\r
+ if (!SetUpScrollView())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlScrollView is nullptr!");\r
+ return nullptr;\r
+ }\r
+\r
+ /* ----------------------- BrightnessControlViewSlider ---------------------- */\r
+ if (!SetUpSlider())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlViewSlider is nullptr!");\r
+ return nullptr;\r
+ }\r
+\r
+ /* ------------------------------- BrightnessControlViewImageIcon ------------------------------ */\r
+ if (!SetUpImageView())\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BrightnessControlView::BrightnessControlViewImageIcon is nullptr!");\r
+ return nullptr;\r
+ }\r
+\r
+ /* ----------------------------------- Add ---------------------------------- */\r
+ BrightnessControlScrollView->Add(BrightnessControlViewSlider);\r
+ BrightnessControlScrollView->Add(BrightnessControlViewImageIcon);\r
+ initViewStatus = true;\r
+ return BrightnessControlScrollView;\r
}\r
+\r
}\r
\r
bool DisplayBrightnessPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
+ DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance();\r
// 根据控件id查找是哪个控件触发了点击回调\r
if (strcmp(view.GetViewId(), BRINGHTNESSCONTROLBUTTON_VIEW) == 0)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BRIGHTNESS_CONTROL); // 亮度调节\r
+ p_DisplayBrightnessView->ChangeView(DISPLAYBRIGHTNESSVIEW, BRIGHTNESSCONTROLVIEW); // 切换到亮度调节视图\r
return true;\r
}\r
if (strcmp(view.GetViewId(), SCREENDURATIONBUTTON_VIEWID) == 0)\r
\r
bool DisplayBrightnessPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
+ DisplayBrightnessView *p_DisplayBrightnessView = DisplayBrightnessView::GetInstance();\r
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+ for (int i = 0; i < MAX_DISPLAYBRIGHTNESSVIEWID; i++)\r
+ {\r
+ if (p_DisplayBrightnessView->GetDisplayBrightnessScrollView(i)->IsVisible() == true)\r
+ {\r
+ if (i == DISPLAYBRIGHTNESSVIEW)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+ }\r
+ else\r
+ {\r
+ p_DisplayBrightnessView->ChangeView(i, DISPLAYBRIGHTNESSVIEW);\r
+ }\r
+ break;\r
+ }\r
+ }\r
+ return true;\r
}\r
- return true;\r
+ return false;\r
}\r
\r
bool DisplayBrightnessPresenter::OnChange(UICheckBox::UICheckBoxState state)\r
{\r
if (initViewStatus == true)\r
{\r
- scrollView->RemoveAll();\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->RemoveAll();\r
\r
delete DisplayBrightnessTitleLabel;\r
DisplayBrightnessTitleLabel = nullptr;\r
delete RaiseToBrightnessCheckBoxButton;\r
RaiseToBrightnessCheckBoxButton = nullptr;\r
\r
- delete scrollView;\r
- scrollView = nullptr;\r
+ delete p_BrightnessControlView;\r
+ p_BrightnessControlView = nullptr;\r
+\r
+ delete DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW];\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] = nullptr;\r
}\r
}\r
\r
// 显示与亮度视图scrollView初始化\r
bool DisplayBrightnessView::SetUpScrollView(void)\r
{\r
- scrollView = new UIScrollView();\r
- if (scrollView == nullptr)\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] = new UIScrollView();\r
+ if (DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::scrollView new fail!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] new fail!");\r
return false;\r
}\r
- scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- scrollView->SetScrollBlankSize(35);\r
- scrollView->SetReboundSize(50);\r
- scrollView->SetDirection(1);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetScrollBlankSize(35);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetReboundSize(50);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetDirection(1);\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(DisplayBrightnessPresenter::GetInstance());\r
if (draglistener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::draglistener can not be nullptr!");\r
return false;\r
}\r
- scrollView->SetOnDragListener(draglistener);\r
- scrollView->SetTouchable(true);\r
- scrollView->SetDraggable(true);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetOnDragListener(draglistener);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetTouchable(true);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->SetDraggable(true);\r
return true;\r
}\r
\r
UIButton *button = new UIButton();\r
if (button == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new fail!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " DisplayBrightnessView::SetTheButton: button new fail!");\r
return nullptr;\r
}\r
button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
checkbox->SetPosition(checkboxconfig.x, checkboxconfig.y, checkboxconfig.w, checkboxconfig.h);\r
checkbox->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
checkbox->SetViewId(checkboxconfig.ViewId);\r
- checkbox->SetImages(checkboxconfig.select,checkboxconfig.unselect);\r
+ checkbox->SetImages(checkboxconfig.select, checkboxconfig.unselect);\r
return checkbox;\r
}\r
\r
initViewStatus = true;\r
}\r
\r
+ UIScrollView *DisplayBrightnessView::GetDisplayBrightnessScrollView(int16_t i)\r
+ {\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
+ // 1.切换到“屏幕与亮度”视图\r
+ bool DisplayBrightnessView::ChangeDisplayBrightnessView(int16_t thisView)\r
+ {\r
+ if (DisplayBrightnessScrollView[thisView] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ChangeDisplayBrightnessView");\r
+ RootView::GetInstance()->Add(DisplayBrightnessScrollView[thisView]);\r
+ }\r
+ return true;\r
+ }\r
+\r
+ // 2.切换到“亮度调节”视图\r
+ bool DisplayBrightnessView::ChangeBrightnessControlView(int16_t thisView)\r
+ {\r
+ if (DisplayBrightnessScrollView[thisView] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView::ChangeBrightnessControlView");\r
+ p_BrightnessControlView = new BrightnessControlView();\r
+ if (p_BrightnessControlView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: new scrollView[%d] fail", thisView);\r
+ return false;\r
+ }\r
+ DisplayBrightnessScrollView[thisView] = p_BrightnessControlView->BrightnessControlViewInit();\r
+ RootView::GetInstance()->Add(DisplayBrightnessScrollView[thisView]);\r
+ }\r
+ return true;\r
+ }\r
+\r
+ // 3.切换到“亮屏时长”视图\r
+ bool DisplayBrightnessView::ChangeScreenDurationView(int16_t thisView)\r
+ {\r
+ }\r
+\r
+ /* -------------------------------------------------------------------------- */\r
+ // 1.DisplayBrightnessViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
+ struct DisplayBrightnessViewMapper\r
+ {\r
+ const int16_t viewId;\r
+ bool (DisplayBrightnessView::*func)(int16_t thisView);\r
+ };\r
+\r
+ // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与DisplayBrightnessViewMapper类中的特定成员函数指针进行了绑定。\r
+ static const DisplayBrightnessViewMapper ViewMapper[] = {\r
+ {DISPLAYBRIGHTNESSVIEW, &DisplayBrightnessView::ChangeDisplayBrightnessView},\r
+ {BRIGHTNESSCONTROLVIEW, &DisplayBrightnessView::ChangeBrightnessControlView},\r
+ {SCREENDURATIONVIEW, &DisplayBrightnessView::ChangeScreenDurationView},\r
+ };\r
+\r
+ // 3.根据传入的interface参数执行相应视图ID关联的成员函数。\r
+ bool DisplayBrightnessView::ClickFunc(int16_t interface)\r
+ {\r
+ int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[0]);\r
+ for (int i = 0; i < funcSize; i++)\r
+ {\r
+ if (interface == ViewMapper[i].viewId)\r
+ {\r
+ bool jug = (this->*(ViewMapper[i].func))(interface);\r
+ if (jug == false)\r
+ {\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+\r
+ // 4.切换视图\r
+ void DisplayBrightnessView::ChangeView(int16_t hideView, int16_t showView)\r
+ {\r
+ if (hideView > MAX_DISPLAYBRIGHTNESSVIEWID)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: SystemViewId Overstep ones bounds");\r
+ return;\r
+ }\r
+ DisplayBrightnessScrollView[hideView]->SetVisible(false);\r
+ ClickFunc(showView);\r
+ DisplayBrightnessScrollView[showView]->SetVisible(true);\r
+ Draw();\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
+\r
void DisplayBrightnessView::OnStart()\r
{\r
View<DisplayBrightnessPresenter>::OnStart();\r
void DisplayBrightnessView::OnSetUpView()\r
{\r
View<DisplayBrightnessPresenter>::OnSetUpView();\r
- if (scrollView == nullptr)\r
+ if (DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW] == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessView:: OnSetUpView has nullptr");\r
return;\r
}\r
- scrollView->Add(DisplayBrightnessTitleLabel);\r
- scrollView->Add(BringhtnessControlButton);\r
- scrollView->Add(ScreenDurationButton);\r
- scrollView->Add(BringhtnessControlLabel);\r
- scrollView->Add(ScreenDurationLabel);\r
- scrollView->Add(NextImage[0]);\r
- scrollView->Add(NextImage[1]);\r
- scrollView->Add(RaiseToBrightnessImage);\r
- scrollView->Add(RaiseToBrightnessLabel);\r
- scrollView->Add(RaiseToBrightnessCheckBoxButton);\r
- RootView::GetInstance()->Add(scrollView);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(DisplayBrightnessTitleLabel);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlButton);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationButton);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(BringhtnessControlLabel);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(ScreenDurationLabel);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[0]);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(NextImage[1]);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessImage);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessLabel);\r
+ DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]->Add(RaiseToBrightnessCheckBoxButton);\r
+ RootView::GetInstance()->Add(DisplayBrightnessScrollView[DISPLAYBRIGHTNESSVIEW]);\r
Draw();\r
}\r
\r
SUPERVISEVIEW, // 监管视图(subView)\r
SYSTEMLANGUAGEVIEW, // 系统语言视图(subView)\r
FACTORYRESETVIEW, // 恢复出厂设置视图(subView)\r
- MAX_VIEWID,\r
- } SYSTEMVIEWId;\r
+ MAX_SYSTEMVIEWID,\r
+ } SYSTEMVIEWID;\r
\r
/* ---------------------------- 系统语言界面单选按钮VIEWID ---------------------------- */\r
static const char *SIMPLIFIED_CHINESE_CHECKBOX = "SimplifiedChineseCheckBox"; // 简体中文\r
};\r
\r
class SystemView;\r
- class UISampleModel;\r
class SystemPresenter : public Presenter<SystemView>,\r
public UIView::OnClickListener,\r
public UIView::OnDragListener\r
SystemView *p_SystemView = SystemView::GetInstance();\r
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
{\r
- for (int i = 1; i < MAX_VIEWID; i++)\r
+ for (int i = 1; i < MAX_SYSTEMVIEWID; i++)\r
{\r
if (p_SystemView->GetSystemScrollView(i)->IsVisible() == true)\r
{\r
// 4.切换视图\r
void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
{\r
- if (hideView > MAX_VIEWID)\r
+ if (hideView > MAX_SYSTEMVIEWID)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
return;\r