if [ "$2" == "" ]
then
-RELEASE_BUILD=release
-else
RELEASE_BUILD=debug
+else
+RELEASE_BUILD=release
fi
CURRENT_BRANCH=`git branch |awk '$1=="*"{print $2}'`
COMMIT_ID=`git rev-parse HEAD`
#系统
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemAboutTheWatchView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemSuperviseView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemLanguageView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetView.cpp
#声音与震动
VIEW_FUTURE_WEATHER, // 未来天气
VIEW_GET_WEATHER_DATA_ERROR, // 获取天气数据失败
VIEW_SYSTEM, // 系统
- VIEW_SYSTEM_FACTORY_RESET, // 系统:恢复出厂设置
VIEW_SOUND_VIBRATION, // 声音与震动
VIEW_SYSTEM_VOLUME, // 系统音量
VIEW_CALL_VOLUME, // 通话音量
void InitGetWeatherDataErrorSlice(void);
/* -------------------------------------------------------------------------- */
void InitSystemSlice(void);
- void InitSystemFactoryResetSlice(void);
/* -------------------------------------------------------------------------- */
void InitSoundAndVibrationSlice(void);
void InitSystemVolumeSlice(void);
#include "system/include/SystemPresenter.h"
#include "system/include/SystemView.h"
-#include "system/include/SystemFactoryResetPresenter.h"
-#include "system/include/SystemFactoryResetView.h"
#include "soundandvibration/include/SoundAndVibrationPresenter.h"
#include "soundandvibration/include/SoundAndVibrationView.h"
{VIEW_FUTURE_WEATHER, &NativeLauncher::InitFutureWeatherSlice}, // 未来天气
{VIEW_GET_WEATHER_DATA_ERROR, &NativeLauncher::InitGetWeatherDataErrorSlice}, // 获取天气数据失败
{VIEW_SYSTEM, &NativeLauncher::InitSystemSlice}, // 系统实例化地址
- {VIEW_SYSTEM_FACTORY_RESET, &NativeLauncher::InitSystemFactoryResetSlice}, // 系统:恢复出厂设置实例化地址
{VIEW_SOUND_VIBRATION, &NativeLauncher::InitSoundAndVibrationSlice}, // 声音与震动实例化地址
{VIEW_SYSTEM_VOLUME, &NativeLauncher::InitSystemVolumeSlice}, // 系统音量
NativeAbility::GetInstance().AddSliceProxy(VIEW_SYSTEM, system);
}
- void NativeLauncher::InitSystemFactoryResetSlice(void) // 系统:恢复出厂设置
- {
- SliceProxy *systemfactoryreset = new AbilitySliceProxy<SystemFactoryResetView, SystemFactoryResetPresenter>;
- if (systemfactoryreset == nullptr)
- {
- return;
- }
- NativeAbility::GetInstance().AddSliceProxy(VIEW_SYSTEM_FACTORY_RESET, systemfactoryreset);
- }
-
void NativeLauncher::InitMessageSlice(void) // 消息中心
{
SliceProxy *messageview = new AbilitySliceProxy<MessageView, MessagePresenter>;
+++ /dev/null
-#ifndef SYSTEM_FACTORYRESET_PRESENTER_H\r
-#define SYSTEM_FACTORYRESET_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-\r
-#include "SystemFactoryResetView.h"\r
-\r
-namespace OHOS\r
-{\r
- class SystemFactoryResetView;\r
-\r
- class SystemFactoryResetPresenter : public Presenter<SystemFactoryResetView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener\r
- {\r
- public:\r
- SystemFactoryResetPresenter();\r
- virtual ~SystemFactoryResetPresenter();\r
-\r
- void OnStart() override;\r
- void OnPause() override;\r
- void OnResume() override;\r
- void OnStop() override;\r
-\r
- static SystemFactoryResetPresenter *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 // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
#include "BaseView.h"\r
#include "View.h"\r
\r
-#include "components/ui_view_group.h"\r
#include "components/ui_image_view.h"\r
#include "components/ui_button.h"\r
+#include "components/ui_scroll_view.h"\r
namespace OHOS\r
{\r
- static const char *FACTORYRESET_CHECKON = "ShoutDownButtonCheckOn";//确认\r
- static const char *FACTORYRESET_CHECKOFF = "ShoutDownButtonCheckOff";//取消\r
- class SystemFactoryResetPresenter;\r
- class SystemFactoryResetView : public View<SystemFactoryResetPresenter>\r
+ class SystemFactoryResetView\r
{\r
\r
public:\r
virtual ~SystemFactoryResetView();\r
static SystemFactoryResetView *GetInstance(void);\r
\r
- void OnStart() override;\r
- void OnSetUpView() override;\r
- void OnTearDownView() override;\r
- void OnStop() override;\r
+ UIScrollView *SystemFactoryResetViewInit(void);\r
+ void ClearAll(void);\r
\r
private:\r
-\r
- void InitView(void);\r
- void DeInitView(void);\r
-\r
- UIViewGroup *container_ = nullptr;\r
- UIImageView *FactoryResetImage = nullptr;\r
- UIButton *FactoryResetButtonCheckOn = nullptr;\r
- UIButton *FactoryResetButtonCheckOff = nullptr;\r
+ UIScrollView *scrollView{nullptr};\r
+ UIImageView *FactoryResetImage{nullptr}; // 恢复出厂设置背景图片\r
+ UIButton *FactoryResetButtonCheckOn{nullptr}; // 重置确认\r
+ UIButton *FactoryResetButtonCheckOff{nullptr}; // 重置否定\r
+ bool initViewStatus{false};\r
};\r
} // namespace OHOS\r
#endif
\ No newline at end of file
--- /dev/null
+#ifndef SYSTEM_MODEL_H
+#define SYSTEM_MODEL_H
+
+namespace OHOS
+{
+ class SystemModel
+ {
+ public:
+ static SystemModel *GetInstance(void);
+
+ private:
+ SystemModel() = default;
+ ~SystemModel(){}
+ SystemModel(const SystemModel &) = delete;
+ SystemModel &operator=(const SystemModel &) = delete;
+
+ };
+}
+
+#endif
\ No newline at end of file
\r
#include "Presenter.h"\r
#include "SystemView.h"\r
+#include "system/include/SystemModel.h"\r
#include "components/ui_radio_button.h"\r
namespace OHOS\r
{\r
+ typedef enum\r
+ {\r
+ SYSTEMVIEW = 0, // 系统视图(slice)\r
+ ABOUTTHEWATCHVIEW, // 关于手表视图(subView)\r
+ SUPERVISEVIEW, // 监管视图(subView)\r
+ SYSTEMLANGUAGEVIEW, // 系统语言视图(subView)\r
+ FACTORYRESETVIEW, // 恢复出厂设置视图(subView)\r
+ MAX_VIEWID,\r
+ } SYSTEMVIEWId;\r
\r
+ /* ---------------------------- 系统语言界面单选按钮VIEWID ---------------------------- */\r
static const char *SIMPLIFIED_CHINESE_CHECKBOX = "SimplifiedChineseCheckBox"; // 简体中文\r
static const char *ENGLISH_CHECKBOX = "EnglishCheckBox"; // English\r
+ /* ---------------------------- 恢复出厂设置界面按钮的VIEWID --------------------------- */\r
+ static const char *FACTORYRESET_CHECKON = "ShoutDownButtonCheckOn"; // 确认\r
+ static const char *FACTORYRESET_CHECKOFF = "ShoutDownButtonCheckOff"; // 取消\r
class RadiobuttonOnChangeListener : public UICheckBox::OnChangeListener\r
{\r
public:\r
{\r
public:\r
SystemViewOnDragListener() {}\r
-\r
~SystemViewOnDragListener() {}\r
-\r
bool OnDrag(UIView &view, const DragEvent &event) override;\r
};\r
\r
class SystemView;\r
+ class UISampleModel;\r
class SystemPresenter : public Presenter<SystemView>,\r
public UIView::OnClickListener,\r
public UIView::OnDragListener\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
bool OnDrag(UIView &view, const DragEvent &event) override;\r
bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
+\r
+ private:\r
+ SystemModel *systemModel;\r
};\r
} // namespace OHOS\r
\r
#include "system/include/SystemAboutTheWatchView.h"\r
#include "system/include/SystemSuperviseView.h"\r
#include "system/include/SystemLanguageView.h"\r
+#include "system/include/SystemFactoryResetView.h"\r
namespace OHOS\r
{\r
static const char *ABOUT_THE_WATCH = "AboutTheWatchButton"; // 关于手表\r
bool ChangeSystemAboutView(int16_t thisView);\r
bool ChangeSystemSuperviseView(int16_t thisView);\r
bool ChangeSystemLanguageView(int16_t thisView);\r
+ bool ChangeSystemFactoryResetView(int16_t thisView);\r
bool ClickFunc(int16_t interface);\r
void ChangeView(int16_t hideView, int16_t showView);\r
+ UIScrollView *GetSystemScrollView(int ViewId);\r
private:\r
void InitIView(void);\r
void ClearAll(void);\r
SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr};\r
SystemSuperviseView *p_SystemSuperviseView{nullptr};\r
SystemLanguageView *p_SystemLanguageView{nullptr};\r
+ SystemFactoryResetView *p_SystemFactoryResetView{nullptr};\r
UIScrollView *SystemScrollView[5]{nullptr};\r
UILabel *SystemLabel{nullptr}; // 标题\r
UIButton *AboutTheWatchButton{nullptr};\r
+++ /dev/null
-#include "AppViewIDs.h"\r
-#include "NativeAbility.h"\r
-#include "graphic_math.h"\r
-#include "string.h"\r
-#include "system/include/SystemFactoryResetPresenter.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- // 当前Presenter属性实例化的内存指针\r
- static SystemFactoryResetPresenter *g_pSystemFactoryResetPresenter = nullptr;\r
-\r
- SystemFactoryResetPresenter::SystemFactoryResetPresenter()\r
- {\r
-\r
- g_pSystemFactoryResetPresenter = this;\r
- }\r
-\r
- SystemFactoryResetPresenter::~SystemFactoryResetPresenter()\r
- {\r
-\r
- g_pSystemFactoryResetPresenter = nullptr;\r
- }\r
-\r
- SystemFactoryResetPresenter *SystemFactoryResetPresenter::GetInstance()\r
- {\r
-\r
- return g_pSystemFactoryResetPresenter;\r
- }\r
-\r
- void SystemFactoryResetPresenter::OnStart()\r
- {\r
-\r
- Presenter<SystemFactoryResetView>::OnStart();\r
- }\r
-\r
- void SystemFactoryResetPresenter::OnPause(void)\r
- {\r
-\r
- Presenter<SystemFactoryResetView>::OnPause();\r
- }\r
-\r
- void SystemFactoryResetPresenter::OnResume(void)\r
- {\r
-\r
- Presenter<SystemFactoryResetView>::OnResume();\r
- }\r
-\r
- void SystemFactoryResetPresenter::OnStop(void)\r
- {\r
-\r
- Presenter<SystemFactoryResetView>::OnStop();\r
- }\r
-\r
- bool SystemFactoryResetPresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
-\r
- UNUSED(view);\r
- UNUSED(event);\r
- return true;\r
- }\r
-\r
- bool SystemFactoryResetPresenter::OnClick(UIView &view, const ClickEvent &event)\r
- {\r
-\r
- // 根据控件id查找是哪个控件触发了点击回调\r
- if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0)\r
- {\r
- return true;\r
- }\r
- else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM);\r
- return true;\r
- }\r
- return false;\r
- }\r
-}
\ No newline at end of file
#include "system/include/SystemFactoryResetView.h"\r
-#include "system/include/SystemFactoryResetPresenter.h"\r
-\r
+#include "system/include/SystemPresenter.h"\r
+#include "wearable_log.h"\r
#include "UiConfig.h"\r
\r
namespace OHOS\r
\r
SystemFactoryResetView::SystemFactoryResetView()\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::SystemFactoryResetView");\r
g_pSystemFactoryResetView = this;\r
}\r
\r
SystemFactoryResetView::~SystemFactoryResetView()\r
{\r
- DeInitView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::~SystemFactoryResetView");\r
+ ClearAll();\r
g_pSystemFactoryResetView = nullptr;\r
}\r
\r
return g_pSystemFactoryResetView;\r
}\r
\r
- void SystemFactoryResetView::InitView()\r
+ void SystemFactoryResetView::ClearAll()\r
{\r
- if (container_ == nullptr)\r
+ if (initViewStatus == true)\r
{\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+ scrollView->RemoveAll();\r
+ delete FactoryResetImage;\r
+ FactoryResetImage = nullptr;\r
+ delete FactoryResetButtonCheckOn;\r
+ FactoryResetButtonCheckOn = nullptr;\r
+ delete FactoryResetButtonCheckOff;\r
+ FactoryResetButtonCheckOff = nullptr;\r
+ delete scrollView;\r
+ scrollView = nullptr;\r
}\r
- // Add ImageView to App\r
- if (FactoryResetImage == nullptr)\r
+ }\r
+\r
+ UIScrollView *SystemFactoryResetView::SystemFactoryResetViewInit(void)\r
+ {\r
+ scrollView = new UIScrollView();\r
+ if (scrollView == nullptr)\r
{\r
- FactoryResetImage = new UIImageView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::new scrollView fail!");\r
+ return nullptr;\r
}\r
- FactoryResetImage->SetPosition(0, 0); // widget's left position and top position\r
- FactoryResetImage->Resize(466, 466); // widget's width and height\r
- FactoryResetImage->SetViewId("FactoryResetImage"); // Set style\r
- FactoryResetImage->SetStyle(STYLE_BORDER_RADIUS, 300);\r
- FactoryResetImage->SetSrc("/user/res/system/factoryreset.bin"); //恢复出厂设置\r
- // Add to rootView\r
- container_->Add(FactoryResetImage);\r
- FactoryResetImage->SetVisible(true);\r
-\r
- // Add Button to App\r
- if (FactoryResetButtonCheckOn == nullptr)\r
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ scrollView->SetStyle(STYLE_BORDER_RADIUS, 1294);\r
+ /* ---------------------------- FactoryResetImage --------------------------- */\r
+ FactoryResetImage = new UIImageView();\r
+ if (FactoryResetImage == nullptr)\r
{\r
- FactoryResetButtonCheckOn = new UIButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::new FactoryResetImage fail!");\r
+ return nullptr;\r
}\r
- FactoryResetButtonCheckOn->SetPosition(256, 336); // widget's left position and top position\r
- FactoryResetButtonCheckOn->Resize(100, 100); // widget's width and height\r
- FactoryResetButtonCheckOn->SetViewId(FACTORYRESET_CHECKON); // Set style\r
- FactoryResetButtonCheckOn->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- FactoryResetButtonCheckOn->SetImageSrc(PNG_SYSTEM_CHECK_ON_IMAGE, nullptr);\r
- FactoryResetButtonCheckOn->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
- FactoryResetButtonCheckOn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- // Add the CallBack about events\r
- UIView::OnClickListener *FactoryResetButtonCheckOnClick = static_cast<UIView::OnClickListener *>(SystemFactoryResetPresenter::GetInstance());\r
- FactoryResetButtonCheckOn->SetOnClickListener(FactoryResetButtonCheckOnClick);\r
- // Add to rootView\r
- container_->Add(FactoryResetButtonCheckOn);\r
- FactoryResetButtonCheckOn->SetVisible(true);\r
-\r
- // Add Button to App\r
+ FactoryResetImage->SetPosition(0, 0, 466, 466);\r
+ FactoryResetImage->SetStyle(STYLE_BORDER_RADIUS, 300);\r
+ FactoryResetImage->SetSrc("/user/res/system/factoryreset.bin"); // 恢复出厂设置\r
+ /* ----------------------- FactoryResetButtonCheckOff ----------------------- */\r
+ FactoryResetButtonCheckOff = new UIButton();\r
if (FactoryResetButtonCheckOff == nullptr)\r
{\r
- FactoryResetButtonCheckOff = new UIButton();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::new FactoryResetButtonCheckOff fail!");\r
+ return nullptr;\r
}\r
- FactoryResetButtonCheckOff->SetPosition(111, 336); // widget's left position and top position\r
- FactoryResetButtonCheckOff->Resize(100, 100); // widget's width and height\r
- FactoryResetButtonCheckOff->SetViewId(FACTORYRESET_CHECKOFF); // Set style\r
- FactoryResetButtonCheckOff->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- FactoryResetButtonCheckOff->SetImageSrc(PNG_SYSTEM_CHECK_OFF_IMAGE, nullptr);\r
+ FactoryResetButtonCheckOff->SetPosition(240, 320, 130, 130);\r
+ FactoryResetButtonCheckOff->SetViewId(FACTORYRESET_CHECKOFF);\r
+ FactoryResetButtonCheckOff->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ FactoryResetButtonCheckOff->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
FactoryResetButtonCheckOff->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
FactoryResetButtonCheckOff->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- // Add the CallBack about events\r
- UIView::OnClickListener *FactoryResetButtonCheckOffClick = static_cast<UIView::OnClickListener *>(SystemFactoryResetPresenter::GetInstance());\r
+ UIView::OnClickListener *FactoryResetButtonCheckOffClick = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
FactoryResetButtonCheckOff->SetOnClickListener(FactoryResetButtonCheckOffClick);\r
- // Add to rootView\r
- container_->Add(FactoryResetButtonCheckOff);\r
- FactoryResetButtonCheckOff->SetVisible(true);\r
- }\r
-\r
- void SystemFactoryResetView::DeInitView()\r
- {\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- if (FactoryResetImage != nullptr)\r
- {\r
- delete FactoryResetImage;\r
- FactoryResetImage = nullptr;\r
- }\r
- if (FactoryResetButtonCheckOn != nullptr)\r
- {\r
- delete FactoryResetButtonCheckOn;\r
- FactoryResetButtonCheckOn = nullptr;\r
- }\r
- if (FactoryResetButtonCheckOff != nullptr)\r
+ /* ------------------------ FactoryResetButtonCheckOn ----------------------- */\r
+ FactoryResetButtonCheckOn = new UIButton();\r
+ if (FactoryResetButtonCheckOn == nullptr)\r
{\r
- delete FactoryResetButtonCheckOff;\r
- FactoryResetButtonCheckOff = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemFactoryResetView::new FactoryResetButtonCheckOn fail!");\r
+ return nullptr;\r
}\r
- }\r
-\r
- void SystemFactoryResetView::OnStart()\r
- {\r
- View<SystemFactoryResetPresenter>::OnStart();\r
- InitView();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void SystemFactoryResetView::OnSetUpView()\r
- {\r
- View<SystemFactoryResetPresenter>::OnSetUpView();\r
- Draw();\r
- }\r
+ FactoryResetButtonCheckOn->SetPosition(97, 320, 130, 130);\r
+ FactoryResetButtonCheckOn->SetViewId(FACTORYRESET_CHECKON);\r
+ FactoryResetButtonCheckOn->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ FactoryResetButtonCheckOn->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+ FactoryResetButtonCheckOn->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
+ FactoryResetButtonCheckOn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ UIView::OnClickListener *FactoryResetButtonCheckOnClick = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
+ FactoryResetButtonCheckOn->SetOnClickListener(FactoryResetButtonCheckOnClick);\r
\r
- void SystemFactoryResetView::OnTearDownView()\r
- {\r
- View<SystemFactoryResetPresenter>::OnTearDownView();\r
- return;\r
+ /* ----------------------------- Add to scroView ---------------------------- */\r
+ scrollView->Add(FactoryResetImage);\r
+ scrollView->Add(FactoryResetButtonCheckOff);\r
+ scrollView->Add(FactoryResetButtonCheckOn);\r
+ initViewStatus = true;\r
+ return scrollView;\r
}\r
\r
- void SystemFactoryResetView::OnStop()\r
- {\r
- View<SystemFactoryResetPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
- }\r
}
\ No newline at end of file
scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
scrollView->SetStyle(STYLE_BORDER_RADIUS, 1294);\r
- scrollView->SetVisible(true);\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
if (draglistener == nullptr)\r
{\r
--- /dev/null
+#include "system/include/SystemModel.h"
+
+namespace OHOS
+{
+
+ SystemModel *SystemModel::GetInstance(void)
+ {
+ static SystemModel instance;
+ return &instance;
+ }
+
+}
\ No newline at end of file
\r
SystemPresenter::SystemPresenter()\r
{\r
-\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemPresenter::SystemPresenter");\r
g_pSystemPresenter = this;\r
+ systemModel = SystemModel::GetInstance();\r
}\r
\r
SystemPresenter::~SystemPresenter()\r
{\r
-\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemPresenter::~SystemPresenter");\r
g_pSystemPresenter = nullptr;\r
}\r
\r
\r
bool SystemPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
-\r
+ SystemView *p_SystemView = SystemView::GetInstance();\r
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM);\r
+ for (int i = 1; i < MAX_VIEWID; i++)\r
+ {\r
+ if (p_SystemView->GetSystemScrollView(i)->IsVisible() == true)\r
+ {\r
+ p_SystemView->ChangeView(i, SYSTEMVIEW);\r
+ break;\r
+ }\r
+ }\r
return true;\r
}\r
return false;\r
}\r
\r
+ // 该点击回调主要用于在系统视图界面进行跳转视图\r
bool SystemPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
-\r
+ SystemView *p_SystemView = SystemView::GetInstance();\r
// 根据控件id查找是哪个控件触发了点击回调\r
if (strcmp(view.GetViewId(), ABOUT_THE_WATCH) == 0)\r
{\r
- SystemView::GetInstance()->ChangeView(0, 1);\r
+ SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ABOUTTHEWATCHVIEW);\r
return true;\r
}\r
else if (strcmp(view.GetViewId(), SUPERVISE) == 0)\r
{\r
- SystemView::GetInstance()->ChangeView(0, 2);\r
+ SystemView::GetInstance()->ChangeView(SYSTEMVIEW, SUPERVISEVIEW);\r
return true;\r
}\r
else if (strcmp(view.GetViewId(), SYSTEM_LANGUAGE) == 0)\r
{\r
- SystemView::GetInstance()->ChangeView(0, 3);\r
+ SystemView::GetInstance()->ChangeView(SYSTEMVIEW, SYSTEMLANGUAGEVIEW);\r
return true;\r
}\r
else if (strcmp(view.GetViewId(), FACTORY_RESET) == 0)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SYSTEM_FACTORY_RESET);\r
+ SystemView::GetInstance()->ChangeView(SYSTEMVIEW, FACTORYRESETVIEW);\r
+ return true;\r
+ }\r
+ else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON))\r
+ {\r
+ return true;\r
+ }\r
+ else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF))\r
+ {\r
+ p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
return true;\r
}\r
return false;\r
}\r
\r
+ // 该拖拽是用来处理系统视图(slice)的左滑退出事件和子视图的左滑退出到系统视图区分开\r
bool SystemViewOnDragListener::OnDrag(UIView &view, const DragEvent &event)\r
{\r
if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&\r
return false;\r
}\r
\r
+ // 用来监听语言切换\r
bool RadiobuttonOnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
{\r
switch (state)\r
{\r
if (initViewStatus == true)\r
{\r
- SystemScrollView[0]->RemoveAll();\r
+ SystemScrollView[SYSTEMVIEW]->RemoveAll();\r
+ UIView::OnDragListener *draglistener = SystemScrollView[SYSTEMVIEW]->GetOnDragListener();\r
+ if (draglistener != nullptr)\r
+ {\r
+ delete draglistener;\r
+ draglistener = nullptr;\r
+ }\r
delete p_SystemAboutTheWatchView;\r
p_SystemAboutTheWatchView = nullptr;\r
delete p_SystemSuperviseView;\r
p_SystemSuperviseView = nullptr;\r
delete p_SystemLanguageView;\r
p_SystemLanguageView = nullptr;\r
+ delete p_SystemFactoryResetView;\r
+ p_SystemFactoryResetView = nullptr;\r
delete SystemLabel;\r
SystemLabel = nullptr;\r
delete AboutTheWatchButton;\r
/// @return true 设置成功,false 失败\r
bool SystemView::SetTheSystemScrollView(void)\r
{\r
- SystemScrollView[0] = new UIScrollView();\r
- if (SystemScrollView == nullptr)\r
+ SystemScrollView[SYSTEMVIEW] = new UIScrollView();\r
+ if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemScrollView new fail!");\r
return false;\r
}\r
- SystemScrollView[0]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- SystemScrollView[0]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SystemScrollView[0]->SetScrollBlankSize(35);\r
- SystemScrollView[0]->SetReboundSize(50);\r
- SystemScrollView[0]->SetDirection(1);\r
+ SystemScrollView[SYSTEMVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ SystemScrollView[SYSTEMVIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ SystemScrollView[SYSTEMVIEW]->SetScrollBlankSize(35);\r
+ SystemScrollView[SYSTEMVIEW]->SetReboundSize(50);\r
+ SystemScrollView[SYSTEMVIEW]->SetDirection(1);\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new SystemViewOnDragListener());\r
if (draglistener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!");\r
return false;\r
}\r
- SystemScrollView[0]->SetOnDragListener(draglistener);\r
- SystemScrollView[0]->SetTouchable(true);\r
- SystemScrollView[0]->SetDraggable(true);\r
+ SystemScrollView[SYSTEMVIEW]->SetOnDragListener(draglistener);\r
+ SystemScrollView[SYSTEMVIEW]->SetTouchable(true);\r
+ SystemScrollView[SYSTEMVIEW]->SetDraggable(true);\r
return true;\r
}\r
\r
button->SetViewId(buttonconfig.ViewId);\r
button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
button->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
- button->SetImageSrc(buttonconfig.ImageSrc, nullptr);\r
+ button->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc);\r
button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
button->SetOnClickListener(clickListener);\r
return button;\r
initViewStatus = true;\r
}\r
\r
- // 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
+ // 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
bool SystemView::ChangeSystemView(int16_t thisView)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemView");\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ if (SystemScrollView[thisView] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemView");\r
+ RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ }\r
return true;\r
}\r
\r
return true;\r
}\r
\r
+ // 4.跳转到恢复出厂设置界面\r
+ bool SystemView::ChangeSystemFactoryResetView(int16_t thisView)\r
+ {\r
+ if (SystemScrollView[thisView] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemFactoryResetView");\r
+ p_SystemFactoryResetView = new SystemFactoryResetView();\r
+ if (p_SystemFactoryResetView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
+ return false;\r
+ }\r
+ SystemScrollView[thisView] = p_SystemFactoryResetView->SystemFactoryResetViewInit();\r
+ RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ }\r
+ return true;\r
+ }\r
+ \r
+ UIScrollView *SystemView::GetSystemScrollView(int ViewId)\r
+ {\r
+ return SystemScrollView[ViewId];\r
+ }\r
+\r
/* -------------------------------------------------------------------------- */\r
// 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
struct SystemViewMapper\r
};\r
\r
// 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
- static const SystemViewMapper ViewMapper[] =\r
- {\r
- {0, &SystemView::ChangeSystemView},\r
- {1, &SystemView::ChangeSystemAboutView},\r
- {2, &SystemView::ChangeSystemSuperviseView},\r
- {3, &SystemView::ChangeSystemLanguageView},\r
+ static const SystemViewMapper ViewMapper[] = {\r
+ {SYSTEMVIEW, &SystemView::ChangeSystemView},\r
+ {ABOUTTHEWATCHVIEW, &SystemView::ChangeSystemAboutView},\r
+ {SUPERVISEVIEW, &SystemView::ChangeSystemSuperviseView},\r
+ {SYSTEMLANGUAGEVIEW, &SystemView::ChangeSystemLanguageView},\r
+ {FACTORYRESETVIEW, &SystemView::ChangeSystemFactoryResetView},\r
};\r
\r
// 3.根据传入的interface参数执行相应视图ID关联的成员函数。\r
bool SystemView::ClickFunc(int16_t interface)\r
{\r
- int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[0]);\r
+ int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[SYSTEMVIEW]);\r
for (int i = 0; i < funcSize; i++)\r
{\r
if (interface == ViewMapper[i].viewId)\r
// 4.切换视图\r
void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
{\r
- if (hideView > 5)\r
+ if (hideView > MAX_VIEWID)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
return;\r
void SystemView::OnSetUpView()\r
{\r
View<SystemPresenter>::OnSetUpView();\r
- if (SystemScrollView[0] == nullptr)\r
+ if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: OnSetUpView has nullptr");\r
return;\r
}\r
- SystemScrollView[0]->Add(SystemLabel);\r
- SystemScrollView[0]->Add(AboutTheWatchButton);\r
- SystemScrollView[0]->Add(SuperviseButton);\r
- SystemScrollView[0]->Add(SystemLanguageButton);\r
- SystemScrollView[0]->Add(FactoryResetButton);\r
- RootView::GetInstance()->Add(SystemScrollView[0]);\r
+ SystemScrollView[SYSTEMVIEW]->Add(SystemLabel);\r
+ SystemScrollView[SYSTEMVIEW]->Add(AboutTheWatchButton);\r
+ SystemScrollView[SYSTEMVIEW]->Add(SuperviseButton);\r
+ SystemScrollView[SYSTEMVIEW]->Add(SystemLanguageButton);\r
+ SystemScrollView[SYSTEMVIEW]->Add(FactoryResetButton);\r
+ RootView::GetInstance()->Add(SystemScrollView[SYSTEMVIEW]);\r
Draw();\r
}\r
\r