From: 罗正yun <1732036298@qq.com> Date: Tue, 23 Jan 2024 10:23:18 +0000 (+0800) Subject: 屏幕与亮度视图添加 X-Git-Tag: release_V1.2.70_20241020_135402~1336^2 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=d0c4982f978456b3b31662ee86a640d05c32caa0;p=mirrors%2FFD230.git 屏幕与亮度视图添加 --- diff --git a/code/sdk/application/wearable/nativeapp/CMakeLists.txt b/code/sdk/application/wearable/nativeapp/CMakeLists.txt index 319d1d1e0..c41724743 100755 --- a/code/sdk/application/wearable/nativeapp/CMakeLists.txt +++ b/code/sdk/application/wearable/nativeapp/CMakeLists.txt @@ -230,7 +230,15 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/MediaVolumePresenter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/MediaVolumeView.cpp - + ${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 + + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/compass/src/CompassControlView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/compass/src/CompassCalibrationView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/compass/src/CompassModel.cpp diff --git a/code/sdk/application/wearable/nativeapp/nativelauncher/include/AppViewIDs.h b/code/sdk/application/wearable/nativeapp/nativelauncher/include/AppViewIDs.h index 277935e33..cc5c74a01 100755 --- a/code/sdk/application/wearable/nativeapp/nativelauncher/include/AppViewIDs.h +++ b/code/sdk/application/wearable/nativeapp/nativelauncher/include/AppViewIDs.h @@ -52,6 +52,9 @@ typedef enum : uint16_t VIEW_SYSTEM_VOLUME, // 系统音量 VIEW_CALL_VOLUME, // 通话音量 VIEW_MEDIA_VOLUME, // 媒体音量 + VIEW_DISPLAY_BRIGHTNESS, // 屏幕与亮度 + VIEW_BRIGHTNESS_CONTROL, // 亮度调节 + VIEW_SCREEN_DURATION, // 亮屏时长 /* ---------------------------------- 测试界面 ---------------------------------- */ VIEW_MESSAGE, // 信息通知 /* -------------------------------------------------------------------------- */ diff --git a/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h b/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h index 6b5b1757c..beb6b22dd 100755 --- a/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h +++ b/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h @@ -57,7 +57,11 @@ namespace OHOS void InitSystemVolumeSlice(void); void InitCallVolumeSlice(void); void InitMediaVolumeSlice(void); - void InitMessageSlice(void); + void InitMessageSlice(void); + /* -------------------------------------------------------------------------- */ + void InitUIDisplayBrightnessSlice(void); + void InitBrightnessControlSlice(void); + void InitScreenDurationSlice(void); private: void InitAllNativeSlices(void); diff --git a/code/sdk/application/wearable/nativeapp/nativelauncher/include/UiConfig.h b/code/sdk/application/wearable/nativeapp/nativelauncher/include/UiConfig.h index 3362b9131..27aa05f9f 100755 --- a/code/sdk/application/wearable/nativeapp/nativelauncher/include/UiConfig.h +++ b/code/sdk/application/wearable/nativeapp/nativelauncher/include/UiConfig.h @@ -212,6 +212,7 @@ namespace OHOS static constexpr const char *PNG_SETTING_NEXT_IMAGE = APP_RES_PATH "/SETTING_NEXT.bin"; // 箭头图片 static constexpr const char *PNG_SETTING_BACKGROUND_IMAGE = APP_RES_PATH "/SETTING_BACKGROUND.bin"; // 按钮的背景图片 static constexpr const char *PNG_VOLUME_CONTROL_VECTOR = APP_RES_PATH "/VolumeControlVector.bin"; // 调节音量图片 + static constexpr const char *PNG_BRIGHTNESS_CONTROL_VECTOR = APP_RES_PATH "/BringhtnessContuolVector.bin"; // 调节亮度图片 static constexpr const char *PNG_SYSTEM_CHECK_ON_IMAGE = APP_RES_PATH "/SYSTEM_CheckOn.bin"; // 勾 static constexpr const char *PNG_SYSTEM_CHECK_OFF_IMAGE = APP_RES_PATH "/SYSTEM_CheckOff.bin"; // 叉 static constexpr const char *PNG_TOGGLEBUTTON_OFF_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_OFF.bin"; // togglebuttton未选中图片 diff --git a/code/sdk/application/wearable/nativeapp/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/nativeapp/nativelauncher/src/NativeLauncher.cpp index 3aeee45b3..6c4662908 100755 --- a/code/sdk/application/wearable/nativeapp/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/nativeapp/nativelauncher/src/NativeLauncher.cpp @@ -81,6 +81,13 @@ #include "soundandvibration/include/SystemVolumePresenter.h" #include "soundandvibration/include/SystemVolumeView.h" +#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" + #include "message/include/MessageAdapter.h" #include "message/include/MessageView.h" #include "message/include/MessageItemView.h" @@ -131,6 +138,10 @@ namespace OHOS {VIEW_SOUND_VIBRATION, &NativeLauncher::InitSoundAndVibrationSlice}, // 声音与震动实例化地址 {VIEW_SYSTEM_VOLUME, &NativeLauncher::InitSystemVolumeSlice}, // 系统音量 + {VIEW_DISPLAY_BRIGHTNESS, &NativeLauncher::InitUIDisplayBrightnessSlice}, // 显示与亮度的实例化地址 + {VIEW_BRIGHTNESS_CONTROL, &NativeLauncher::InitBrightnessControlSlice}, // 调节亮度的实例化地址 + {VIEW_SCREEN_DURATION, &NativeLauncher::InitScreenDurationSlice}, // 亮屏时长实例化地址 + {VIEW_MESSAGE, &NativeLauncher::InitMessageSlice}, #if 0 @@ -493,8 +504,8 @@ namespace OHOS SliceProxy *messageview = new AbilitySliceProxy; if (messageview == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageView is nullptr"); - return; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MessageView is nullptr"); + return; } NativeAbility::GetInstance().AddSliceProxy(VIEW_MESSAGE, messageview); } @@ -518,5 +529,37 @@ namespace OHOS } NativeAbility::GetInstance().AddSliceProxy(VIEW_SYSTEM_VOLUME, systemvolume); } - + + // DisplayBrightness的实例化 + void NativeLauncher::InitUIDisplayBrightnessSlice(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitUISampleSlice"); + SliceProxy *uidisplaybrightnessView = new AbilitySliceProxy; + if (uidisplaybrightnessView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uidisplaybrightnessView"); + return; + } + NativeAbility::GetInstance().AddSliceProxy(VIEW_DISPLAY_BRIGHTNESS, uidisplaybrightnessView); + } + + void NativeLauncher::InitBrightnessControlSlice(void) + { + SliceProxy *brightnesscontrol = new AbilitySliceProxy; + if (brightnesscontrol == nullptr) + { + return; + } + NativeAbility::GetInstance().AddSliceProxy(VIEW_BRIGHTNESS_CONTROL, brightnesscontrol); + } + + void NativeLauncher::InitScreenDurationSlice(void) + { + SliceProxy *ScreenDuration = new AbilitySliceProxy; + if (ScreenDuration == nullptr) + { + return; + } + NativeAbility::GetInstance().AddSliceProxy(VIEW_SCREEN_DURATION, ScreenDuration); + } } diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlPresenter.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlPresenter.h new file mode 100644 index 000000000..33f35b322 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlPresenter.h @@ -0,0 +1,37 @@ +#ifndef BRIGHTNESS_CONTROL_PRESENTER_H +#define BRIGHTNESS_CONTROL_PRESENTER_H + + +#include "Presenter.h" + +#include "BrightnessControlView.h" + +namespace OHOS +{ + class BrightnessControlView; + + class BrightnessControlPresenter : public Presenter, + public UIView::OnClickListener, + public UIView::OnDragListener + { + public: + BrightnessControlPresenter(); + virtual ~BrightnessControlPresenter(); + + void OnStart() override; + void OnPause() override; + void OnResume() override; + void OnStop() override; + + static BrightnessControlPresenter *GetInstance(); + + private: + //因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; + bool OnClick(UIView &view, const ClickEvent &event) override; + bool OnDrag(UIView &view, const DragEvent &event) override; + }; +} //namespace OHOS + + + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlView.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlView.h new file mode 100644 index 000000000..fd1491626 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/BrightnessControlView.h @@ -0,0 +1,43 @@ +#ifndef BRIGHTNESS_CONTROL_VIEW_H +#define BRIGHTNESS_CONTROL_VIEW_H + +#include "BaseView.h" +#include "View.h" + +#include "components/ui_view_group.h" +#include "components/ui_slider.h" +#include "components/ui_image_view.h" +namespace OHOS +{ + static const char *BRIGHTNESS_CONTROL_SLIDER = "BCslider"; + + class BrightnessControlPresenter; + class BrightnessControlView : public View{ + + public: + BrightnessControlView(); + virtual ~BrightnessControlView(); + static BrightnessControlView *GetInstance(void); + + void OnStart() override; + void OnSetUpView() override; + void OnTearDownView() override; + void OnStop() override; + + private: + UIView::OnDragListener *draglistener{nullptr}; + UIView::OnClickListener *sliderClick{nullptr}; + UIView::OnDragListener *sliderDrag{nullptr}; + void InitView(void); + + UIViewGroup* container_ = nullptr; + UISlider* BCslider = nullptr; + UIImageView* BCimageicon = nullptr; + }; +} //namespace OHOS + + + + + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessModel.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessModel.h new file mode 100644 index 000000000..f733ec336 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessModel.h @@ -0,0 +1,9 @@ +#ifndef _DISPLAY_BRIGHTNESS_MODEL_H_ +#define _DISPLAY_BRIGHTNESS_MODEL_H_ + + + + + + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h new file mode 100644 index 000000000..f75f34239 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h @@ -0,0 +1,34 @@ +#ifndef _DISPLAY_BRIGHTNESS_PRESENTER_H +#define _DISPLAY_BRIGHTNESS_PRESENTER_H + +/*显示与亮度*/ +#include "Presenter.h" +#include "DisplayBrightnessView.h" + +namespace OHOS +{ + class DisplayBrightnessView; + + class DisplayBrightnessPresenter : public Presenter, + public UIView::OnClickListener, + public UIView::OnDragListener + { + public: + DisplayBrightnessPresenter(); + virtual ~DisplayBrightnessPresenter(); + + void OnStart() override; + void OnPause() override; + void OnResume() override; + void OnStop() override; + + static DisplayBrightnessPresenter *GetInstance(); + + private: + //因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; + bool OnClick(UIView &view, const ClickEvent &event) override; + bool OnDrag(UIView &view, const DragEvent &event) override; + }; +} //namespace OHOS + +#endif //_DisplayBrightness_PRESENTER_H diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessView.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessView.h new file mode 100644 index 000000000..7ff8c81e9 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/DisplayBrightnessView.h @@ -0,0 +1,50 @@ +#ifndef _DISPLAY_BRIGHTNESS_VIEW_H +#define _DISPLAY_BRIGHTNESS_VIEW_H + +#include "BaseView.h" +#include "View.h" +#include "components/ui_view_group.h" +#include "components/ui_label.h" +#include "components/ui_image_view.h" +#include "components/ui_button.h" +#include "components/ui_scroll_view.h" +#include "components/ui_checkbox.h" +#include "components/ui_toggle_button.h" +#include "DisplayBrightnessPresenter.h" +namespace OHOS +{ + + class DisplayBrightnessPresenter; + class DisplayBrightnessView : public View + { + public: + DisplayBrightnessView(); + virtual ~DisplayBrightnessView(); + static DisplayBrightnessView *GetInstance(void); + + void OnStart() override; + void OnSetUpView() override; + void OnTearDownView() override; + void OnStop() override; + + private: + UIView::OnDragListener *draglistener{nullptr}; + void Init(void); + + UIViewGroup *DisplayBrightness_container = nullptr; + UIScrollView *DisplayBrightness_scrollView = nullptr; + UIButton *ScreenDuration_Button = nullptr; + UIButton *BringhtnessControl_Button = nullptr; + UILabel *BringhtnessContuol_Label = nullptr; + UIImageView *BringhtnessContuol_Image = nullptr; + UIImageView *ScreenDuration_Image = nullptr; + UIImageView *imag =nullptr; + UIImageView *imag1 =nullptr; + UIImageView *RaiseToBrightness_Image = nullptr; + UICheckBox *RaiseToBrightness_CheckBoxButton = nullptr; + UILabel *RaiseToBrightness_Label = nullptr; + UILabel *ScreenDuration_Label = nullptr; + UILabel *DisplayBrightness_Label = nullptr; + }; +} // namespace OHOS +#endif // DisplayBrightness_PRESENTER_H diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationPresenter.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationPresenter.h new file mode 100644 index 000000000..6d028fab4 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationPresenter.h @@ -0,0 +1,44 @@ +#ifndef SCREEN_DUATION_PRESENTER_H +#define SCREEN_DUATION_PRESENTER_H + +#include "Presenter.h" + +#include "ScreenDurationView.h" +#include "components/ui_checkbox.h" +#include "components/ui_label.h" +namespace OHOS +{ + class ScreenDurationView; + + class ScreenDurationPresenter : public Presenter, + public UIView::OnClickListener, + public UIView::OnDragListener + { + public: + ScreenDurationPresenter(); + virtual ~ScreenDurationPresenter(); + + void OnStart() override; + void OnPause() override; + void OnResume() override; + void OnStop() override; + static ScreenDurationPresenter *GetInstance(); + void getcheckbox(UICheckBox *checkbox_5,UICheckBox *checkbox_10,UICheckBox *checkbox_15){ + m_checkbox_5 = checkbox_5; + m_checkbox_10 = checkbox_10; + m_checkbox_15 = checkbox_15; + } + void UpdateCheckBoxState(UICheckBox &checkbox, bool isSelected); + private: + // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; + bool OnClick(UIView &view, const ClickEvent &event) override; + bool OnDrag(UIView &view, const DragEvent &event) override; + + private: + UICheckBox *m_checkbox_5 = nullptr; + UICheckBox *m_checkbox_10 = nullptr; + UICheckBox *m_checkbox_15 = nullptr; + }; +} // namespace OHOS + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationView.h b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationView.h new file mode 100644 index 000000000..2b99b6481 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/include/ScreenDurationView.h @@ -0,0 +1,45 @@ +#ifndef SCREEN_DUATION_VIEW_H +#define SCREEN_DUATION_VIEW_H +//屏幕时长 +#include "BaseView.h" +#include "View.h" +#include "components/ui_view_group.h" +#include "components/ui_scroll_view.h" +#include "components/ui_image_view.h" +#include "components/ui_label.h" +#include "components/ui_checkbox.h" +namespace OHOS +{ + static const char *SECOND5_CHECKBOX = "5secCheckbox"; // 5秒 + static const char *SECOND10_CHECKBOX = "10secCheckbox"; // 10秒 + static const char *SECOND15_CHECKBOX = "15secCheckbox"; // 15秒 + class ScreenDurationPresenter; + class ScreenDurationView : public View + { + + public: + ScreenDurationView(); + virtual ~ScreenDurationView(); + static ScreenDurationView *GetInstance(void); + + void OnStart() override; + void OnSetUpView() override; + void OnTearDownView() override; + void OnStop() override; + + public: + UICheckBox *second5checkbox = nullptr; + UICheckBox *second10checkbox = nullptr; + UICheckBox *second15checkbox = nullptr; + + private: + void InitView(void); + + private: + UIViewGroup *container_ = nullptr; + UIScrollView *ScreenDurationScrollView = nullptr; + UILabel *ScreenDurationLabel = nullptr; + }; +} // namespace OHOS + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlPresenter.cpp new file mode 100644 index 000000000..c9ffc6f64 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlPresenter.cpp @@ -0,0 +1,77 @@ +#include "AppViewIDs.h" +#include "NativeAbility.h" +#include "graphic_math.h" +#include "string.h" +#include "displaybrightness/include/BrightnessControlPresenter.h" + +namespace OHOS{ + + //当前Presenter属性实例化的内存指针 + static BrightnessControlPresenter *g_pBrightnessControlPresenter = nullptr; + + BrightnessControlPresenter::BrightnessControlPresenter(){ + + g_pBrightnessControlPresenter = this; + } + + BrightnessControlPresenter::~BrightnessControlPresenter(){ + + g_pBrightnessControlPresenter = nullptr; + } + + BrightnessControlPresenter *BrightnessControlPresenter::GetInstance(){ + + return g_pBrightnessControlPresenter; + } + + void BrightnessControlPresenter::OnStart(){ + + Presenter::OnStart(); + } + + void BrightnessControlPresenter::OnPause(void){ + + Presenter::OnPause(); + } + + void BrightnessControlPresenter::OnResume(void){ + + Presenter::OnResume(); + } + + void BrightnessControlPresenter::OnStop(void){ + + Presenter::OnStop(); + } + + bool BrightnessControlPresenter::OnDrag(UIView &view, const DragEvent &event){ + + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && + (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_DISPLAY_BRIGHTNESS);//跳转到显示与亮度view + } + if(strcmp(view.GetViewId(), BRIGHTNESS_CONTROL_SLIDER)) + { + + } + return true; + } + + bool BrightnessControlPresenter::OnClick(UIView &view, const ClickEvent &event){ + + // 根据控件id查找是哪个控件触发了点击回调 + // if (strcmp(view.GetViewId(), 控件ID) == 0) + if(strcmp(view.GetViewId(), BRIGHTNESS_CONTROL_SLIDER)) + { + + } + return true; + } +} + + + + + + diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlView.cpp new file mode 100644 index 000000000..62af8707d --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/BrightnessControlView.cpp @@ -0,0 +1,118 @@ +#include "displaybrightness/include/BrightnessControlView.h" +#include "displaybrightness/include/BrightnessControlPresenter.h" +#include "UiConfig.h" +namespace OHOS +{ + + static BrightnessControlView *g_pBrightnessControlView{nullptr}; + + BrightnessControlView::BrightnessControlView() + { + g_pBrightnessControlView = this; + } + + BrightnessControlView::~BrightnessControlView() + { + g_pBrightnessControlView = nullptr; + if (container_ != nullptr) + { + delete container_; + container_ = nullptr; + } + if (BCslider != nullptr) + { + delete BCslider; + BCslider = nullptr; + } + if (BCimageicon != nullptr) + { + delete BCimageicon; + BCimageicon = nullptr; + } + } + + BrightnessControlView *BrightnessControlView::GetInstance() + { + + return g_pBrightnessControlView; + } + void BrightnessControlView::InitView(void) + { + if (container_ == nullptr) + { + container_ = new UIViewGroup(); + container_->SetPosition(0, 0, 466, 466); + container_->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + container_->SetStyle(STYLE_BACKGROUND_COLOR, 0x000000); + } + draglistener = static_cast(BrightnessControlPresenter::GetInstance()); + container_->SetOnDragListener(draglistener); + container_->SetTouchable(true); + container_->SetDraggable(true); + /********************************************************************************************************/ + if (BCslider == nullptr) + { + BCslider = new UISlider(); + } + BCslider->SetPosition(167, 77); + BCslider->Resize(130, 310); + BCslider->SetViewId(BRIGHTNESS_CONTROL_SLIDER); + BCslider->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + BCslider->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + BCslider->SetStyle(STYLE_BORDER_OPA, 0x19); + BCslider->SetStyle(STYLE_BORDER_RADIUS, 100); + BCslider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP); + BCslider->SetValue(20); + BCslider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff)); + BCslider->SetKnobStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + BCslider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff); + BCslider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 圆帽式 + BCslider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 设置进度条的前景样式。圆帽式 + BCslider->SetStyle(STYLE_BORDER_COLOR, 0xff000000); + sliderClick = static_cast(BrightnessControlPresenter::GetInstance()); // 用来处理之后点击slider的点击事件 + BCslider->SetOnClickListener(sliderClick); + sliderDrag = static_cast(BrightnessControlPresenter::GetInstance()); // 用来处理之后拖动slider的拖动事件 + BCslider->SetOnDragListener(sliderDrag); + container_->Add(BCslider); + BCslider->SetVisible(true); + /********************************************************************************************************/ + if (BCimageicon == nullptr) + { + BCimageicon = new UIImageView(); + } + BCimageicon->SetPosition(213, 213); // widget's left position and top position + BCimageicon->Resize(100, 100); // widget's width and height + BCimageicon->SetViewId("BCimageicon"); // Set style + BCimageicon->SetStyle(STYLE_BORDER_COLOR, 0xffAAAAAA); + BCimageicon->SetSrc(PNG_BRIGHTNESS_CONTROL_VECTOR); + + container_->Add(BCimageicon); + BCimageicon->SetVisible(true); + } + + void BrightnessControlView::OnStart() + { + View::OnStart(); + InitView(); + RootView::GetInstance()->Add(container_); + } + + void BrightnessControlView::OnSetUpView() + { + View::OnSetUpView(); + Draw(); + } + + void BrightnessControlView::OnTearDownView() + { + View::OnTearDownView(); + return; + } + + void BrightnessControlView::OnStop() + { + View::OnStop(); + RootView::GetInstance()->RemoveAll(); + return; + } +} diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp new file mode 100644 index 000000000..5a94007f2 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp @@ -0,0 +1 @@ +#include "displaybrightness/include/DisplayBrightnessModel.h" \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp new file mode 100644 index 000000000..e8b18ae28 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp @@ -0,0 +1,80 @@ +#include "AppViewIDs.h" +#include "NativeAbility.h" +#include "graphic_math.h" +#include "string.h" +#include "displaybrightness/include/DisplayBrightnessPresenter.h" + +namespace OHOS +{ + // 当前Presenter属性实例化的内存指针 + static DisplayBrightnessPresenter *g_pDisplayBrightnessPresenter = nullptr; + + DisplayBrightnessPresenter::DisplayBrightnessPresenter() + { + + g_pDisplayBrightnessPresenter = this; + } + + DisplayBrightnessPresenter::~DisplayBrightnessPresenter() + { + + g_pDisplayBrightnessPresenter = nullptr; + } + + DisplayBrightnessPresenter *DisplayBrightnessPresenter::GetInstance() + { + + return g_pDisplayBrightnessPresenter; + } + + void DisplayBrightnessPresenter::OnStart() + { + + Presenter::OnStart(); + } + + void DisplayBrightnessPresenter::OnPause(void) + { + + Presenter::OnPause(); + } + + void DisplayBrightnessPresenter::OnResume(void) + { + + Presenter::OnResume(); + } + + void DisplayBrightnessPresenter::OnStop(void) + { + Presenter::OnStop(); + } + + bool DisplayBrightnessPresenter::OnDrag(UIView &view, const DragEvent &event) + { + + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && + (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + return true; + } + return false; + } + + bool DisplayBrightnessPresenter::OnClick(UIView &view, const ClickEvent &event) + { + // 根据控件id查找是哪个控件触发了点击回调 + if (strcmp(view.GetViewId(), "BringhtnessControl_Button") == 0) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_BRIGHTNESS_CONTROL);//亮度调节 + return true; + } + if(strcmp(view.GetViewId(), "ScreenDuration_Button") == 0) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_SCREEN_DURATION); //亮屏时长 + return true; + } + return false; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessView.cpp new file mode 100644 index 000000000..79c73879f --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/DisplayBrightnessView.cpp @@ -0,0 +1,284 @@ +#include "displaybrightness/include/DisplayBrightnessView.h" + +#include "common/image_cache_manager.h" +#include "UiConfig.h" +#include "ui_resource_image.h" + +namespace OHOS +{ + static DisplayBrightnessView *g_pDisplayBrightnessView{nullptr}; + + DisplayBrightnessView::DisplayBrightnessView() + { + + g_pDisplayBrightnessView = this; + } + + DisplayBrightnessView::~DisplayBrightnessView() + { + g_pDisplayBrightnessView = nullptr; + } + + DisplayBrightnessView *DisplayBrightnessView::GetInstance() + { + + return g_pDisplayBrightnessView; + } + + void DisplayBrightnessView::Init() + { + /***********************************************************************************************************/ + // Add ScrollView to App + if (DisplayBrightness_scrollView == nullptr) + { + DisplayBrightness_scrollView = new UIScrollView(); + } + DisplayBrightness_scrollView->SetPosition(0, 0); + DisplayBrightness_scrollView->Resize(466, 466); + DisplayBrightness_scrollView->SetViewId("DisplayBrightness_scrollView"); + DisplayBrightness_scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + DisplayBrightness_scrollView->SetVisible(true); + DisplayBrightness_scrollView->SetVerticalScrollState(true); // 设置纵向是否可滚动。 + /***********************************************************************************************************/ + if (imag1 == nullptr) + { + imag1 = new UIImageView(); + } + imag1->SetPosition(158, 0); + imag1->SetViewId("imag1"); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(imag1); + // Add Label to App + if (DisplayBrightness_Label == nullptr) + { + DisplayBrightness_Label = new UILabel(); + } + DisplayBrightness_Label->SetPosition(158, 52); + DisplayBrightness_Label->Resize(150, 35); + DisplayBrightness_Label->SetViewId("DisplayBrightness_Label"); + DisplayBrightness_Label->SetStyle(STYLE_TEXT_FONT, 30); + DisplayBrightness_Label->SetStyle(STYLE_LINE_HEIGHT, 35); + // Set additional property + DisplayBrightness_Label->SetText("显示与亮度"); + DisplayBrightness_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + DisplayBrightness_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + DisplayBrightness_Label->SetRollSpeed(6); + DisplayBrightness_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + // Add to rootView + DisplayBrightness_scrollView->Add(DisplayBrightness_Label); + DisplayBrightness_Label->SetVisible(true); + /***********************************************************************************************************/ + // Add Button to App + if (BringhtnessControl_Button == nullptr) + { + BringhtnessControl_Button = new UIButton(); + } + BringhtnessControl_Button->SetPosition(43, 120); + BringhtnessControl_Button->Resize(380, 100); + BringhtnessControl_Button->SetViewId("BringhtnessControl_Button"); // 亮度调节按钮 + BringhtnessControl_Button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); + BringhtnessControl_Button->SetImageSrc(PNG_SETTING_BACKGROUND_IMAGE, nullptr); + BringhtnessControl_Button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); + BringhtnessControl_Button->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED); + UIView::OnClickListener *BCButton = static_cast(DisplayBrightnessPresenter::GetInstance()); + BringhtnessControl_Button->SetOnClickListener(BCButton); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(BringhtnessControl_Button); + BringhtnessControl_Button->SetVisible(true); + /***********************************************************************************************************/ + // Add Label to App + if (BringhtnessContuol_Label == nullptr) + { + BringhtnessContuol_Label = new UILabel(); + } + BringhtnessContuol_Label->SetPosition(90, 153); + BringhtnessContuol_Label->Resize(200, 60); + BringhtnessContuol_Label->SetViewId("BringhtnessContuol_Label"); + BringhtnessContuol_Label->SetStyle(STYLE_TEXT_FONT, 30); + BringhtnessContuol_Label->SetStyle(STYLE_LINE_HEIGHT, 35); + // Set additional property + BringhtnessContuol_Label->SetText("亮度调节"); + BringhtnessContuol_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + BringhtnessContuol_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + BringhtnessContuol_Label->SetRollSpeed(6); + BringhtnessContuol_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(BringhtnessContuol_Label); + BringhtnessContuol_Label->SetVisible(true); + /***********************************************************************************************************/ + // Add ImageView to App + if (BringhtnessContuol_Image == nullptr) + { + BringhtnessContuol_Image = new UIImageView(); + } + BringhtnessContuol_Image->SetPosition(369, 157); + BringhtnessContuol_Image->Resize(14, 26); + BringhtnessContuol_Image->SetViewId("BringhtnessContuol_Image"); + BringhtnessContuol_Image->SetSrc(PNG_SETTING_NEXT_IMAGE); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(BringhtnessContuol_Image); + BringhtnessContuol_Image->SetVisible(true); + /***********************************************************************************************************/ + // Add Button to App + if (ScreenDuration_Button == nullptr) + { + ScreenDuration_Button = new UIButton(); + } + ScreenDuration_Button->SetPosition(43, 240); + ScreenDuration_Button->Resize(380, 100); + ScreenDuration_Button->SetViewId("ScreenDuration_Button"); // 亮屏时长 + ScreenDuration_Button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); + ScreenDuration_Button->SetStyle(STYLE_BORDER_RADIUS, 50); + ScreenDuration_Button->SetImageSrc(PNG_SETTING_BACKGROUND_IMAGE, nullptr); + ScreenDuration_Button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); + ScreenDuration_Button->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED); + UIView::OnClickListener *SDButton = static_cast(DisplayBrightnessPresenter::GetInstance()); + ScreenDuration_Button->SetOnClickListener(SDButton); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(ScreenDuration_Button); + ScreenDuration_Button->SetVisible(true); + /***********************************************************************************************************/ + // Add Label to App + if (ScreenDuration_Label == nullptr) + { + ScreenDuration_Label = new UILabel(); + } + ScreenDuration_Label->SetPosition(90, 273); // widget's left position and top position + ScreenDuration_Label->Resize(200, 60); // widget's width and height + ScreenDuration_Label->SetViewId("ScreenDuration_Label"); // Set style + ScreenDuration_Label->SetStyle(STYLE_TEXT_FONT, 30); + ScreenDuration_Label->SetStyle(STYLE_LINE_HEIGHT, 35); + // Set additional property + ScreenDuration_Label->SetText("亮屏时长"); + ScreenDuration_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + ScreenDuration_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + ScreenDuration_Label->SetRollSpeed(6); + ScreenDuration_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + // Add to rootView + DisplayBrightness_scrollView->Add(ScreenDuration_Label); + ScreenDuration_Label->SetVisible(true); + /***********************************************************************************************************/ + // Add ImageView to App + if (ScreenDuration_Image == nullptr) + { + ScreenDuration_Image = new UIImageView(); + } + ScreenDuration_Image->SetPosition(369, 277); + ScreenDuration_Image->Resize(14, 26); + ScreenDuration_Image->SetViewId("ScreenDuration_Image"); + // Set additional property + ScreenDuration_Image->SetSrc(PNG_SETTING_NEXT_IMAGE); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(ScreenDuration_Image); + ScreenDuration_Image->SetVisible(true); + /***********************************************************************************************************/ + // Add Button to App + if (RaiseToBrightness_Image == nullptr) + { + RaiseToBrightness_Image = new UIImageView(); + } + RaiseToBrightness_Image->SetPosition(43, 360); + RaiseToBrightness_Image->Resize(380, 100); + RaiseToBrightness_Image->SetViewId("RaiseToBrightness_Image"); // 抬腕亮屏 + RaiseToBrightness_Image->SetStyle(STYLE_BORDER_RADIUS, 50); + RaiseToBrightness_Image->SetStyle(STYLE_BACKGROUND_COLOR, 0xff991199); + RaiseToBrightness_Image->SetStyle(STYLE_BACKGROUND_OPA, 0x11); + RaiseToBrightness_Image->SetSrc(PNG_SETTING_BACKGROUND_IMAGE); + // Add to scrollView + DisplayBrightness_scrollView->Add(RaiseToBrightness_Image); + RaiseToBrightness_Image->SetVisible(true); + /***********************************************************************************************************/ + // Add Label to App + if (RaiseToBrightness_Label == nullptr) + { + RaiseToBrightness_Label = new UILabel(); + } + RaiseToBrightness_Label->SetPosition(90, 393); + RaiseToBrightness_Label->Resize(200, 60); + RaiseToBrightness_Label->SetViewId("RaiseToBrightness_Label"); + RaiseToBrightness_Label->SetStyle(STYLE_TEXT_FONT, 30); + RaiseToBrightness_Label->SetStyle(STYLE_LINE_HEIGHT, 35); + // Set additional property + RaiseToBrightness_Label->SetText("抬腕亮屏"); + RaiseToBrightness_Label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + RaiseToBrightness_Label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + RaiseToBrightness_Label->SetRollSpeed(6); + RaiseToBrightness_Label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + // Add to rootView + DisplayBrightness_scrollView->Add(RaiseToBrightness_Label); + RaiseToBrightness_Label->SetVisible(true); + /***********************************************************************************************************/ + // Add Button to App + if (RaiseToBrightness_CheckBoxButton == nullptr) + { + RaiseToBrightness_CheckBoxButton = static_cast(new UIToggleButton()); + } + RaiseToBrightness_CheckBoxButton->SetPosition(298, 385); + RaiseToBrightness_CheckBoxButton->Resize(100, 50); + RaiseToBrightness_CheckBoxButton->SetViewId("RaiseToBrightness_CheckBoxButton"); + RaiseToBrightness_CheckBoxButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE,PNG_TOGGLEBUTTON_OFF_IMAGE); + // Add to rootView + DisplayBrightness_scrollView->Add(RaiseToBrightness_CheckBoxButton); + RaiseToBrightness_CheckBoxButton->SetVisible(true); + /***********************************************************************************************************/ + if (imag == nullptr) + { + imag = new UIImageView(); + } + imag->SetPosition(183, 540); + imag->SetViewId("imag"); + // Add to scrollView1 + DisplayBrightness_scrollView->Add(imag); + } + + void DisplayBrightnessView::OnStart() + { + View::OnStart(); + // DisplayBrightness_container容器属性 new + DisplayBrightness_scrollView = new UIScrollView(); + if (DisplayBrightness_scrollView == nullptr) + { + return; + } + + // DisplayBrightness_container容器属性 扩展 + DisplayBrightness_scrollView->SetPosition(0, 0); + DisplayBrightness_scrollView->SetWidth(Screen::GetInstance().GetWidth()); + DisplayBrightness_scrollView->SetHeight(Screen::GetInstance().GetHeight()); + + draglistener = static_cast(DisplayBrightnessPresenter::GetInstance()); + if (draglistener == nullptr) + { + return; + } + DisplayBrightness_scrollView->SetOnDragListener(draglistener); + DisplayBrightness_scrollView->SetTouchable(true); + DisplayBrightness_scrollView->SetDraggable(true); + + Init(); + + RootView::GetInstance()->Add(DisplayBrightness_scrollView); + RootView::GetInstance()->Invalidate(); + } + + void DisplayBrightnessView::OnSetUpView() + { + View::OnSetUpView(); + Draw(); + } + + void DisplayBrightnessView::OnTearDownView() + { + + View::OnTearDownView(); + return; + } + + void DisplayBrightnessView::OnStop() + { + + View::OnStop(); + RootView::GetInstance()->RemoveAll(); + return; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationPresenter.cpp new file mode 100644 index 000000000..d3442cf59 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationPresenter.cpp @@ -0,0 +1,98 @@ +#include "AppViewIDs.h" +#include "NativeAbility.h" +#include "graphic_math.h" +#include "string.h" +#include "displaybrightness/include/ScreenDurationPresenter.h" +#include "components/ui_checkbox.h" +namespace OHOS +{ + + // 当前Presenter属性实例化的内存指针 + static ScreenDurationPresenter *g_pScreenDurationPresenter = nullptr; + + ScreenDurationPresenter::ScreenDurationPresenter() + { + + g_pScreenDurationPresenter = this; + } + + ScreenDurationPresenter::~ScreenDurationPresenter() + { + + g_pScreenDurationPresenter = nullptr; + } + + ScreenDurationPresenter *ScreenDurationPresenter::GetInstance() + { + + return g_pScreenDurationPresenter; + } + + + + void ScreenDurationPresenter::OnStart() + { + + Presenter::OnStart(); + } + + void ScreenDurationPresenter::OnPause(void) + { + + Presenter::OnPause(); + } + + void ScreenDurationPresenter::OnResume(void) + { + + Presenter::OnResume(); + } + + void ScreenDurationPresenter::OnStop(void) + { + + Presenter::OnStop(); + } + + bool ScreenDurationPresenter::OnDrag(UIView &view, const DragEvent &event) + { + + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && + (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_DISPLAY_BRIGHTNESS); // 跳转到显示与亮度view + } + return true; + } + + + + bool ScreenDurationPresenter::OnClick(UIView &view, const ClickEvent &event) + { + // 根据控件id查找是哪个控件触发了点击回调 + if (strcmp(view.GetViewId(), SECOND5_CHECKBOX) == 0) + { + m_checkbox_5->SetState(UICheckBox::SELECTED); + UpdateCheckBoxState(*m_checkbox_10, false); + UpdateCheckBoxState(*m_checkbox_15, false); + return true; + } + else if (strcmp(view.GetViewId(), SECOND10_CHECKBOX) == 0) + { + m_checkbox_10->SetState(UICheckBox::SELECTED); + UpdateCheckBoxState(*m_checkbox_5, false); + UpdateCheckBoxState(*m_checkbox_15, false); + } + else if (strcmp(view.GetViewId(), SECOND15_CHECKBOX) == 0) + { + m_checkbox_15->SetState(UICheckBox::SELECTED); + UpdateCheckBoxState(*m_checkbox_5, false); + UpdateCheckBoxState(*m_checkbox_10, false); + } + return false; + } + void ScreenDurationPresenter::UpdateCheckBoxState(UICheckBox &checkbox, bool isSelected) + { + checkbox.SetState(isSelected ? UICheckBox::SELECTED : UICheckBox::UNSELECTED); + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationView.cpp new file mode 100644 index 000000000..dbebfbc23 --- /dev/null +++ b/code/sdk/application/wearable/nativeapp/nativeui/displaybrightness/src/ScreenDurationView.cpp @@ -0,0 +1,271 @@ +#include "displaybrightness/include/ScreenDurationView.h" +#include "displaybrightness/include/ScreenDurationPresenter.h" +#include "UiConfig.h" + +namespace OHOS +{ + + static ScreenDurationView *g_pScreenDurationView{nullptr}; + + ScreenDurationView::ScreenDurationView() + { + + g_pScreenDurationView = this; + } + + ScreenDurationView::~ScreenDurationView() + { + container_->RemoveAll(); + delete ScreenDurationScrollView; + ScreenDurationScrollView = nullptr; + delete ScreenDurationLabel; + ScreenDurationLabel = nullptr; + delete container_; + container_ = nullptr; + g_pScreenDurationView = nullptr; + } + + ScreenDurationView *ScreenDurationView::GetInstance() + { + return g_pScreenDurationView; + } + + void ScreenDurationView::InitView(void) + { + if (container_ == nullptr) + { + container_ = new UIViewGroup(); + container_->SetPosition(0, 0, 466, 466); + container_->SetStyle(STYLE_BACKGROUND_OPA, 0); + UIView::OnDragListener *draglistener = static_cast(ScreenDurationPresenter::GetInstance()); + if (draglistener == nullptr) + { + return; + } + container_->SetOnDragListener(draglistener); + container_->SetTouchable(true); + container_->SetDraggable(true); + } + + // Add ScrollView to App + if (ScreenDurationScrollView == nullptr) + { + ScreenDurationScrollView = new UIScrollView(); + } + ScreenDurationScrollView->SetPosition(0, 0); + ScreenDurationScrollView->Resize(466, 466); + ScreenDurationScrollView->SetViewId("ScreenDurationScrollView"); + ScreenDurationScrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + container_->Add(ScreenDurationScrollView); + ScreenDurationScrollView->SetVisible(true); + + // Add Label to App + if (ScreenDurationLabel == nullptr) + { + ScreenDurationLabel = new UILabel(); + } + ScreenDurationLabel->SetPosition(173, 52); // widget's left position and top position + ScreenDurationLabel->Resize(120, 35); // widget's width and height + ScreenDurationLabel->SetViewId("ScreenDurationLabel"); // Set style + ScreenDurationLabel->SetStyle(STYLE_TEXT_FONT, 30); + ScreenDurationLabel->SetStyle(STYLE_LINE_HEIGHT, 35); + + // Set additional property + ScreenDurationLabel->SetText("亮屏时长"); + ScreenDurationLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + ScreenDurationLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + ScreenDurationLabel->SetRollSpeed(0); + ScreenDurationLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + + // Add to scrollView1 + ScreenDurationScrollView->Add(ScreenDurationLabel); + ScreenDurationLabel->SetVisible(true); + /********************************************************************************************************/ + // Add ImageView to App + UIImageView *secImage5 = new UIImageView(); + secImage5->SetPosition(39, 120); + secImage5->Resize(380, 100); + secImage5->SetViewId("5secImage"); + secImage5->SetStyle(STYLE_BORDER_RADIUS, 50); + secImage5->SetSrc(PNG_SETTING_BACKGROUND_IMAGE); + ScreenDurationScrollView->Add(secImage5); + secImage5->SetVisible(true); + // Add Label to App + UILabel *secLabel5 = new UILabel(); + secLabel5->SetPosition(99, 153); + secLabel5->Resize(48, 35); + secLabel5->SetViewId("5secLabel"); + secLabel5->SetStyle(STYLE_TEXT_FONT, 30); + secLabel5->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + secLabel5->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + secLabel5->SetStyle(STYLE_LINE_HEIGHT, 35); + + secLabel5->SetText("5秒"); + secLabel5->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + secLabel5->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + secLabel5->SetRollSpeed(6); + secLabel5->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + + ScreenDurationScrollView->Add(secLabel5); + secLabel5->SetVisible(true); + + // Add CheckBox to App + second5checkbox = new UICheckBox(); + second5checkbox->SetPosition(300, 130); + second5checkbox->Resize(80, 80); + second5checkbox->SetViewId(SECOND5_CHECKBOX); + second5checkbox->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + second5checkbox->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + second5checkbox->SetImages(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + + ScreenDurationScrollView->Add(second5checkbox); + second5checkbox->SetVisible(true); + /********************************************************************************************************/ + // Add ImageView to App + UIImageView *secImage10 = new UIImageView(); + secImage10->SetPosition(39, 240); + secImage10->Resize(380, 100); + secImage10->SetViewId("10secImage"); + secImage10->SetStyle(STYLE_BORDER_RADIUS, 50); + secImage10->SetSrc(PNG_SETTING_BACKGROUND_IMAGE); + ScreenDurationScrollView->Add(secImage10); + secImage10->SetVisible(true); + + // Add Label to App + UILabel *secLabel10 = new UILabel(); + secLabel10->SetPosition(99, 273); + secLabel10->Resize(65, 35); + secLabel10->SetViewId("10secLabel"); + secLabel10->SetStyle(STYLE_TEXT_FONT, 30); + secLabel10->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + secLabel10->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + secLabel10->SetStyle(STYLE_LINE_HEIGHT, 35); + + secLabel10->SetText("10秒"); + secLabel10->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + secLabel10->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + secLabel10->SetRollSpeed(6); + secLabel10->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + + ScreenDurationScrollView->Add(secLabel10); + secLabel10->SetVisible(true); + + // Add CheckBox to App + second10checkbox = new UICheckBox(); + second10checkbox->SetPosition(300, 250); + second10checkbox->Resize(80, 80); + second10checkbox->SetViewId(SECOND10_CHECKBOX); + second10checkbox->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + second10checkbox->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + second10checkbox->SetImages(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + + ScreenDurationScrollView->Add(second10checkbox); + second10checkbox->SetVisible(true); + /********************************************************************************************************/ + // Add ImageView to App + UIImageView *secImage15 = new UIImageView(); + secImage15->SetPosition(39, 360); + secImage15->Resize(380, 100); + secImage15->SetViewId("15secImage"); + secImage15->SetStyle(STYLE_BORDER_RADIUS, 50); + secImage15->SetSrc(PNG_SETTING_BACKGROUND_IMAGE); + ScreenDurationScrollView->Add(secImage15); + secImage15->SetVisible(true); + + // Add Label to App + UILabel *secLabel15 = new UILabel(); + secLabel15->SetPosition(99, 393); + secLabel15->Resize(65, 35); + secLabel15->SetViewId("15secLabel"); + secLabel15->SetStyle(STYLE_TEXT_FONT, 30); + secLabel15->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + secLabel15->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + secLabel15->SetStyle(STYLE_LINE_HEIGHT, 35); + + secLabel15->SetText("15秒"); + secLabel15->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + secLabel15->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + secLabel15->SetRollSpeed(6); + secLabel15->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + + ScreenDurationScrollView->Add(secLabel15); + secLabel15->SetVisible(true); + + // Add CheckBox to App + second15checkbox = new UICheckBox(); + second15checkbox->SetPosition(300, 370); + second15checkbox->Resize(80, 80); + second15checkbox->SetViewId(SECOND15_CHECKBOX); + second15checkbox->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + second15checkbox->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + second15checkbox->SetImages(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + + ScreenDurationScrollView->Add(second15checkbox); + second15checkbox->SetVisible(true); + /********************************************************************************************************/ + // AddLabelImageViewCheckbox(ScreenDurationScrollView, 99, 153, 48, 35, "5秒", "5secLabel", + // 39, 120, 380, 100, "5secImage", PNG_SETTING_BACKGROUND_IMAGE, + // second5checkbox, 300, 130, 80, 80, SECOND5_CHECKBOX, PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + /* + AddLabelImageViewCheckbox(ScreenDurationScrollView, 99, 273, 65, 35, "10秒", "10secLabel", + 39, 240, 380, 100, "10secImage", PNG_SETTING_BACKGROUND_IMAGE, + second10checkbox, 300, 250, 80, 80, SECOND10_CHECKBOX, PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + + AddLabelImageViewCheckbox(ScreenDurationScrollView, 99, 393, 65, 35, "15秒", "15secLabel", + 39, 360, 380, 100, "15secImage", PNG_SETTING_BACKGROUND_IMAGE, + second15checkbox, 300, 370, 80, 80, SECOND15_CHECKBOX, PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE); + */ + + /********************************************************************************************************/ + UIImageView *image1_ = new UIImageView(); + + image1_->SetPosition(183, 440); + image1_->Resize(100, 100); + image1_->SetViewId("image1"); + ScreenDurationScrollView->Add(image1_); + image1_->SetVisible(true); + /********************************************************************************************************/ + + UIImageView *image2_ = new UIImageView(); + + image2_->SetPosition(183, 19); + image2_->Resize(100, 100); + image2_->SetViewId("image2"); + ScreenDurationScrollView->Add(image2_); + image2_->SetVisible(true); + + ScreenDurationPresenter::GetInstance()->getcheckbox(second5checkbox,second10checkbox,second15checkbox); + UIView::OnClickListener *checkboxClick = static_cast(ScreenDurationPresenter::GetInstance()); + second5checkbox->SetOnClickListener(checkboxClick); + second10checkbox->SetOnClickListener(checkboxClick); + second15checkbox->SetOnClickListener(checkboxClick); + } + + void ScreenDurationView::OnStart() + { + View::OnStart(); + InitView(); + RootView::GetInstance()->Add(container_); + } + + void ScreenDurationView::OnSetUpView() + { + View::OnSetUpView(); + Draw(); + } + + void ScreenDurationView::OnTearDownView() + { + + View::OnTearDownView(); + return; + } + + void ScreenDurationView::OnStop() + { + + View::OnStop(); + RootView::GetInstance()->RemoveAll(); + return; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp b/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp index d9164dad7..93a5ff537 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/settings/src/SettingModel.cpp @@ -28,7 +28,7 @@ namespace OHOS settings[3] = {SETTING_ITEM_THREE, PNG_SETTINGS_SECONDARY_FUNCTION, "辅助功能", true}; settings[4] = {SETTING_ITEM_FOUR, PNG_SETTINGS_SYSTEM, "系统", true}; settings[5] = {SETTING_ITEM_FIVE, PNG_SETTINGS_SETTINGS_POWER_CONTROL, "关机和重启", true}; - settingIdToViewId.insert(std::pair(SETTING_ITEM_ZERO, VIEW_SHUTDOWN_OR_REBOOT)); + settingIdToViewId.insert(std::pair(SETTING_ITEM_ZERO, VIEW_DISPLAY_BRIGHTNESS)); settingIdToViewId.insert(std::pair(SETTING_ITEM_ONE, VIEW_BLUETOOTH_EARPHONE)); settingIdToViewId.insert(std::pair(SETTING_ITEM_TWO, VIEW_SOUND_VIBRATION)); settingIdToViewId.insert(std::pair(SETTING_ITEM_THREE, VIEW_SYSTEM)); diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fs/user/res/BringhtnessContuolVector.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fs/user/res/BringhtnessContuolVector.bin new file mode 100644 index 000000000..21d20587e Binary files /dev/null and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fs/user/res/BringhtnessContuolVector.bin differ