${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/SoundAndVibrationPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/SoundAndVibrationView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/SystemVolumePresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/SystemVolumeView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/CallVolumePresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/CallVolumeView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/MediaVolumePresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/soundandvibration/src/MediaVolumeView.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
*/
typedef enum : uint16_t
{
- VIEW_INVALID = 0, // 无效视图
+ VIEW_INVALID = 0, // 无效视图
/* ----------------------------- 每一个id对应一个slice ----------------------------- */
VIEW_MAIN = 1, // 主界面
VIEW_SETTING, // 设置
VIEW_SYSTEM, // 系统
VIEW_SYSTEM_SYSTEM_LANGUAGE, // 系统:系统语言
VIEW_SYSTEM_FACTORY_RESET, // 系统:恢复出厂设置
+ VIEW_SOUND_VIBRATION, // 声音与震动
+ VIEW_SYSTEM_VOLUME, // 系统音量
+ VIEW_CALL_VOLUME, // 通话音量
+ VIEW_MEDIA_VOLUME, // 媒体音量
/* -------------------------------------------------------------------------- */
- VIEW_MAIN_TEMP, // 体温界面(暂时不用)
- VIEW_OFFLINEVOICE, // 语音助手界面(暂时不用)
- VIEW_MAIN_ACTIVITY, // 记录步数界面(暂时不用)
- VIEW_UISAMPLE, // 示例(暂时不用)
+ VIEW_MAIN_TEMP, // 体温界面(暂时不用)
+ VIEW_OFFLINEVOICE, // 语音助手界面(暂时不用)
+ VIEW_MAIN_ACTIVITY, // 记录步数界面(暂时不用)
+ VIEW_UISAMPLE, // 示例(暂时不用)
/* -------------------------------------------------------------------------- */
- VIEW_MAX_INTER_APP, // 在此之前添加native应用ID.
- VIEW_EXTERN_APP = 0xFFFE, // 三方应用
+ VIEW_MAX_INTER_APP, // 在此之前添加native应用ID.
+ VIEW_EXTERN_APP = 0xFFFE, // 三方应用
VIEW_INVALIDE_APP = 0xFFFF,
} AppViewId;
-/***
+/***
* @Author: Caisking 3449750381@qq.com
* @Date: 2023-12-13 19:33:14
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-01-22 16:32:42
* @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativelauncher/include/NativeLauncher.h
- * @Description:
+ * @Description:
* @
- * @Copyright (c) 2024 by Caisking , All Rights Reserved.
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.
*/
-
#ifndef NATIVE_LAUNCHER_H
#define NATIVE_LAUNCHER_H
#include "AppViewIDs.h"
void InitDialSlice(void);
/* ----------------------------------- 天气 ----------------------------------- */
void InitWeatherSlice(void);
- void InitWeatherReportSlice(void);
- void InitFutureWeatherSlice(void);
+ void InitWeatherReportSlice(void);
+ void InitFutureWeatherSlice(void);
void InitGetWeatherDataErrorSlice(void);
/* -------------------------------------------------------------------------- */
- void InitSystemSlice(void);
- void InitSystemLanguageSlice(void);
- void InitSystemFactoryResetSlice(void);
+ void InitSystemSlice(void);
+ void InitSystemLanguageSlice(void);
+ void InitSystemFactoryResetSlice(void);
+ /* -------------------------------------------------------------------------- */
+ void InitSoundAndVibrationSlice(void);
+ void InitSystemVolumeSlice(void);
+ void InitCallVolumeSlice(void);
+ void InitMediaVolumeSlice(void);
private:
void InitAllNativeSlices(void);
static constexpr const char *PNG_SETTINGS_SOUND_VIBRATION = APP_RES_PATH "/settings/SETTINGS_SOUND_VIBRATION.bin"; // 声音与震动
static constexpr const char *PNG_SETTINGS_SECONDARY_FUNCTION = APP_RES_PATH "/settings/SETTINGS_QUICK_ACCESS.bin"; // 辅助功能
static constexpr const char *PNG_SETTINGS_SYSTEM = APP_RES_PATH "/settings/SETTINGS_SYSTEM.bin"; // 系统
+ static constexpr const char *PNG_SETTINGS_SETTINGS_POWER_CONTROL = APP_RES_PATH "/settings/SETTINGS_POWER_CONTROL.bin"; // 关机和重启
/* ---------------------------------- 消息中心 ---------------------------------- */
static constexpr const char *PNG_Message_System = APP_RES_PATH "/message/system-icon.bin"; // 系统消息
static constexpr const char *PNG_Message_Note = APP_RES_PATH "/message/message-icon.bin"; // 短信
static constexpr const char *PNG_Message_Wechat = APP_RES_PATH "/message/WeChat-icon.bin"; // 微信消息
static constexpr const char *PNG_Message_QQ = APP_RES_PATH "/message/QQ-icon.bin"; // QQ消息
- /* -------------------------------------------------------------------------- */
- static constexpr const char *PNG_SETTINGS_SETTINGS_POWER_CONTROL = APP_RES_PATH "/settings/SETTINGS_POWER_CONTROL.bin"; // 关机和重启
/* ---------------------------------- 通用图片 ---------------------------------- */
static constexpr const char *PNG_CHECKBOX_OFF_IMAGE = APP_RES_PATH "/CHECKBOX_OFF.bin"; // checkbox未选中图片
static constexpr const char *PNG_CHECKBOX_ON_IMAGE = APP_RES_PATH "/CHECKBOX_ON.bin"; // checkbox选中图片
static constexpr const char *PNG_VOLUME_CONTROL_VECTOR = APP_RES_PATH "/VolumeControlVector.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未选中图片
+ static constexpr const char *PNG_TOGGLEBUTTON_ON_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_ON.bin"; // togglebuttton选中图片
+ static constexpr const char *PNG_SYSTEM_VOLUME_IMAGE = APP_RES_PATH "/SYSTEM_VOLUME.bin"; // 系统音量
+ static constexpr const char *PNG_CALL_VOLUME_IMAGE = APP_RES_PATH "/CALL_VOLUME.bin"; // 通话音量
+ static constexpr const char *PNG_MEDIA_VOLUME_IMAGE = APP_RES_PATH "/MEDIA_VOLUME.bin"; // 媒体音量
static constexpr const char *PNG_ANIMATOR1_IMAGE = APP_RES_PATH "/Record/animator1.bin";
static constexpr const char *PNG_ANIMATOR2_IMAGE = APP_RES_PATH "/Record/animator2.bin";
/* -------------------------------- 已删除的不必要图片 ------------------------------- */
#include "system/include/SystemFactoryResetPresenter.h"
#include "system/include/SystemFactoryResetView.h"
+#include "soundandvibration/include/SoundAndVibrationPresenter.h"
+#include "soundandvibration/include/SoundAndVibrationView.h"
+#include "soundandvibration/include/SystemVolumePresenter.h"
+#include "soundandvibration/include/SystemVolumeView.h"
+
#include "BluetoothHeadsetEvent.h"
#include "graphic_hardware_config.h"
#include "graphic_service.h"
{VIEW_SYSTEM, &NativeLauncher::InitSystemSlice}, // 系统实例化地址
{VIEW_SYSTEM_SYSTEM_LANGUAGE, &NativeLauncher::InitSystemLanguageSlice}, // 系统:系统语言实例化地址
{VIEW_SYSTEM_FACTORY_RESET, &NativeLauncher::InitSystemFactoryResetSlice}, // 系统:恢复出厂设置实例化地址
+ {VIEW_SOUND_VIBRATION, &NativeLauncher::InitSoundAndVibrationSlice}, // 声音与震动实例化地址
+ {VIEW_SYSTEM_VOLUME, &NativeLauncher::InitSystemVolumeSlice}, // 系统音量
//{VIEW_MAIN_ACTIVITY, &NativeLauncher::InitActivitySlice},
//{VIEW_OFFLINEVOICE, &NativeLauncher::InitOfflineVoice},
//{VIEW_MAIN_TEMP, &NativeLauncher::InitMainTempSlice},
}
NativeAbility::GetInstance().AddSliceProxy(VIEW_SYSTEM_FACTORY_RESET, systemfactoryreset);
}
+
+ void NativeLauncher::InitSoundAndVibrationSlice(void) // 声音与震动
+ {
+ SliceProxy *SoundAndVibration = new AbilitySliceProxy<SoundAndVibrationView, SoundAndVibrationPresenter>;
+ if (SoundAndVibration == nullptr)
+ {
+ return;
+ }
+ NativeAbility::GetInstance().AddSliceProxy(VIEW_SOUND_VIBRATION, SoundAndVibration);
+ }
+
+ void NativeLauncher::InitSystemVolumeSlice(void) // 系统音量
+ {
+ SliceProxy *systemvolume = new AbilitySliceProxy<SystemVolumeView, SystemVolumePresenter>;
+ if (systemvolume == nullptr)
+ {
+ return;
+ }
+ NativeAbility::GetInstance().AddSliceProxy(VIEW_SYSTEM_VOLUME, systemvolume);
+ }
+
}
settings[5] = {SETTING_ITEM_FIVE, PNG_SETTINGS_SETTINGS_POWER_CONTROL, "关机和重启", true};
settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_ZERO, VIEW_SHUTDOWN_OR_REBOOT));
settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_ONE, VIEW_BLUETOOTH_EARPHONE));
- settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_TWO, VIEW_SYSTEM));
+ settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_TWO, VIEW_SOUND_VIBRATION));
settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_THREE, VIEW_SYSTEM));
settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_FOUR, VIEW_SYSTEM));
settingIdToViewId.insert(std::pair<SettingIndex, AppViewId>(SETTING_ITEM_FIVE, VIEW_SHUTDOWN_OR_REBOOT));
--- /dev/null
+#ifndef CALL_VOLUME_PRESENTER_H\r
+#define CALL_VOLUME_PRESENTER_H\r
+\r
+#include "Presenter.h"\r
+#include "CallVolumeView.h"\r
+\r
+namespace OHOS\r
+{\r
+ class CallVolumeView;\r
+\r
+ class CallVolumePresenter : public Presenter<CallVolumeView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener\r
+ {\r
+ public:\r
+ CallVolumePresenter();\r
+ virtual ~CallVolumePresenter();\r
+\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
+\r
+ static CallVolumePresenter *GetInstance();\r
+\r
+ private:\r
+ // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef CALL_VOLUME_VIEW_H\r
+#define CALL_VOLUME_VIEW_H\r
+\r
+#include "BaseView.h"\r
+#include "View.h"\r
+\r
+#include "components/ui_view_group.h"\r
+#include "components/ui_slider.h"\r
+#include "components/ui_image_view.h"\r
+namespace OHOS\r
+{\r
+ static const char *CALL_VOLUME_SLIDER = "CallVolumeSlider";\r
+\r
+ class CallVolumePresenter;\r
+ class CallVolumeView : public View<CallVolumePresenter>\r
+ {\r
+\r
+ public:\r
+ CallVolumeView();\r
+ virtual ~CallVolumeView();\r
+ static CallVolumeView *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
+\r
+ UIViewGroup *container_ = nullptr;\r
+ UISlider *CallVolumeslider = nullptr;\r
+ UIImageView *CallVolumeimageicon = nullptr;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef MEDIA_VOLUME_PRESENTER_H\r
+#define MEDIA_VOLUME_PRESENTER_H\r
+\r
+#include "Presenter.h"\r
+#include "MediaVolumeView.h"\r
+\r
+namespace OHOS\r
+{\r
+ class MediaVolumeView;\r
+\r
+ class MediaVolumePresenter : public Presenter<MediaVolumeView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener\r
+ {\r
+ public:\r
+ MediaVolumePresenter();\r
+ virtual ~MediaVolumePresenter();\r
+\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
+\r
+ static MediaVolumePresenter *GetInstance();\r
+\r
+ private:\r
+ // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef MEDIA_VOLUME_VIEW_H\r
+#define MEDIA_VOLUME_VIEW_H\r
+\r
+#include "BaseView.h"\r
+#include "View.h"\r
+\r
+#include "components/ui_view_group.h"\r
+#include "components/ui_slider.h"\r
+#include "components/ui_image_view.h"\r
+namespace OHOS\r
+{\r
+ static const char *MEDIA_VOLUME_SLIDER = "MediaVolumeSlider";\r
+\r
+ class MediaVolumePresenter;\r
+ class MediaVolumeView : public View<MediaVolumePresenter>\r
+ {\r
+\r
+ public:\r
+ MediaVolumeView();\r
+ virtual ~MediaVolumeView();\r
+ static MediaVolumeView *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
+\r
+ UIViewGroup *container_ = nullptr;\r
+ UISlider *MediaVolumeslider = nullptr;\r
+ UIImageView *MediaVolumeimageicon = nullptr;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef SOUND_AND_VIBRATION_PRESENTER_H\r
+#define SOUND_AND_VIBRATION_PRESENTER_H\r
+\r
+#include "Presenter.h"\r
+#include "SoundAndVibrationView.h"\r
+ \r
+namespace OHOS\r
+{\r
+ class SoundAndVibrationView;\r
+ \r
+ class SoundAndVibrationPresenter : public Presenter<SoundAndVibrationView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener\r
+ {\r
+ public:\r
+ SoundAndVibrationPresenter();\r
+ virtual ~SoundAndVibrationPresenter();\r
+ \r
+ void OnStart() override; \r
+ void OnPause() override; \r
+ void OnResume() override; \r
+ void OnStop() override; \r
+ \r
+ static SoundAndVibrationPresenter *GetInstance(); \r
+ \r
+ private:\r
+ //因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override; \r
+ bool OnDrag(UIView &view, const DragEvent &event) override; \r
+ };\r
+} //namespace OHOS\r
+\r
+\r
+\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef SOUND_AND_VIBRATION_VIEW_H\r
+#define SOUND_AND_VIBRATION_VIEW_H\r
+\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_label.h"\r
+#include "components/ui_button.h"\r
+#include "components/ui_image_view.h"\r
+#include "components/ui_toggle_button.h"\r
+namespace OHOS\r
+{\r
+ static const char * SYSTEM_VOLUME_BUTTON = "SystemVolumeButton"; //系统音量\r
+ static const char * CALL_VOLUME_BUTTON = "CallVolumeButton"; //通话音量\r
+ static const char * MEDIAVOLUMEBUTTON = "MediaVolumeButton"; //媒体音量\r
+ static const char * VIBRATION_REMINDER_TOGGLEBUTTON = "VibrationReminderToggleButton";//震动提醒\r
+ static const char * SILENT_MODEL_TOGGLEBUTTON = "SilentModeToggleButton"; //静音模式\r
+ class SoundAndVibrationPresenter;\r
+ class SoundAndVibrationView : public View<SoundAndVibrationPresenter>\r
+ {\r
+\r
+ public:\r
+ SoundAndVibrationView();\r
+ virtual ~SoundAndVibrationView();\r
+ static SoundAndVibrationView *GetInstance(void);\r
+\r
+ void OnStart() override;\r
+ void OnSetUpView() override;\r
+ void OnTearDownView() override;\r
+ void OnStop() override;\r
+\r
+ private:\r
+ void InitView(void);\r
+ void DeInit(void);\r
+\r
+ private:\r
+ UIViewGroup *container_ = nullptr;\r
+ UIScrollView *SoundAndVibrationScrollView = nullptr;\r
+ UILabel *SoundAndVibrationLabel = nullptr;\r
+ UIButton *SystemVolumeButton = nullptr;\r
+ UIButton *CallVolumeButton = nullptr;\r
+ UIImageView *image1 = nullptr;\r
+ UIImageView *image2 = nullptr;\r
+ UIImageView *SilentModeImage = nullptr;\r
+ UILabel *SilentModeLabe_ = nullptr;\r
+ UIToggleButton * VibrationReminderToggleButton = nullptr;\r
+ UILabel *SilentModeLabel = nullptr;\r
+ UIImageView *VibrationReminderImage = nullptr;\r
+ UIToggleButton *SilentModeToggleButton = nullptr;\r
+ UILabel *VibrationReminderLabel = nullptr;\r
+ UIButton *MediaVolumeButton = nullptr;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef SYSTEM_VOLUME_PRESENTER_H\r
+#define SYSTEM_VOLUME_PRESENTER_H\r
+\r
+#include "Presenter.h"\r
+\r
+#include "SystemVolumeView.h"\r
+\r
+namespace OHOS\r
+{\r
+ class SystemVolumeView;\r
+\r
+ class SystemVolumePresenter : public Presenter<SystemVolumeView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener\r
+ {\r
+ public:\r
+ SystemVolumePresenter();\r
+ virtual ~SystemVolumePresenter();\r
+\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
+\r
+ static SystemVolumePresenter *GetInstance();\r
+\r
+ private:\r
+ // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef SYSTEM_VOLUME_VIEW_H\r
+#define SYSTEM_VOLUME_VIEW_H\r
+\r
+#include "BaseView.h"\r
+#include "View.h"\r
+\r
+#include "components/ui_view_group.h"\r
+#include "components/ui_slider.h"\r
+#include "components/ui_image_view.h"\r
+namespace OHOS\r
+{\r
+ static const char *SYSTEM_VOLUME_SLIDER = "SystemVolumeSlider";\r
+\r
+ class SystemVolumePresenter;\r
+ class SystemVolumeView : public View<SystemVolumePresenter>\r
+ {\r
+\r
+ public:\r
+ SystemVolumeView();\r
+ virtual ~SystemVolumeView();\r
+ static SystemVolumeView *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
+\r
+ UIViewGroup *container_ = nullptr;\r
+ UISlider *SystemVolumeslider = nullptr;\r
+ UIImageView *SystemVolumeimageicon = nullptr;\r
+ };\r
+} // namespace OHOS\r
+\r
+#endif
\ No newline at end of file
--- /dev/null
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+#include "graphic_math.h"\r
+#include "string.h"\r
+#include "soundandvibration/include/CallVolumePresenter.h"\r
+//系统音量\r
+namespace OHOS{\r
+ \r
+ //当前Presenter属性实例化的内存指针\r
+ static CallVolumePresenter *g_pCallVolumePresenter = nullptr; \r
+ \r
+ CallVolumePresenter::CallVolumePresenter(){\r
+ \r
+ g_pCallVolumePresenter = this;\r
+ }\r
+ \r
+ CallVolumePresenter::~CallVolumePresenter(){\r
+ \r
+ g_pCallVolumePresenter = nullptr;\r
+ }\r
+ \r
+ CallVolumePresenter *CallVolumePresenter::GetInstance(){\r
+ \r
+ return g_pCallVolumePresenter;\r
+ }\r
+ \r
+ void CallVolumePresenter::OnStart(){\r
+ \r
+ Presenter<CallVolumeView>::OnStart(); \r
+ }\r
+ \r
+ void CallVolumePresenter::OnPause(void){\r
+ \r
+ Presenter<CallVolumeView>::OnPause();\r
+ }\r
+ \r
+ void CallVolumePresenter::OnResume(void){\r
+ \r
+ Presenter<CallVolumeView>::OnResume();\r
+ }\r
+ \r
+ void CallVolumePresenter::OnStop(void){\r
+ \r
+ Presenter<CallVolumeView>::OnStop(); \r
+ }\r
+ \r
+ bool CallVolumePresenter::OnDrag(UIView &view, const DragEvent &event){\r
+ \r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
+ (event.GetDeltaX() > 30) && (event.GetDeltaX() > (3 * MATH_ABS(event.GetDeltaY()))))\r
+ {\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_SOUND_VIBRATION);\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+ }\r
+ \r
+ bool CallVolumePresenter::OnClick(UIView &view, const ClickEvent &event){\r
+ \r
+ // 根据控件id查找是哪个控件触发了点击回调\r
+ // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
+ // if(strcmp(view.GetViewId(), BRIGHTNESS_CONTROL_SLIDER))\r
+ // {\r
+ \r
+ // }\r
+ return true;\r
+ }\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
--- /dev/null
+#include "soundandvibration/include/CallVolumeView.h"\r
+#include "soundandvibration/include/CallVolumePresenter.h"\r
+#include "UiConfig.h"\r
+\r
+/*\r
+通话音量:\r
+闹钟,计时器,秒表的音量\r
+*/\r
+\r
+namespace OHOS\r
+{\r
+\r
+ static CallVolumeView *g_pCallVolumeView{nullptr};\r
+\r
+ CallVolumeView::CallVolumeView()\r
+ {\r
+ g_pCallVolumeView = this;\r
+ }\r
+\r
+ CallVolumeView::~CallVolumeView()\r
+ {\r
+ g_pCallVolumeView = nullptr;\r
+ if (container_ != nullptr)\r
+ {\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ if (CallVolumeslider != nullptr)\r
+ {\r
+ delete CallVolumeslider;\r
+ CallVolumeslider = nullptr;\r
+ }\r
+ if (CallVolumeimageicon != nullptr)\r
+ {\r
+ delete CallVolumeimageicon;\r
+ CallVolumeimageicon = nullptr;\r
+ }\r
+ }\r
+\r
+ CallVolumeView *CallVolumeView::GetInstance()\r
+ {\r
+\r
+ return g_pCallVolumeView;\r
+ }\r
+ void CallVolumeView::InitView(void)\r
+ {\r
+ if (container_ == nullptr)\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
+ }\r
+ draglistener = static_cast<UIView::OnDragListener *>(CallVolumePresenter::GetInstance());\r
+ container_->SetOnDragListener(draglistener);\r
+ container_->SetTouchable(true);\r
+ container_->SetDraggable(true);\r
+ /********************************************************************************************************/\r
+ if (CallVolumeslider == nullptr)\r
+ {\r
+ CallVolumeslider = new UISlider();\r
+ }\r
+ CallVolumeslider->SetPosition(167, 77);\r
+ CallVolumeslider->Resize(130, 310);\r
+ CallVolumeslider->SetViewId(CALL_VOLUME_SLIDER);\r
+ CallVolumeslider->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ CallVolumeslider->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ CallVolumeslider->SetStyle(STYLE_BORDER_OPA, 0x19);\r
+ CallVolumeslider->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ CallVolumeslider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP);\r
+ CallVolumeslider->SetValue(50);\r
+ CallVolumeslider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
+ CallVolumeslider->SetKnobStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ CallVolumeslider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ CallVolumeslider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 圆帽式\r
+ CallVolumeslider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 设置进度条的前景样式。圆帽式\r
+ CallVolumeslider->SetStyle(STYLE_BORDER_COLOR, Color::Black().full);\r
+ CallVolumeslider->SetStyle(STYLE_BORDER_WIDTH,2);\r
+ sliderClick = static_cast<UIView::OnClickListener *>(CallVolumePresenter::GetInstance()); // 用来处理之后点击slider的点击事件\r
+ CallVolumeslider->SetOnClickListener(sliderClick);\r
+ sliderDrag = static_cast<UIView::OnDragListener *>(CallVolumePresenter::GetInstance()); // 用来处理之后拖动slider的拖动事件\r
+ CallVolumeslider->SetOnDragListener(sliderDrag);\r
+ container_->Add(CallVolumeslider);\r
+ CallVolumeslider->SetVisible(true);\r
+ /********************************************************************************************************/\r
+ if (CallVolumeimageicon == nullptr)\r
+ {\r
+ CallVolumeimageicon = new UIImageView();\r
+ }\r
+ CallVolumeimageicon->SetPosition(213, 213); // widget's left position and top position\r
+ CallVolumeimageicon->Resize(100, 100); // widget's width and height\r
+ CallVolumeimageicon->SetViewId("CallVolumeimageicon"); // Set style\r
+ CallVolumeimageicon->SetStyle(STYLE_BORDER_COLOR, 0xffAAAAAA);\r
+ CallVolumeimageicon->SetSrc(PNG_VOLUME_CONTROL_VECTOR);\r
+\r
+ container_->Add(CallVolumeimageicon);\r
+ CallVolumeimageicon->SetVisible(true);\r
+ }\r
+\r
+ void CallVolumeView::OnStart()\r
+ {\r
+ View<CallVolumePresenter>::OnStart();\r
+ InitView();\r
+ RootView::GetInstance()->Add(container_);\r
+ }\r
+\r
+ void CallVolumeView::OnSetUpView()\r
+ {\r
+ View<CallVolumePresenter>::OnSetUpView();\r
+ Draw();\r
+ }\r
+\r
+ void CallVolumeView::OnTearDownView()\r
+ {\r
+ View<CallVolumePresenter>::OnTearDownView();\r
+ return;\r
+ }\r
+\r
+ void CallVolumeView::OnStop()\r
+ {\r
+ View<CallVolumePresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
+ }\r
+}\r
--- /dev/null
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+#include "graphic_math.h"\r
+#include "string.h"\r
+#include "soundandvibration/include/MediaVolumePresenter.h"\r
+//系统音量\r
+namespace OHOS{\r
+ \r
+ //当前Presenter属性实例化的内存指针\r
+ static MediaVolumePresenter *g_pMediaVolumePresenter = nullptr; \r
+ \r
+ MediaVolumePresenter::MediaVolumePresenter(){\r
+ \r
+ g_pMediaVolumePresenter = this;\r
+ }\r
+ \r
+ MediaVolumePresenter::~MediaVolumePresenter(){\r
+ \r
+ g_pMediaVolumePresenter = nullptr;\r
+ }\r
+ \r
+ MediaVolumePresenter *MediaVolumePresenter::GetInstance(){\r
+ \r
+ return g_pMediaVolumePresenter;\r
+ }\r
+ \r
+ void MediaVolumePresenter::OnStart(){\r
+ \r
+ Presenter<MediaVolumeView>::OnStart(); \r
+ }\r
+ \r
+ void MediaVolumePresenter::OnPause(void){\r
+ \r
+ Presenter<MediaVolumeView>::OnPause();\r
+ }\r
+ \r
+ void MediaVolumePresenter::OnResume(void){\r
+ \r
+ Presenter<MediaVolumeView>::OnResume();\r
+ }\r
+ \r
+ void MediaVolumePresenter::OnStop(void){\r
+ \r
+ Presenter<MediaVolumeView>::OnStop(); \r
+ }\r
+ \r
+ bool MediaVolumePresenter::OnDrag(UIView &view, const DragEvent &event){\r
+ \r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
+ (event.GetDeltaX() > 30) && (event.GetDeltaX() > (3 * MATH_ABS(event.GetDeltaY()))))\r
+ {\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_SOUND_VIBRATION);\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+ }\r
+ \r
+ bool MediaVolumePresenter::OnClick(UIView &view, const ClickEvent &event){\r
+ \r
+ // 根据控件id查找是哪个控件触发了点击回调\r
+ // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
+ // if(strcmp(view.GetViewId(), BRIGHTNESS_CONTROL_SLIDER))\r
+ // {\r
+ \r
+ // }\r
+ return true;\r
+ }\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
--- /dev/null
+#include "soundandvibration/include/MediaVolumeView.h"\r
+#include "soundandvibration/include/MediaVolumePresenter.h"\r
+#include "UiConfig.h"\r
+\r
+/*\r
+媒体音量:\r
+音量,录音,训练的音量\r
+*/\r
+\r
+namespace OHOS\r
+{\r
+\r
+ static MediaVolumeView *g_pMediaVolumeView{nullptr};\r
+\r
+ MediaVolumeView::MediaVolumeView()\r
+ {\r
+ g_pMediaVolumeView = this;\r
+ }\r
+\r
+ MediaVolumeView::~MediaVolumeView()\r
+ {\r
+ g_pMediaVolumeView = nullptr;\r
+ if (container_ != nullptr)\r
+ {\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ if (MediaVolumeslider != nullptr)\r
+ {\r
+ delete MediaVolumeslider;\r
+ MediaVolumeslider = nullptr;\r
+ }\r
+ if (MediaVolumeimageicon != nullptr)\r
+ {\r
+ delete MediaVolumeimageicon;\r
+ MediaVolumeimageicon = nullptr;\r
+ }\r
+ }\r
+\r
+ MediaVolumeView *MediaVolumeView::GetInstance()\r
+ {\r
+\r
+ return g_pMediaVolumeView;\r
+ }\r
+ void MediaVolumeView::InitView(void)\r
+ {\r
+ if (container_ == nullptr)\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
+ }\r
+ draglistener = static_cast<UIView::OnDragListener *>(MediaVolumePresenter::GetInstance());\r
+ container_->SetOnDragListener(draglistener);\r
+ container_->SetTouchable(true);\r
+ container_->SetDraggable(true);\r
+ /********************************************************************************************************/\r
+ if (MediaVolumeslider == nullptr)\r
+ {\r
+ MediaVolumeslider = new UISlider();\r
+ }\r
+ MediaVolumeslider->SetPosition(167, 77);\r
+ MediaVolumeslider->Resize(130, 310);\r
+ MediaVolumeslider->SetViewId(MEDIA_VOLUME_SLIDER);\r
+ MediaVolumeslider->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ MediaVolumeslider->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ MediaVolumeslider->SetStyle(STYLE_BORDER_OPA, 0x19);\r
+ MediaVolumeslider->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ MediaVolumeslider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP);\r
+ MediaVolumeslider->SetValue(50);\r
+ MediaVolumeslider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
+ MediaVolumeslider->SetKnobStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ MediaVolumeslider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ MediaVolumeslider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 圆帽式\r
+ MediaVolumeslider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 设置进度条的前景样式。圆帽式\r
+ MediaVolumeslider->SetStyle(STYLE_BORDER_COLOR, Color::Black().full);\r
+ MediaVolumeslider->SetStyle(STYLE_BORDER_WIDTH,2);\r
+ sliderClick = static_cast<UIView::OnClickListener *>(MediaVolumePresenter::GetInstance()); // 用来处理之后点击slider的点击事件\r
+ MediaVolumeslider->SetOnClickListener(sliderClick);\r
+ sliderDrag = static_cast<UIView::OnDragListener *>(MediaVolumePresenter::GetInstance()); // 用来处理之后拖动slider的拖动事件\r
+ MediaVolumeslider->SetOnDragListener(sliderDrag);\r
+ container_->Add(MediaVolumeslider);\r
+ MediaVolumeslider->SetVisible(true);\r
+ /********************************************************************************************************/\r
+ if (MediaVolumeimageicon == nullptr)\r
+ {\r
+ MediaVolumeimageicon = new UIImageView();\r
+ }\r
+ MediaVolumeimageicon->SetPosition(213, 213); // widget's left position and top position\r
+ MediaVolumeimageicon->Resize(100, 100); // widget's width and height\r
+ MediaVolumeimageicon->SetViewId("MediaVolumeimageicon"); // Set style\r
+ MediaVolumeimageicon->SetStyle(STYLE_BORDER_COLOR, 0xffAAAAAA);\r
+ MediaVolumeimageicon->SetSrc(PNG_VOLUME_CONTROL_VECTOR);\r
+\r
+ container_->Add(MediaVolumeimageicon);\r
+ MediaVolumeimageicon->SetVisible(true);\r
+ }\r
+\r
+ void MediaVolumeView::OnStart()\r
+ {\r
+ View<MediaVolumePresenter>::OnStart();\r
+ InitView();\r
+ RootView::GetInstance()->Add(container_);\r
+ }\r
+\r
+ void MediaVolumeView::OnSetUpView()\r
+ {\r
+ View<MediaVolumePresenter>::OnSetUpView();\r
+ Draw();\r
+ }\r
+\r
+ void MediaVolumeView::OnTearDownView()\r
+ {\r
+ View<MediaVolumePresenter>::OnTearDownView();\r
+ return;\r
+ }\r
+\r
+ void MediaVolumeView::OnStop()\r
+ {\r
+ View<MediaVolumePresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
+ }\r
+}\r
--- /dev/null
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+#include "graphic_math.h"\r
+#include "string.h"\r
+#include "soundandvibration/include/SoundAndVibrationPresenter.h"\r
+ \r
+namespace OHOS{\r
+ \r
+ //当前Presenter属性实例化的内存指针\r
+ static SoundAndVibrationPresenter *g_pSoundAndVibrationPresenter = nullptr; \r
+ \r
+ SoundAndVibrationPresenter::SoundAndVibrationPresenter(){\r
+ \r
+ g_pSoundAndVibrationPresenter = this;\r
+ }\r
+ \r
+ SoundAndVibrationPresenter::~SoundAndVibrationPresenter(){\r
+ \r
+ g_pSoundAndVibrationPresenter = nullptr;\r
+ }\r
+ \r
+ SoundAndVibrationPresenter *SoundAndVibrationPresenter::GetInstance(){\r
+ \r
+ return g_pSoundAndVibrationPresenter;\r
+ }\r
+ \r
+ void SoundAndVibrationPresenter::OnStart(){\r
+ \r
+ Presenter<SoundAndVibrationView>::OnStart(); \r
+ }\r
+ \r
+ void SoundAndVibrationPresenter::OnPause(void){\r
+ \r
+ Presenter<SoundAndVibrationView>::OnPause();\r
+ }\r
+ \r
+ void SoundAndVibrationPresenter::OnResume(void){\r
+ \r
+ Presenter<SoundAndVibrationView>::OnResume();\r
+ }\r
+ \r
+ void SoundAndVibrationPresenter::OnStop(void){\r
+ \r
+ Presenter<SoundAndVibrationView>::OnStop(); \r
+ }\r
+ \r
+ bool SoundAndVibrationPresenter::OnDrag(UIView &view, const DragEvent &event){\r
+ \r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
+ (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+ \r
+ bool SoundAndVibrationPresenter::OnClick(UIView &view, const ClickEvent &event){\r
+ \r
+ // 根据控件id查找是哪个控件触发了点击回调\r
+ UNUSED(event);\r
+ if (strcmp(view.GetViewId(), SYSTEM_VOLUME_BUTTON) == 0)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM_VOLUME);\r
+ return true;\r
+ }\r
+ else if(strcmp(view.GetViewId(), CALL_VOLUME_BUTTON) == 0)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM_VOLUME);\r
+ return true;\r
+ }else if(strcmp(view.GetViewId(), MEDIAVOLUMEBUTTON) == 0)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM_VOLUME);\r
+ return true;\r
+ }\r
+ else if(strcmp(view.GetViewId(), VIBRATION_REMINDER_TOGGLEBUTTON) == 0)\r
+ {\r
+ return true;\r
+ }\r
+ else if(strcmp(view.GetViewId(), SILENT_MODEL_TOGGLEBUTTON) == 0)\r
+ {\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+#include "common/image_cache_manager.h"\r
+#include "UiConfig.h"\r
+#include "ui_resource_image.h"\r
+\r
+#include "soundandvibration/include/SoundAndVibrationView.h"\r
+#include "soundandvibration/include/SoundAndVibrationPresenter.h"\r
+\r
+/*\r
+按优先级分为\r
+1.系统音量\r
+2通话音量\r
+3.媒体音量\r
+\r
+震动提醒\r
+开/关\r
+\r
+静音模式\r
+系统音量不受影响\r
+\r
+*/\r
+\r
+namespace OHOS\r
+{\r
+\r
+ static SoundAndVibrationView *g_pSoundAndVibrationView{nullptr};\r
+\r
+ SoundAndVibrationView::SoundAndVibrationView()\r
+ {\r
+ g_pSoundAndVibrationView = this;\r
+ }\r
+\r
+ SoundAndVibrationView::~SoundAndVibrationView()\r
+ {\r
+ DeInit();\r
+ g_pSoundAndVibrationView = nullptr;\r
+ }\r
+\r
+ SoundAndVibrationView *SoundAndVibrationView::GetInstance()\r
+ {\r
+\r
+ return g_pSoundAndVibrationView;\r
+ }\r
+ void SoundAndVibrationView::InitView(void)\r
+ {\r
+ if (container_ == nullptr)\r
+ {\r
+ container_ = new UIViewGroup();\r
+ container_->SetPosition(0, 0, 466, 466);\r
+ container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
+ {\r
+ return;\r
+ }\r
+ container_->SetOnDragListener(draglistener);\r
+ container_->SetTouchable(true);\r
+ container_->SetDraggable(true);\r
+ }\r
+ /***********************************************************************************************************/\r
+ // Add ScrollView to App\r
+ if (SoundAndVibrationScrollView == nullptr)\r
+ {\r
+ SoundAndVibrationScrollView = new UIScrollView();\r
+ }\r
+ SoundAndVibrationScrollView->SetPosition(0, 0); \r
+ SoundAndVibrationScrollView->Resize(466, 466); \r
+ SoundAndVibrationScrollView->SetViewId("SoundAndVibrationScrollView");\r
+ SoundAndVibrationScrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ // Add to rootView\r
+ container_->Add(SoundAndVibrationScrollView);\r
+ SoundAndVibrationScrollView->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add Label to App\r
+ if (SoundAndVibrationLabel == nullptr)\r
+ {\r
+ SoundAndVibrationLabel = new UILabel();\r
+ }\r
+ SoundAndVibrationLabel->SetPosition(158, 52); \r
+ SoundAndVibrationLabel->Resize(200, 60); \r
+ SoundAndVibrationLabel->SetViewId("SoundAndVibrationLabel");\r
+ SoundAndVibrationLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ SoundAndVibrationLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // Set additional property\r
+ SoundAndVibrationLabel->SetText("声音与震动");\r
+ SoundAndVibrationLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ SoundAndVibrationLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ SoundAndVibrationLabel->SetRollSpeed(6);\r
+ SoundAndVibrationLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ // Add to scrollView\r
+ SoundAndVibrationScrollView->Add(SoundAndVibrationLabel);\r
+ SoundAndVibrationLabel->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add SystemVolumeButton to App\r
+ if (SystemVolumeButton == nullptr)\r
+ {\r
+ SystemVolumeButton = new UIButton();\r
+ }\r
+ SystemVolumeButton->SetPosition(43, 120); \r
+ SystemVolumeButton->Resize(380, 100); \r
+ SystemVolumeButton->SetViewId(SYSTEM_VOLUME_BUTTON);\r
+ SystemVolumeButton->SetStyle(STYLE_BORDER_RADIUS, 50);\r
+ // Set additional property\r
+ SystemVolumeButton->SetImageSrc(PNG_SYSTEM_VOLUME_IMAGE, nullptr);\r
+ SystemVolumeButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ SystemVolumeButton->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED);\r
+\r
+ // Add the CallBack about events\r
+ UIView::OnClickListener *SystemVolumeButtonClick = static_cast<UIView::OnClickListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ SystemVolumeButton->SetOnClickListener(SystemVolumeButtonClick);\r
+ // Add to scrollView1\r
+ SoundAndVibrationScrollView->Add(SystemVolumeButton);\r
+ SystemVolumeButton->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add CallVolumeButton to App\r
+ if (CallVolumeButton == nullptr)\r
+ {\r
+ CallVolumeButton = new UIButton();\r
+ }\r
+ CallVolumeButton->SetPosition(43, 240); \r
+ CallVolumeButton->Resize(380, 100); \r
+ CallVolumeButton->SetViewId(CALL_VOLUME_BUTTON); \r
+ CallVolumeButton->SetStyle(STYLE_BORDER_RADIUS, 50);\r
+ CallVolumeButton->SetImageSrc(PNG_CALL_VOLUME_IMAGE, nullptr);\r
+ CallVolumeButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ CallVolumeButton->SetStyleForState(STYLE_BORDER_RADIUS, 50, UIButton::PRESSED);\r
+ // Add the CallBack about events\r
+ UIView::OnClickListener *CallVolumeButtonClick = static_cast<UIView::OnClickListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ CallVolumeButton->SetOnClickListener(CallVolumeButtonClick);\r
+ // Add to SoundAndVibrationScrollView\r
+ SoundAndVibrationScrollView->Add(CallVolumeButton);\r
+ CallVolumeButton->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add MediaVolumeButton to App\r
+ if (MediaVolumeButton == nullptr)\r
+ {\r
+ MediaVolumeButton = new UIButton();\r
+ }\r
+ MediaVolumeButton->SetPosition(43, 360); \r
+ MediaVolumeButton->Resize(380, 100); \r
+ MediaVolumeButton->SetViewId(MEDIAVOLUMEBUTTON);\r
+\r
+ MediaVolumeButton->SetImageSrc(PNG_MEDIA_VOLUME_IMAGE, nullptr);\r
+ MediaVolumeButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+ // Add the CallBack about events\r
+ UIView::OnClickListener *MediaVolumeButtonClick = static_cast<UIView::OnClickListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ MediaVolumeButton->SetOnClickListener(MediaVolumeButtonClick);\r
+ // Add to scrollView1\r
+ SoundAndVibrationScrollView->Add(MediaVolumeButton);\r
+ MediaVolumeButton->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ if (VibrationReminderImage == nullptr)\r
+ {\r
+ VibrationReminderImage = new UIImageView();\r
+ }\r
+ VibrationReminderImage->SetPosition(43, 480); \r
+ VibrationReminderImage->Resize(100, 100); \r
+ VibrationReminderImage->SetViewId("VibrationReminderImage"); \r
+ VibrationReminderImage->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ VibrationReminderImage->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ VibrationReminderImage->SetStyle(STYLE_BORDER_RADIUS, 50);\r
+ VibrationReminderImage->SetSrc(PNG_SETTING_BACKGROUND_IMAGE);\r
+ SoundAndVibrationScrollView->Add(VibrationReminderImage);\r
+ VibrationReminderImage->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add Label to App\r
+ if (VibrationReminderLabel == nullptr)\r
+ {\r
+ VibrationReminderLabel = new UILabel();\r
+ }\r
+ VibrationReminderLabel->SetPosition(90, 513); // widget's left position and top position\r
+ VibrationReminderLabel->Resize(120, 35); // widget's width and height\r
+ VibrationReminderLabel->SetViewId("VibrationReminderLabel"); // Set style\r
+ VibrationReminderLabel->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ VibrationReminderLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ VibrationReminderLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ VibrationReminderLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // Set additional property\r
+ VibrationReminderLabel->SetText("震动提醒");\r
+ VibrationReminderLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ VibrationReminderLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ VibrationReminderLabel->SetRollSpeed(6);\r
+ VibrationReminderLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ // Add to SoundAndVibrationScrollView\r
+ SoundAndVibrationScrollView->Add(VibrationReminderLabel);\r
+ VibrationReminderLabel->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add ToggleButton to App\r
+ if (VibrationReminderToggleButton == nullptr)\r
+ {\r
+ VibrationReminderToggleButton = new UIToggleButton();\r
+ }\r
+ VibrationReminderToggleButton->SetPosition(298, 505); \r
+ VibrationReminderToggleButton->Resize(100, 50); \r
+ VibrationReminderToggleButton->SetViewId(VIBRATION_REMINDER_TOGGLEBUTTON);\r
+ VibrationReminderToggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+ VibrationReminderToggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ VibrationReminderToggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE,PNG_TOGGLEBUTTON_OFF_IMAGE);\r
+ // Add the CallBack about events\r
+ UIView::OnClickListener *VibrationReminderToggleButtonClick = static_cast<UIView::OnClickListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ VibrationReminderToggleButton->SetOnClickListener(VibrationReminderToggleButtonClick);\r
+ // Add to SoundAndVibrationScrollView\r
+ SoundAndVibrationScrollView->Add(VibrationReminderToggleButton);\r
+ VibrationReminderToggleButton->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add ImageView to App\r
+ if (SilentModeImage == nullptr)\r
+ {\r
+ SilentModeImage = new UIImageView();\r
+ }\r
+ SilentModeImage->SetPosition(43, 600); \r
+ SilentModeImage->Resize(380, 100); \r
+ SilentModeImage->SetViewId("SilentModeImage");\r
+ SilentModeImage->SetStyle(STYLE_BORDER_RADIUS, 50);\r
+ SilentModeImage->SetSrc(PNG_SETTING_BACKGROUND_IMAGE);\r
+ // Add to scrollView1\r
+ SoundAndVibrationScrollView->Add(SilentModeImage);\r
+ SilentModeImage->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ if (SilentModeLabel == nullptr)\r
+ {\r
+ SilentModeLabel = new UILabel();\r
+ }\r
+ SilentModeLabel->SetPosition(90, 620); \r
+ SilentModeLabel->Resize(120, 35); \r
+ SilentModeLabel->SetViewId("SilentModeLabel");\r
+ SilentModeLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+ SilentModeLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // Set additional property\r
+ SilentModeLabel->SetText("静音模式");\r
+ SilentModeLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ SilentModeLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ SilentModeLabel->SetRollSpeed(6);\r
+ SilentModeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ // Add to SoundAndVibrationScrollView\r
+ SoundAndVibrationScrollView->Add(SilentModeLabel);\r
+ SilentModeLabel->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ if (SilentModeLabe_ == nullptr)\r
+ {\r
+ SilentModeLabe_ = new UILabel();\r
+ }\r
+ SilentModeLabe_->SetPosition(90, 657); \r
+ SilentModeLabe_->Resize(160, 23); \r
+ SilentModeLabe_->SetViewId("label9");\r
+ SilentModeLabe_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ SilentModeLabe_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ SilentModeLabe_->SetStyle(STYLE_TEXT_FONT, 20);\r
+ SilentModeLabe_->SetStyle(STYLE_LINE_HEIGHT, 23);\r
+ // Set additional property\r
+ SilentModeLabe_->SetText("系统音量不受影响");\r
+ SilentModeLabe_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ SilentModeLabe_->SetTextColor(Color::GetColorFromRGBA(0xfd, 0xfd, 0xfd, 0x7f));\r
+ SilentModeLabe_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ SilentModeLabe_->SetRollSpeed(6);\r
+ SilentModeLabe_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 20);\r
+ // Add to SoundAndVibrationScrollView\r
+ SoundAndVibrationScrollView->Add(SilentModeLabe_);\r
+ SilentModeLabe_->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add SilentModeToggleButton to App\r
+ if (SilentModeToggleButton == nullptr)\r
+ {\r
+ SilentModeToggleButton = new UIToggleButton();\r
+ }\r
+ SilentModeToggleButton->SetPosition(298, 625); \r
+ SilentModeToggleButton->Resize(100, 50); \r
+ SilentModeToggleButton->SetViewId(SILENT_MODEL_TOGGLEBUTTON);\r
+ SilentModeToggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+ SilentModeToggleButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ SilentModeToggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE,PNG_TOGGLEBUTTON_OFF_IMAGE);\r
+ UIView::OnClickListener *SilentModeToggleButtonClick = static_cast<UIView::OnClickListener *>(SoundAndVibrationPresenter::GetInstance());\r
+ SilentModeToggleButton->SetOnClickListener(SilentModeToggleButtonClick);\r
+ // Add to scrollView1\r
+ SoundAndVibrationScrollView->Add(SilentModeToggleButton);\r
+ SilentModeToggleButton->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add ImageView to App\r
+ if (image1 == nullptr)\r
+ {\r
+ image1 = new UIImageView();\r
+ }\r
+ image1->SetPosition(183, 18); \r
+ image1->Resize(100, 100); \r
+ image1->SetViewId("image1"); \r
+\r
+ SoundAndVibrationScrollView->Add(image1);\r
+ image1->SetVisible(true);\r
+ /***********************************************************************************************************/\r
+ // Add ImageView to App\r
+ if (image2 == nullptr)\r
+ {\r
+ image2 = new UIImageView();\r
+ }\r
+ image2->SetPosition(183, 668);\r
+ image2->Resize(100, 100); \r
+ image2->SetViewId("image2"); \r
+\r
+ SoundAndVibrationScrollView->Add(image2);\r
+ image2->SetVisible(true);\r
+ }\r
+\r
+ void SoundAndVibrationView::DeInit()\r
+ {\r
+ if (container_ != nullptr)\r
+ {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ if (SoundAndVibrationScrollView != nullptr)\r
+ {\r
+ delete SoundAndVibrationScrollView;\r
+ SoundAndVibrationScrollView = nullptr;\r
+ }\r
+ if (SoundAndVibrationLabel != nullptr)\r
+ {\r
+ delete SoundAndVibrationLabel;\r
+ SoundAndVibrationLabel = nullptr;\r
+ }\r
+ if (SystemVolumeButton != nullptr)\r
+ {\r
+ delete SystemVolumeButton;\r
+ SystemVolumeButton = nullptr;\r
+ }\r
+ if (CallVolumeButton != nullptr)\r
+ {\r
+ delete CallVolumeButton;\r
+ CallVolumeButton = nullptr;\r
+ }\r
+ if (image1 != nullptr)\r
+ {\r
+ delete image1;\r
+ image1 = nullptr;\r
+ }\r
+ if (image2 != nullptr)\r
+ {\r
+ delete image2;\r
+ image2 = nullptr;\r
+ }\r
+ if (SilentModeImage != nullptr)\r
+ {\r
+ delete SilentModeImage;\r
+ SilentModeImage = nullptr;\r
+ }\r
+ if (SilentModeLabe_ != nullptr)\r
+ {\r
+ delete SilentModeLabe_;\r
+ SilentModeLabe_ = nullptr;\r
+ }\r
+ if (VibrationReminderToggleButton != nullptr)\r
+ {\r
+ delete VibrationReminderToggleButton;\r
+ VibrationReminderToggleButton = nullptr;\r
+ }\r
+ if (SilentModeLabel != nullptr)\r
+ {\r
+ delete SilentModeLabel;\r
+ SilentModeLabel = nullptr;\r
+ }\r
+ if (VibrationReminderImage != nullptr)\r
+ {\r
+ delete VibrationReminderImage;\r
+ VibrationReminderImage = nullptr;\r
+ }\r
+ if (SilentModeToggleButton != nullptr)\r
+ {\r
+ delete SilentModeToggleButton;\r
+ SilentModeToggleButton = nullptr;\r
+ }\r
+ if (VibrationReminderLabel != nullptr)\r
+ {\r
+ delete VibrationReminderLabel;\r
+ VibrationReminderLabel = nullptr;\r
+ }\r
+ if (MediaVolumeButton != nullptr)\r
+ {\r
+ delete MediaVolumeButton;\r
+ MediaVolumeButton = nullptr;\r
+ }\r
+ }\r
+\r
+ void SoundAndVibrationView::OnStart()\r
+ {\r
+ View<SoundAndVibrationPresenter>::OnStart();\r
+ InitView();\r
+ RootView::GetInstance()->Add(container_);\r
+ }\r
+\r
+ void SoundAndVibrationView::OnSetUpView()\r
+ {\r
+\r
+ View<SoundAndVibrationPresenter>::OnSetUpView();\r
+ Draw();\r
+ }\r
+\r
+ void SoundAndVibrationView::OnTearDownView()\r
+ {\r
+\r
+ View<SoundAndVibrationPresenter>::OnTearDownView();\r
+ return;\r
+ }\r
+\r
+ void SoundAndVibrationView::OnStop()\r
+ {\r
+\r
+ View<SoundAndVibrationPresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+#include "graphic_math.h"\r
+#include "string.h"\r
+#include "soundandvibration/include/SystemVolumePresenter.h"\r
+//系统音量\r
+namespace OHOS{\r
+ \r
+ //当前Presenter属性实例化的内存指针\r
+ static SystemVolumePresenter *g_pSystemVolumePresenter = nullptr; \r
+ \r
+ SystemVolumePresenter::SystemVolumePresenter(){\r
+ \r
+ g_pSystemVolumePresenter = this;\r
+ }\r
+ \r
+ SystemVolumePresenter::~SystemVolumePresenter(){\r
+ \r
+ g_pSystemVolumePresenter = nullptr;\r
+ }\r
+ \r
+ SystemVolumePresenter *SystemVolumePresenter::GetInstance(){\r
+ \r
+ return g_pSystemVolumePresenter;\r
+ }\r
+ \r
+ void SystemVolumePresenter::OnStart(){\r
+ \r
+ Presenter<SystemVolumeView>::OnStart(); \r
+ }\r
+ \r
+ void SystemVolumePresenter::OnPause(void){\r
+ \r
+ Presenter<SystemVolumeView>::OnPause();\r
+ }\r
+ \r
+ void SystemVolumePresenter::OnResume(void){\r
+ \r
+ Presenter<SystemVolumeView>::OnResume();\r
+ }\r
+ \r
+ void SystemVolumePresenter::OnStop(void){\r
+ \r
+ Presenter<SystemVolumeView>::OnStop(); \r
+ }\r
+ \r
+ bool SystemVolumePresenter::OnDrag(UIView &view, const DragEvent &event){\r
+ \r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
+ (event.GetDeltaX() > 30) && (event.GetDeltaX() > (3 * MATH_ABS(event.GetDeltaY()))))\r
+ {\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_SOUND_VIBRATION);\r
+ uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
+ NativeAbility::GetInstance().ChangeSlice(preSlice);\r
+ }\r
+ return true;\r
+ }\r
+ \r
+ bool SystemVolumePresenter::OnClick(UIView &view, const ClickEvent &event){\r
+ \r
+ // 根据控件id查找是哪个控件触发了点击回调\r
+ // if (strcmp(view.GetViewId(), 控件ID) == 0)\r
+ // if(strcmp(view.GetViewId(), BRIGHTNESS_CONTROL_SLIDER))\r
+ // {\r
+ \r
+ // }\r
+ return true;\r
+ }\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
--- /dev/null
+#include "soundandvibration/include/SystemVolumeView.h"\r
+#include "soundandvibration/include/SystemVolumePresenter.h"\r
+#include "UiConfig.h"\r
+\r
+/*\r
+系统音量:\r
+通话,提醒,查找手表的音量\r
+*/\r
+\r
+namespace OHOS\r
+{\r
+\r
+ static SystemVolumeView *g_pSystemVolumeView{nullptr};\r
+\r
+ SystemVolumeView::SystemVolumeView()\r
+ {\r
+ g_pSystemVolumeView = this;\r
+ }\r
+\r
+ SystemVolumeView::~SystemVolumeView()\r
+ {\r
+ g_pSystemVolumeView = nullptr;\r
+ if (container_ != nullptr)\r
+ {\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ if (SystemVolumeslider != nullptr)\r
+ {\r
+ delete SystemVolumeslider;\r
+ SystemVolumeslider = nullptr;\r
+ }\r
+ if (SystemVolumeimageicon != nullptr)\r
+ {\r
+ delete SystemVolumeimageicon;\r
+ SystemVolumeimageicon = nullptr;\r
+ }\r
+ }\r
+\r
+ SystemVolumeView *SystemVolumeView::GetInstance()\r
+ {\r
+\r
+ return g_pSystemVolumeView;\r
+ }\r
+ void SystemVolumeView::InitView(void)\r
+ {\r
+ if (container_ == nullptr)\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
+ }\r
+ draglistener = static_cast<UIView::OnDragListener *>(SystemVolumePresenter::GetInstance());\r
+ container_->SetOnDragListener(draglistener);\r
+ container_->SetTouchable(true);\r
+ container_->SetDraggable(true);\r
+ /********************************************************************************************************/\r
+ if (SystemVolumeslider == nullptr)\r
+ {\r
+ SystemVolumeslider = new UISlider();\r
+ }\r
+ SystemVolumeslider->SetPosition(167, 77);\r
+ SystemVolumeslider->Resize(130, 310);\r
+ SystemVolumeslider->SetViewId(SYSTEM_VOLUME_SLIDER);\r
+ SystemVolumeslider->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ SystemVolumeslider->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ SystemVolumeslider->SetStyle(STYLE_BORDER_OPA, 0x19);\r
+ SystemVolumeslider->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+ SystemVolumeslider->SetDirection(UISlider::Direction::DIR_BOTTOM_TO_TOP);\r
+ SystemVolumeslider->SetValue(50);\r
+ SystemVolumeslider->SetSliderColor(Color::GetColorFromRGBA(0x19, 0x19, 0x19, 0xff), Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0xff));\r
+ SystemVolumeslider->SetKnobStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ SystemVolumeslider->SetForegroundStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ SystemVolumeslider->SetBackgroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 圆帽式\r
+ SystemVolumeslider->SetForegroundStyle(STYLE_LINE_CAP, CapType::CAP_ROUND); // 设置进度条的前景样式。圆帽式\r
+ SystemVolumeslider->SetStyle(STYLE_BORDER_COLOR, Color::Black().full);\r
+ SystemVolumeslider->SetStyle(STYLE_BORDER_WIDTH,2);\r
+ sliderClick = static_cast<UIView::OnClickListener *>(SystemVolumePresenter::GetInstance()); // 用来处理之后点击slider的点击事件\r
+ SystemVolumeslider->SetOnClickListener(sliderClick);\r
+ sliderDrag = static_cast<UIView::OnDragListener *>(SystemVolumePresenter::GetInstance()); // 用来处理之后拖动slider的拖动事件\r
+ SystemVolumeslider->SetOnDragListener(sliderDrag);\r
+ container_->Add(SystemVolumeslider);\r
+ SystemVolumeslider->SetVisible(true);\r
+ /********************************************************************************************************/\r
+ if (SystemVolumeimageicon == nullptr)\r
+ {\r
+ SystemVolumeimageicon = new UIImageView();\r
+ }\r
+ SystemVolumeimageicon->SetPosition(213, 213); // widget's left position and top position\r
+ SystemVolumeimageicon->Resize(100, 100); // widget's width and height\r
+ SystemVolumeimageicon->SetViewId("SystemVolumeimageicon"); // Set style\r
+ SystemVolumeimageicon->SetStyle(STYLE_BORDER_COLOR, 0xffAAAAAA);\r
+ SystemVolumeimageicon->SetSrc(PNG_VOLUME_CONTROL_VECTOR);\r
+\r
+ container_->Add(SystemVolumeimageicon);\r
+ SystemVolumeimageicon->SetVisible(true);\r
+ }\r
+\r
+ void SystemVolumeView::OnStart()\r
+ {\r
+ View<SystemVolumePresenter>::OnStart();\r
+ InitView();\r
+ RootView::GetInstance()->Add(container_);\r
+ }\r
+\r
+ void SystemVolumeView::OnSetUpView()\r
+ {\r
+ View<SystemVolumePresenter>::OnSetUpView();\r
+ Draw();\r
+ }\r
+\r
+ void SystemVolumeView::OnTearDownView()\r
+ {\r
+ View<SystemVolumePresenter>::OnTearDownView();\r
+ return;\r
+ }\r
+\r
+ void SystemVolumeView::OnStop()\r
+ {\r
+ View<SystemVolumePresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
+ }\r
+}\r