修改系统视图删除不必要的图片和代码,解决内存泄漏问题
authorluozheng <1732036298@qq.com>
Mon, 6 May 2024 12:44:58 +0000 (20:44 +0800)
committerluozheng <1732036298@qq.com>
Mon, 6 May 2024 12:44:58 +0000 (20:44 +0800)
27 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml
code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang
code/sdk/application/wearable/fd230app/nativeui/language/font/ja.lang
code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h
code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemAboutTheWatchView.h
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLanguageView.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h
code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLanguageView.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/KUMILOGO.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_ABOUT_THE_WATCH.bin [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_FACTORY_RESET.bin [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SUPERVISE.bin [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SYSTEM_LANGUAGE.bin [deleted file]
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/factoryreset.bin [deleted file]

index dbbe46a..f914e30 100644 (file)
@@ -360,7 +360,6 @@ set(SOURCES
     ${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/Systemupgrade.cpp    
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetView.cpp
 
index c4042f1..1ed3263 100644 (file)
@@ -301,4 +301,10 @@ STR_LIST_DISPLAY$List display
 STR_GRID_DISPLAY$Grid Display\r
 STR_CELLULAR_DISPLAY$Cellular Display\r
 STR_AUTO_DETECT$Auto Detect\r
+STR_ABOUT_WATCH$About Watch\r
+STR_WATCH_QR_CODE$watch QR code\r
+STR_SYSTEM_LANGUAGE$System Language\r
+STR_RESTART$ Restart\r
+STR_SHUTDOWN$Shutdown\r
+STR_FACTORY_RESET$Factory Reset\r
 STR_LANGUAGE$Language 
\ No newline at end of file
index 6e435c7..230c811 100644 (file)
@@ -301,4 +301,10 @@ STR_LIST_DISPLAY$列表显示
 STR_GRID_DISPLAY$网格显示\r
 STR_CELLULAR_DISPLAY$蜂窝显示\r
 STR_AUTO_DETECT$自动识别\r
+STR_ABOUT_WATCH$关于手表\r
+STR_WATCH_QR_CODE$手表二维码\r
+STR_SYSTEM_LANGUAGE$系统语言\r
+STR_RESTART$重启\r
+STR_SHUTDOWN$关机\r
+STR_FACTORY_RESET$恢复出厂\r
 STR_LANGUAGE$语言
\ No newline at end of file
index bdddb54..a8fbd33 100644 (file)
        <lanstr id="STR_GRID_DISPLAY" value="Grid Display"/>
        <lanstr id="STR_CELLULAR_DISPLAY" value="Cellular Display"/>
        <lanstr id="STR_AUTO_DETECT" value="Auto Detect"/>
+       <lanstr id="STR_ABOUT_WATCH" value="About Watch"/>
+       <lanstr id="STR_WATCH_QR_CODE" value="watch QR code"/>
+       <lanstr id="STR_SYSTEM_LANGUAGE" value="System Language"/>
+       <lanstr id="STR_RESTART" value=" Restart"/>
+       <lanstr id="STR_SHUTDOWN" value="Shutdown"/>
+       <lanstr id="STR_FACTORY_RESET" value="Factory Reset"/>
        <lanstr id="STR_LANGUAGE" value="Language"/>
 </language>
index 6597a5a..9b884e7 100644 (file)
        <lanstr id="STR_GRID_DISPLAY" value="网格显示"/>
        <lanstr id="STR_CELLULAR_DISPLAY" value="蜂窝显示"/>
        <lanstr id="STR_AUTO_DETECT" value="自动识别"/>
+       <lanstr id="STR_ABOUT_WATCH" value="关于手表"/>
+       <lanstr id="STR_WATCH_QR_CODE" value="手表二维码"/>
+       <lanstr id="STR_SYSTEM_LANGUAGE" value="系统语言"/>
+       <lanstr id="STR_RESTART" value="重启"/>
+       <lanstr id="STR_SHUTDOWN" value="关机"/>
+       <lanstr id="STR_FACTORY_RESET" value="恢复出厂"/>
        <lanstr id="STR_LANGUAGE" value="语言"/>
 </language>
index 75b51af..e564ebb 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang differ
index 00b0173..7c3cc07 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/ja.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/ja.lang differ
index e26afe8..5bf80d1 100644 (file)
@@ -314,8 +314,14 @@ enum UIResourceTextId : uint16_t {
     STR_GRID_DISPLAY = 301,\r
     STR_CELLULAR_DISPLAY = 302,\r
     STR_AUTO_DETECT = 303,\r
-    STR_LANGUAGE = 304,\r
-    STR_MAX_ID = 305,\r
+    STR_ABOUT_WATCH = 304,\r
+    STR_WATCH_QR_CODE = 305,\r
+    STR_SYSTEM_LANGUAGE = 306,\r
+    STR_RESTART = 307,\r
+    STR_SHUTDOWN = 308,\r
+    STR_FACTORY_RESET = 309,\r
+    STR_LANGUAGE = 310,\r
+    STR_MAX_ID = 311,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 3ba13c5..9e1c67a 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang differ
index e0fefb4..4335a64 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 09:14:38\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-15 18:20:29\r
+ * @LastEditTime: 2024-05-06 19:09:44\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemAboutTheWatchView.h\r
  */\r
 #ifndef SYSTEM_ABOUT_VIEW_H\r
@@ -17,6 +17,7 @@
 #include <iostream>\r
 namespace OHOS\r
 {\r
+    static constexpr const char *SYSTEMABOUTTHEWATCHVIEWID = "SystemAboutTheWatchView";   // 关于手表\r
     class SystemAboutTheWatchView\r
     {\r
 \r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLanguageView.h b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemLanguageView.h
deleted file mode 100644 (file)
index 72c5de6..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef SYSTEM_LANGUAGE_VIEW_H\r
-#define SYSTEM_LANGUAGE_VIEW_H\r
-\r
-#include "BaseView.h"\r
-#include "View.h"\r
-#include "components/ui_scroll_view.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_label_ext.h"\r
-#include "components/ui_radio_button.h"\r
-#include "components/ui_image_view.h"\r
-#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
-namespace OHOS\r
-{\r
-    class SystemLanguageView\r
-    {\r
-\r
-    public:\r
-        struct ImageConfig\r
-        {\r
-            int x;\r
-            int y;\r
-            int w;\r
-            int h;\r
-            const char *ImageSrc;\r
-        };\r
-        struct LabelConfig\r
-        {\r
-            int16_t left;\r
-            int16_t top;\r
-            int16_t width;\r
-            int16_t height;\r
-            int16_t fontSize;      // 字体大小\r
-            int16_t lineHeigh;     // 行高\r
-            const char *text;      // 文本\r
-            uint8_t lineBreakMode; // 断行模式。\r
-        };\r
-        struct RadioButtonConfig\r
-        {\r
-            int16_t left;\r
-            int16_t top;\r
-            int16_t width;\r
-            int16_t height;\r
-            const char *name;\r
-            const char *viewId;\r
-            const char *select;\r
-            const char *unselect;\r
-        };\r
-        SystemLanguageView();\r
-        virtual ~SystemLanguageView();\r
-        static SystemLanguageView *GetInstance(void);\r
-        UIScrollView *SystemLanguageViewInit(void);                              // 系统语言视图初始化\r
-        void ClearAll(void);                                                     // 清除所有组件\r
-        UIImageView *SetUpImageVIew(ImageConfig &imageconfig);                   // 设置图片\r
-        UILabel *SetUpLabel(LabelConfig &labelconfig);                           // 设置标签\r
-        UIRadioButton *SetUpRadioButton(RadioButtonConfig &radiobutton);         // 设置单选按钮\r
-        void SetRadioButtonSelectStatus(UIRadioButton &radiobutton, bool state); // 设置单选框的选择状态\r
-    private:\r
-        UIScrollView *scrollView = nullptr;\r
-        UILabelExt *Title = nullptr;            // 标题\r
-        UIImageView *Background[2]{nullptr}; // 放组件的背景\r
-        UILabel *SimplifiedChineseLabel = nullptr;\r
-        UILabel *EnglishLabel = nullptr;\r
-        UIRadioButton *SimplifiedChineseRadioButton = nullptr;\r
-        UIRadioButton *EnglishRadioButton = nullptr;\r
-        bool initViewStatus{false};\r
-    };\r
-} // namespace OHOS\r
-#endif
\ No newline at end of file
index 6c05a16..6216ba7 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-03-30 18:29:43\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-02 16:00:14\r
+ * @LastEditTime: 2024-05-06 19:56:05\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h\r
  */\r
 \r
@@ -22,53 +22,23 @@ namespace OHOS
     {\r
         SYSTEMVIEW = 0,     // 系统视图(slice)\r
         ABOUTTHEWATCHVIEW,  // 关于手表视图(subView)\r
-        SUPERVISEVIEW,      // 监管视图(subView)\r
+        SYSTEMLUPGRADE,     // 系统升级(subView)\r
+        WATCHQRCODE,        // 手表二维码视图(subView)\r
         SYSTEMLANGUAGEVIEW, // 系统语言视图(subView)\r
         FACTORYRESETVIEW,   // 恢复出厂设置视图(subView)upgrade\r
-        SYSTEMLUPGRADE,\r
         TEST,\r
         MAX_SYSTEMVIEWID,\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
-        RadiobuttonOnChangeListener(UIRadioButton *uiView, UILabelExt *label)\r
-        {\r
-            m_uiView = uiView;\r
-            m_label = label;\r
-        }\r
-        ~RadiobuttonOnChangeListener() {}\r
-        bool isChineseRadioButtonSelected();\r
-        bool isEnglishRadioButtonSelected();\r
-        bool OnChange(UICheckBox::UICheckBoxState state) override;\r
-\r
-    private:\r
-        UIRadioButton *m_uiView{nullptr};\r
-        UILabelExt *m_label{nullptr};\r
-    };\r
-\r
-    class SystemViewOnDragListener : public UIView::OnDragListener\r
-    {\r
-    public:\r
-        SystemViewOnDragListener() {}\r
-        ~SystemViewOnDragListener() {}\r
-        bool OnDrag(UIView &view, const DragEvent &event) override;\r
-        bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
-    };\r
 \r
     class SystemView;\r
     class SystemPresenter : public Presenter<SystemView>,\r
                             public UIView::OnClickListener,\r
                             public RootView::OnKeyActListener,\r
-                            public UIView::OnDragListener, \r
-                            public UICheckBox::OnChangeListener,\r
+                            public UIView::OnDragListener,\r
                             public UIView::OnTouchListener\r
     {\r
     public:\r
@@ -81,7 +51,8 @@ namespace OHOS
         void OnStop() override;\r
 \r
         static SystemPresenter *GetInstance();\r
-        void set_key_falg(bool);\r
+        //void set_key_falg(bool);\r
+\r
     private:\r
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
         bool OnClick(UIView &view, const ClickEvent &event) override;\r
@@ -89,11 +60,11 @@ namespace OHOS
         bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
         bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
         bool OnPress(UIView &view, const PressEvent &event) override;\r
-        bool OnChange(UICheckBox::UICheckBoxState state) override;\r
 \r
     private:\r
         SystemModel *systemModel;\r
-        bool isSystemUpgradeState{false};//是否处于升级状态\r
+        //bool isSystemUpgradeState{false}; // 是否处于升级状态\r
+        bool X_DRAG_FLAG{false};\r
     };\r
 } // namespace OHOS\r
 \r
index 7036fff..c906f84 100644 (file)
@@ -1,3 +1,10 @@
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 18:29:39\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-05-06 20:35:44\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h\r
+ */\r
 #ifndef SYSTEM_VIEW_H\r
 #define SYSTEM_VIEW_H\r
 \r
 #include "components/ui_label_button_ext.h"\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
 #include "system/include/Systemupgrade.h"\r
 #include "components/ui_toggle_button.h"\r
 \r
 namespace OHOS\r
 {\r
-    static const char *ABOUT_THE_WATCH = "AboutTheWatchButton";   // 关于手表\r
-    static const char *SUPERVISE = "SuperviseButton";             // 监管\r
-    static const char *SYSTEM_LANGUAGE = "SystemLanguageButton";  // 系统语言\r
-    static const char *FACTORY_RESET = "FactoryResetButton";      // 恢复出厂设置\r
-    static const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级\r
-    static const char *ABOUT_THE_WATCH_IMAGESRC = "/user/res/system/SYSTEM_ABOUT_THE_WATCH.bin";\r
-    static const char *SUPERVISE_IMAGESRC = "/user/res/system/SYSTEM_SUPERVISE.bin";\r
-    static const char *SYSTEM_LANGUAGE_IMAGESRC = "/user/res/system/SYSTEM_SYSTEM_LANGUAGE.bin";\r
-    static const char *FACTORY_RESET_LANGUAGE_IMAGESRC = "/user/res/system/SYSTEM_FACTORY_RESET.bin";\r
+    static constexpr const char *ABOUT_THE_WATCH = "AboutTheWatchButton";   // 关于手表\r
+    static constexpr const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级\r
+    static constexpr const char *WATCH_QR_CODE = "WatchqrcodeButton";       // 手表二维码\r
+    static constexpr const char *SYSTEM_LANGUAGE = "SystemLanguageButton";  // 系统语言\r
+    static constexpr const char *FACTORY_RESET = "FactoryResetButton";      // 恢复出厂设置\r
     class SystemPresenter;\r
     class SystemView : public View<SystemPresenter>\r
     {\r
@@ -41,22 +43,15 @@ namespace OHOS
         void OnSetUpView() override;\r
         void OnTearDownView() override;\r
         void OnStop() override;\r
-        struct ButtonConfig\r
-        {\r
-            int x;\r
-            int y;\r
-            int w;\r
-            int h;\r
-            const char *ViewId;\r
-            const char *ImageSrc;\r
-        };\r
+\r
         struct ButtonConfig_ext_t\r
         {\r
             int x;\r
             int y;\r
             int w;\r
             int h;\r
-            const char *str;\r
+            // const char *str;\r
+            uint16_t textId;\r
             const char *ViewId;\r
             const char *ImageSrc;\r
 \r
@@ -69,7 +64,7 @@ namespace OHOS
 \r
         bool ChangeSystemView(int16_t thisView);\r
         bool ChangeSystemAboutView(int16_t thisView);\r
-        bool ChangeSystemSuperviseView(int16_t thisView);\r
+        bool ChangeWatchQRCodeView(int16_t thisView);\r
         bool ChangeSystemLanguageView(int16_t thisView);\r
         bool ChangeSystemFactoryResetView(int16_t thisView);\r
         bool ChangeSystemupgradeView(int16_t thisView);\r
@@ -82,16 +77,14 @@ namespace OHOS
         void ClearAll(void);\r
         bool SetTheSystemScrollView(void);\r
         bool SetTheTitle(void);\r
-        bool Cat1_4GabilityButtonViewInit();\r
         UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &ButtonConfig_ext, UIView::OnClickListener *clickListener);\r
-        SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr};\r
-        SystemSuperviseView *p_SystemSuperviseView{nullptr};\r
-        SystemLanguageView *p_SystemLanguageView{nullptr};\r
-        SystemFactoryResetView *p_SystemFactoryResetView{nullptr};\r
-        SystemupgradeView *p_SystemupgradeView{nullptr};\r
+        SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr}; // 关于手表\r
+        SystemupgradeView *p_SystemupgradeView{nullptr};             // 系统升级\r
+        SystemSuperviseView *p_WatchQRCodeView{nullptr};             // 手表二维码\r
+        SystemFactoryResetView *p_SystemFactoryResetView{nullptr};   // 恢复出厂设置\r
         UIScrollView *SystemScrollView[10]{nullptr};\r
-        UILabelExt *SystemLabel{nullptr}; // 标题\r
-        bool initViewStatus{false};\r
+        UILabelExt *Title{nullptr}; // 标题\r
+        UILabelButtonExt *SystemViewButton[5]{nullptr};\r
     };\r
 } // namespace OHOS\r
 \r
index feab9bc..6eed99b 100644 (file)
@@ -177,7 +177,7 @@ namespace OHOS
         SystemAboutTheWatchScrollView->SetTouchable(true);\r
         SystemAboutTheWatchScrollView->SetDraggable(true);\r
 \r
-        SystemAboutTheWatchScrollView->SetViewId("SystemAboutTheWatchTitle");\r
+        SystemAboutTheWatchScrollView->SetViewId(SYSTEMABOUTTHEWATCHVIEWID);\r
         UIView::OnClickListener *touch = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
         SystemAboutTheWatchScrollView->SetOnClickListener(touch);\r
         return true;\r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLanguageView.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemLanguageView.cpp
deleted file mode 100644 (file)
index 08452c6..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-#include "system/include/SystemLanguageView.h"\r
-#include "system/include/SystemPresenter.h"\r
-#include "string.h"\r
-#include "UiConfig.h"\r
-#include "wearable_log.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
-    static SystemLanguageView *g_pSystemLanguageView{nullptr};\r
-\r
-    SystemLanguageView::SystemLanguageView()\r
-    {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SystemLanguageView");\r
-        g_pSystemLanguageView = this;\r
-    }\r
-\r
-    SystemLanguageView::~SystemLanguageView()\r
-    {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::~SystemLanguageView");\r
-        ClearAll();\r
-        g_pSystemLanguageView = nullptr;\r
-    }\r
-\r
-    SystemLanguageView *SystemLanguageView::GetInstance()\r
-    {\r
-        return g_pSystemLanguageView;\r
-    }\r
-\r
-    void SystemLanguageView::ClearAll()\r
-    {\r
-        if (initViewStatus == true)\r
-        {\r
-            scrollView->RemoveAll();\r
-            delete Title;\r
-            Title = nullptr;\r
-            for (int i = 0; i < 2; i++)\r
-            {\r
-                delete Background[i];\r
-                Background[i] = nullptr;\r
-            }\r
-            delete SimplifiedChineseLabel;\r
-            SimplifiedChineseLabel = nullptr;\r
-            delete EnglishLabel;\r
-            EnglishLabel = nullptr;\r
-            delete SimplifiedChineseRadioButton;\r
-            SimplifiedChineseRadioButton = nullptr;\r
-            delete EnglishRadioButton;\r
-            EnglishRadioButton = nullptr;\r
-            delete scrollView;\r
-            scrollView = nullptr;\r
-        }\r
-    }\r
-\r
-    // 设置图片\r
-    UIImageView *SystemLanguageView::SetUpImageVIew(ImageConfig &imageconfig)\r
-    {\r
-        UIImageView *Image = new UIImageView();\r
-        if (Image == nullptr)\r
-        {\r
-            return nullptr;\r
-        }\r
-        Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h);\r
-        Image->SetSrc(imageconfig.ImageSrc);\r
-        return Image;\r
-    }\r
-\r
-    // 设置标签\r
-    UILabel *SystemLanguageView::SetUpLabel(LabelConfig &labelconfig)\r
-    {\r
-        UILabel *label = new UILabel();\r
-        if (label == nullptr)\r
-        {\r
-            return nullptr;\r
-        }\r
-        label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小\r
-        label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);                                       // 字体大小\r
-        label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);                                    // 字体行高\r
-        label->SetText(labelconfig.text);                                                             // 内容\r
-        label->SetLineBreakMode(labelconfig.lineBreakMode);                                           // 断行模式。\r
-        label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
-        return label;\r
-    }\r
-\r
-    // 设置单选按钮\r
-    UIRadioButton *SystemLanguageView::SetUpRadioButton(RadioButtonConfig &radioButtonconfig)\r
-    {\r
-        UIRadioButton *radiobutton = new UIRadioButton(radioButtonconfig.name);\r
-        if (radiobutton == nullptr)\r
-        {\r
-            return nullptr;\r
-        }\r
-        radiobutton->SetPosition(radioButtonconfig.left, radioButtonconfig.top, radioButtonconfig.width, radioButtonconfig.height);\r
-        radiobutton->SetViewId(radioButtonconfig.viewId);\r
-        radiobutton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
-        radiobutton->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-        radiobutton->SetImages(radioButtonconfig.select, radioButtonconfig.unselect);\r
-        return radiobutton;\r
-    }\r
-\r
-    // 设置单选框的选择状态\r
-    void SystemLanguageView::SetRadioButtonSelectStatus(UIRadioButton &radiobutton, bool state)\r
-    {\r
-        if (state == true)\r
-        {\r
-            radiobutton.SetState(UICheckBox::SELECTED);\r
-        }\r
-        else\r
-        {\r
-            radiobutton.SetState(UICheckBox::UNSELECTED);\r
-        }\r
-    }\r
-\r
-    UIScrollView *SystemLanguageView::SystemLanguageViewInit(void)\r
-    {\r
-        /* ------------------------------- scrollView ------------------------------- */\r
-        scrollView = new UIScrollView();\r
-        if (scrollView == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::scrollView new fail!");\r
-        }\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
-        UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
-        if (draglistener == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "function = %s,Line = %d,draglistener can not be nullptr!", __FUNCTION__, __LINE__);\r
-            return nullptr;\r
-        }\r
-        scrollView->SetOnDragListener(draglistener);\r
-        /* ---------------------------------- Title --------------------------------- */\r
-        Title = new UILabelExt();\r
-        if (Title == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Title new fail!");\r
-            return nullptr;\r
-        }\r
-        Title->SetPosition(203, 52, 200, 35);\r
-        Title->SetTextId(0);\r
-        // Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-        scrollView->Add(Title);\r
-        /* ------------------------------- Background ------------------------------- */\r
-        ImageConfig imageconfig = {\r
-            .x = 43,\r
-            .y = 120,\r
-            .w = 380,\r
-            .h = 100,\r
-            .ImageSrc = "/user/res/SETTING_BACKGROUND.bin",\r
-        };\r
-        Background[0] = SetUpImageVIew(imageconfig);\r
-        if (Background[0] == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Background[0] new fail!");\r
-            return nullptr;\r
-        }\r
-        imageconfig.y = 240;\r
-        Background[1] = SetUpImageVIew(imageconfig);\r
-        if (Background[1] == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Background[1] new fail!");\r
-            return nullptr;\r
-        }\r
-        scrollView->Add(Background[0]);\r
-        scrollView->Add(Background[1]);\r
-        /* ------------------------- SimplifiedChineseLabel ------------------------- */\r
-        LabelConfig labelconfig = {\r
-            .left = 90,\r
-            .top = 153,\r
-            .width = 200,\r
-            .height = 60,\r
-            .fontSize = 30,\r
-            .lineHeigh = 35,\r
-            .text = "简体中文",\r
-            .lineBreakMode = UILabel::LINE_BREAK_ADAPT,\r
-        };\r
-        SimplifiedChineseLabel = SetUpLabel(labelconfig);\r
-        if (SimplifiedChineseLabel == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SimplifiedChineseLabel new fail!");\r
-            return nullptr;\r
-        }\r
-        scrollView->Add(SimplifiedChineseLabel);\r
-        /* ------------------------------ EnglishLabel ------------------------------ */\r
-        labelconfig.top = 273;\r
-        labelconfig.text = "ENGLISH";\r
-        EnglishLabel = SetUpLabel(labelconfig);\r
-        if (EnglishLabel == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::EnglishLabel new fail!");\r
-            return nullptr;\r
-        }\r
-        scrollView->Add(EnglishLabel);\r
-        /* ---------------------- SimplifiedChineseRadioButton ---------------------- */\r
-        RadioButtonConfig radioButtonConfig = {\r
-            .left = 300,\r
-            .top = 130,\r
-            .width = 80,\r
-            .height = 80,\r
-            .name = "LanguageCategory",\r
-            .viewId = SIMPLIFIED_CHINESE_CHECKBOX,\r
-            .select = "/user/res/CHECKBOX_ON.bin",\r
-            .unselect = "/user/res/CHECKBOX_OFF.bin",\r
-        };\r
-        SimplifiedChineseRadioButton = SetUpRadioButton(radioButtonConfig);\r
-        if (SimplifiedChineseRadioButton == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SimplifiedChineseRadioButton new fail!");\r
-            return nullptr;\r
-        }\r
-        SetRadioButtonSelectStatus(*SimplifiedChineseRadioButton, true);\r
-        UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new RadiobuttonOnChangeListener(SimplifiedChineseRadioButton, Title));\r
-        SimplifiedChineseRadioButton->SetOnChangeListener(SimplifiedChineseRadioButtonChange);\r
-        scrollView->Add(SimplifiedChineseRadioButton);\r
-        /* --------------------------- EnglishRadioButton --------------------------- */\r
-        radioButtonConfig.left = 300;\r
-        radioButtonConfig.top = 250;\r
-        radioButtonConfig.viewId = ENGLISH_CHECKBOX;\r
-        EnglishRadioButton = SetUpRadioButton(radioButtonConfig);\r
-        if (EnglishRadioButton == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::EnglishRadioButton new fail!");\r
-            return nullptr;\r
-        }\r
-        UICheckBox::OnChangeListener *EnglishRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new RadiobuttonOnChangeListener(EnglishRadioButton, Title));\r
-        EnglishRadioButton->SetOnChangeListener(EnglishRadioButtonChange);\r
-        scrollView->Add(EnglishRadioButton);\r
-        initViewStatus = true;\r
-        return scrollView;\r
-    }\r
-}
\ No newline at end of file
index 6829336..96c45f3 100644 (file)
 namespace OHOS\r
 {\r
 \r
-    struct SystemView_ext_p\r
-    {\r
-        const int16_t viewId;\r
-        char *viewid_str;\r
-        bool enable_falg;\r
-    };\r
-\r
-    static SystemView_ext_p ViewMapper_t[] = {\r
-        {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", true},\r
-        {SUPERVISEVIEW, "SuperviseButton", true},\r
-        {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", false},\r
-        {FACTORYRESETVIEW, "FactoryResetButton", true},\r
-        {SYSTEMLUPGRADE, "systemupgread", true},\r
-    };\r
-\r
     // 当前Presenter属性实例化的内存指针\r
     static SystemPresenter *g_pSystemPresenter = nullptr;\r
 \r
@@ -85,29 +70,49 @@ namespace OHOS
         return true;\r
     }\r
 \r
-    bool SystemPresenter::OnChange(UICheckBox::UICheckBoxState state)\r
-    {\r
-        return true;\r
-    }\r
-\r
     bool SystemPresenter::OnDrag(UIView &view, const DragEvent &event)\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnDrag");\r
+        if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动\r
+        {\r
+            SystemPresenter::X_DRAG_FLAG = true;\r
+        }\r
         return true;\r
     }\r
 \r
     bool SystemPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnDragEnd");\r
         SystemView *p_SystemView = SystemView::GetInstance();\r
-        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+        if (p_SystemView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::GetInstance fail!");\r
+            return false;\r
+        }\r
+\r
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && SystemPresenter::X_DRAG_FLAG)\r
         {\r
-            for (int i = 1; i < MAX_SYSTEMVIEWID; i++)\r
+            if (&view == p_SystemView->GetSystemScrollView(SYSTEMVIEW))\r
             {\r
-                if (p_SystemView->GetSystemScrollView(i) != nullptr && p_SystemView->GetSystemScrollView(i)->IsVisible() == true)\r
-                {\r
-                    p_SystemView->ChangeView(i, SYSTEMVIEW);\r
-                    break;\r
-                }\r
+                NativeAbility::GetInstance().Back();\r
             }\r
+            else if (&view == p_SystemView->GetSystemScrollView(ABOUTTHEWATCHVIEW))\r
+            {\r
+                p_SystemView->ChangeView(ABOUTTHEWATCHVIEW, SYSTEMVIEW);\r
+            }\r
+            else if (&view == p_SystemView->GetSystemScrollView(SYSTEMLUPGRADE))\r
+            {\r
+                p_SystemView->ChangeView(SYSTEMLUPGRADE, SYSTEMVIEW);\r
+            }\r
+            else if (&view == p_SystemView->GetSystemScrollView(WATCHQRCODE))\r
+            {\r
+                p_SystemView->ChangeView(WATCHQRCODE, SYSTEMVIEW);\r
+            }\r
+            else if (&view == p_SystemView->GetSystemScrollView(FACTORYRESETVIEW))\r
+            {\r
+                p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+            }\r
+            SystemPresenter::X_DRAG_FLAG = false;\r
             return true;\r
         }\r
         return false;\r
@@ -116,12 +121,15 @@ namespace OHOS
     // 该点击回调主要用于在系统视图界面进行跳转视图\r
     bool SystemPresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnClick");\r
         SystemView *p_SystemView = SystemView::GetInstance();\r
-        int len = sizeof(ViewMapper_t) / sizeof(SystemView_ext_p);\r
-        // int len=5;\r
-        //  根据控件id查找是哪个控件触发了点击回调\r
+        if (p_SystemView == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::GetInstance fail!");\r
+            return false;\r
+        }\r
 \r
-        if (strcmp(view.GetViewId(), "SystemAboutTheWatchTitle") == 0)\r
+        if (strcmp(view.GetViewId(), SYSTEMABOUTTHEWATCHVIEWID) == 0) // 连续点击进入产测模式\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchTitle");\r
             if (time == 0)\r
@@ -149,153 +157,70 @@ namespace OHOS
             }\r
             return true;\r
         }\r
-\r
-        if (strcmp(view.GetViewId(), "SystemLanguageButton") == 0)\r
+        else if (strcmp(view.GetViewId(), ABOUT_THE_WATCH) == 0) // 点击进入关于手表界面\r
         {\r
-            NativeAbility::GetInstance().EnterSlice(VIEW_LANGUAGE_SWITCH);\r
+            p_SystemView->ChangeView(SYSTEMVIEW, ABOUTTHEWATCHVIEW);\r
             return true;\r
         }\r
-\r
-        for (int i = 0; i < len; i++)\r
+        else if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0) // 点击进入系统升级视图\r
         {\r
-            if (strcmp(view.GetViewId(), ViewMapper_t[i].viewid_str) == 0)\r
-            {\r
-                if (i == 5)\r
-                {\r
-\r
-                    break;\r
-                }\r
-\r
-                if (ViewMapper_t[i].enable_falg == true)\r
-                    SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId);\r
-                time = 0;\r
-                return true;\r
-            }\r
+            p_SystemView->ChangeView(SYSTEMVIEW, SYSTEMLUPGRADE);\r
+            return true;\r
         }\r
-\r
-        if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0)\r
+        else if (strcmp(view.GetViewId(), WATCH_QR_CODE) == 0) // 点击进入手表二维码视图\r
         {\r
-            do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING,NULL,0);\r
+            p_SystemView->ChangeView(SYSTEMVIEW, WATCHQRCODE);\r
             return true;\r
         }\r
-        else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF) == 0)\r
+        else if (strcmp(view.GetViewId(), SYSTEM_LANGUAGE) == 0) // 点击进入系统语言界面\r
         {\r
-            p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+            NativeAbility::GetInstance().EnterSlice(VIEW_LANGUAGE_SWITCH);\r
             return true;\r
         }\r
-\r
-        if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0)\r
+        else if (strcmp(view.GetViewId(), FACTORY_RESET) == 0) // 点击进入恢复出厂设置界面\r
         {\r
-            isSystemUpgradeState = true;\r
-            SystemupgradeView::GetInstance()->statr_down_fwpkg();\r
+            p_SystemView->ChangeView(SYSTEMVIEW, FACTORYRESETVIEW);\r
+            return true;\r
         }\r
-        if (strcmp(view.GetViewId(), "labelButton1_exit") == 0)\r
+        else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0) // 恢复出厂设置确认\r
         {\r
-            // SystemView::GetInstance()->ChangeSlice(VIEW_SETTING);;\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
-            isSystemUpgradeState = false;\r
+            do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING, NULL, 0);\r
+            return true;\r
         }\r
-        return true;\r
-    }\r
-\r
-    // 该拖拽是用来处理系统视图(slice)的左滑退出事件和子视图的左滑退出到系统视图区分开\r
-    bool SystemViewOnDragListener::OnDrag(UIView &view, const DragEvent &event)\r
-    {\r
-        return true;\r
-    }\r
-\r
-    bool SystemViewOnDragListener::OnDragEnd(UIView &view, const DragEvent &event)\r
-    {\r
-        if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT))\r
+        else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF) == 0) // 恢复出厂设置取消\r
         {\r
-            SystemPresenter::GetInstance()->set_key_falg(false);\r
-            NativeAbility::GetInstance().Back();\r
+            p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+            return true;\r
         }\r
-        return true;\r
-    }\r
 \r
-    /// @brief 简体中文单选按钮被选中\r
-    /// @param  void\r
-    /// @return true 表示选中 ,false 表示未选中\r
-    bool RadiobuttonOnChangeListener::isChineseRadioButtonSelected(void)\r
-    {\r
-        if (m_uiView->GetState() == UICheckBox::SELECTED && m_uiView->GetViewId() == SIMPLIFIED_CHINESE_CHECKBOX)\r
+\r
+        if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0) //点击是否立即升级\r
         {\r
-            return true;\r
+            SystemupgradeView::GetInstance()->statr_down_fwpkg();\r
         }\r
-        RootView::GetInstance()->Invalidate();\r
-        return false;\r
-    }\r
-\r
-    /// @brief 英语单选按钮被选中\r
-    /// @param  void\r
-    /// @return true 表示选中 ,false 表示未选中\r
-    bool RadiobuttonOnChangeListener::isEnglishRadioButtonSelected(void)\r
-    {\r
-        if (m_uiView->GetState() == UICheckBox::SELECTED && m_uiView->GetViewId() == ENGLISH_CHECKBOX)\r
+        if (strcmp(view.GetViewId(), "labelButton1_exit") == 0) //稍后再说\r
         {\r
-            return true;\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
         }\r
-        return false;\r
-    }\r
-\r
-    /* -------------------------------------------------------------------------- */\r
-    // 获取语言类\r
-    //language *g_planguage = new language();\r
-    /* -------------------------------------------------------------------------- */\r
-    // 用来监听语言切换\r
-    bool RadiobuttonOnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
-    {\r
-        // language *g_planguage;\r
-        // // static const char *en = "user/res/font/en.lang";\r
-        // // static const char *zh_CN = "user/res/font/zh.lang";\r
-        // switch (state)\r
-        // {\r
-        // case UICheckBox::SELECTED:\r
-        //     if (isChineseRadioButtonSelected())\r
-        //     {\r
-        //         // 中文文本\r
-        //         g_planguage->ChangeLanguage(LanguageId::ZH_CN);\r
-        //     }\r
-        //     else if (isEnglishRadioButtonSelected())\r
-        //     {\r
-        //         // 英语文本\r
-        //         g_planguage->ChangeLanguage(LanguageId::EN);\r
-        //     }\r
-        //     m_label->SetTextId(0);\r
-        //     // 强制刷新\r
-        //     m_label->ForceResetText();\r
-        //     RootView::GetInstance()->Invalidate();\r
-        //     break;\r
-        // case UICheckBox::UNSELECTED:\r
-        //     // Handle unselected state if needed\r
-        //     break;\r
-        // default:\r
-        //     break;\r
-        // }\r
         return true;\r
     }\r
 \r
     bool SystemPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件\r
     {\r
-        if (!isSystemUpgradeState)\r
-        { // 如果处于系统升级状态power键返回功能无效\r
-            UNUSED(view);\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnKeyAct");\r
-            uint16 keyID = event.GetKeyId();\r
-            uint16 keyState = event.GetState();\r
-            // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
-            if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
-            {\r
-                uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
-                NativeAbility::GetInstance().Back();\r
-            }\r
+        UNUSED(view);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnKeyAct");\r
+        uint16 keyID = event.GetKeyId();\r
+        uint16 keyState = event.GetState();\r
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        {\r
+            NativeAbility::GetInstance().Back();\r
         }\r
         return true;\r
     }\r
 \r
-    void SystemPresenter::set_key_falg(bool falg) // 增加按键事件\r
-    {\r
-        isSystemUpgradeState = falg;\r
-    }\r
+    // void SystemPresenter::set_key_falg(bool falg) // 增加按键事件\r
+    // {\r
+    //     isSystemUpgradeState = falg;\r
+    // }\r
 }
\ No newline at end of file
index dd4a526..88384fc 100644 (file)
@@ -3,6 +3,7 @@
 #include "wearable_log.h"\r
 #include "bleService.h"\r
 #include "battery_hal.h"\r
+#include "language/font/ui_resource_string.h"\r
 extern uint8_t battery_get_voltage(float *voltage);\r
 namespace OHOS\r
 {\r
@@ -13,19 +14,53 @@ namespace OHOS
     {\r
         const int16_t viewId;\r
         const char *viewid_str;\r
-        const char *Labe_str;\r
+        // const char *Labe_str;\r
+        uint16_t textId;\r
         bool (SystemView::*func)(int16_t thisView);\r
     };\r
-    static UILabelButtonExt *button[10] = {NULL};\r
 \r
     SystemViewMapper_ext ViewMapper_t[] = {\r
-        {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", "关于手表", &SystemView::ChangeSystemAboutView},\r
-        {SUPERVISEVIEW, "SuperviseButton", "监管模式", &SystemView::ChangeSystemSuperviseView},\r
-        {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", "切换语言", &SystemView::ChangeSystemLanguageView},\r
-        {FACTORYRESETVIEW, "FactoryResetButton", "恢复出厂", &SystemView::ChangeSystemFactoryResetView},\r
-        {SYSTEMLUPGRADE, "systemupgread", "系统升级", &SystemView::ChangeSystemupgradeView},\r
+        {ABOUTTHEWATCHVIEW, ABOUT_THE_WATCH, STR_ABOUT_WATCH, &SystemView::ChangeSystemAboutView},\r
+        {SYSTEMLUPGRADE, SYSTEM_UPGRADE, STR_SYSTEM_UPDATE, &SystemView::ChangeSystemupgradeView},\r
+        {WATCHQRCODE, WATCH_QR_CODE, STR_WATCH_QR_CODE, &SystemView::ChangeWatchQRCodeView},\r
+        {SYSTEMLANGUAGEVIEW, SYSTEM_LANGUAGE, STR_SYSTEM_LANGUAGE, &SystemView::ChangeSystemLanguageView},\r
+        {FACTORYRESETVIEW, FACTORY_RESET, STR_FACTORY_RESET, &SystemView::ChangeSystemFactoryResetView},\r
+\r
     };\r
 \r
+    // 根据传入的interface参数执行相应视图ID关联的成员函数。\r
+    bool SystemView::ClickFunc(int16_t interface)\r
+    {\r
+        int funcSize = sizeof(ViewMapper_t) / sizeof(ViewMapper_t[SYSTEMVIEW]);\r
+        for (int i = 0; i < funcSize; i++)\r
+        {\r
+            if (interface == ViewMapper_t[i].viewId)\r
+            {\r
+                bool jug = (this->*(ViewMapper_t[i].func))(interface);\r
+                if (jug == false)\r
+                {\r
+                    return false;\r
+                }\r
+                return true;\r
+            }\r
+        }\r
+        return false;\r
+    }\r
+\r
+    // 切换视图\r
+    void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
+    {\r
+        if (hideView > MAX_SYSTEMVIEWID)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
+            return;\r
+        }\r
+        SystemScrollView[hideView]->SetVisible(false);\r
+        ClickFunc(showView);\r
+        SystemScrollView[showView]->SetVisible(true);\r
+        Draw();\r
+    }\r
+\r
     SystemView::SystemView()\r
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
@@ -46,14 +81,20 @@ namespace OHOS
 \r
     void SystemView::ClearAll()\r
     {\r
-        if (initViewStatus == true)\r
+        if (SystemScrollView[SYSTEMVIEW] != nullptr)\r
         {\r
             SystemScrollView[SYSTEMVIEW]->RemoveAll();\r
-            UIView::OnDragListener *draglistener = SystemScrollView[SYSTEMVIEW]->GetOnDragListener();\r
-            if (draglistener != nullptr)\r
+\r
+            if (Title != nullptr)\r
             {\r
-                delete draglistener;\r
-                draglistener = nullptr;\r
+                delete Title;\r
+                Title = nullptr;\r
+            }\r
+\r
+            for (int i = 0; i < (sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext)); i++)\r
+            {\r
+                delete SystemViewButton[i];\r
+                SystemViewButton[i] = nullptr;\r
             }\r
 \r
             if (p_SystemAboutTheWatchView != nullptr)\r
@@ -61,16 +102,17 @@ namespace OHOS
                 delete p_SystemAboutTheWatchView;\r
                 p_SystemAboutTheWatchView = nullptr;\r
             }\r
-            if (p_SystemSuperviseView != nullptr)\r
+\r
+            if (p_SystemupgradeView != nullptr)\r
             {\r
-                delete p_SystemSuperviseView;\r
-                p_SystemSuperviseView = nullptr;\r
+                delete p_SystemupgradeView;\r
+                p_SystemupgradeView = nullptr;\r
             }\r
 \r
-            if (p_SystemLanguageView != nullptr)\r
+            if (p_WatchQRCodeView != nullptr)\r
             {\r
-                delete p_SystemLanguageView;\r
-                p_SystemLanguageView = nullptr;\r
+                delete p_WatchQRCodeView;\r
+                p_WatchQRCodeView = nullptr;\r
             }\r
 \r
             if (p_SystemFactoryResetView != nullptr)\r
@@ -79,12 +121,6 @@ namespace OHOS
                 p_SystemFactoryResetView = nullptr;\r
             }\r
 \r
-            if (SystemLabel != nullptr)\r
-            {\r
-                delete SystemLabel;\r
-                SystemLabel = nullptr;\r
-            }\r
-\r
             delete SystemScrollView[SYSTEMVIEW];\r
             SystemScrollView[SYSTEMVIEW] = nullptr;\r
         }\r
@@ -106,7 +142,7 @@ namespace OHOS
         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
+        UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
         if (draglistener == nullptr)\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!");\r
@@ -123,21 +159,22 @@ namespace OHOS
     /// @return true 设置成功,false 失败\r
     bool SystemView::SetTheTitle(void)\r
     {\r
-        SystemLabel = new UILabelExt();\r
-        if (SystemLabel == nullptr)\r
+        Title = new UILabelExt();\r
+        if (Title == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemLabel new fail!");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title new fail!");\r
             return false;\r
         }\r
-        SystemLabel->SetPosition(203, 52);\r
-        SystemLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-        SystemLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
-        SystemLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-        SystemLabel->SetText("系统");\r
-        SystemLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
-        SystemLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-        SystemLabel->SetRollSpeed(6);\r
-        SystemLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        Title->SetPosition(83, 52, 300, 35);\r
+        Title->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+        Title->SetStyle(STYLE_TEXT_FONT, 30);\r
+        Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+        // Title->SetText("系统");\r
+        Title->SetTextId(STR_SYSTEM);\r
+        Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+        Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        // Title->SetRollSpeed(6);\r
+        Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         return true;\r
     }\r
 \r
@@ -156,7 +193,8 @@ namespace OHOS
         button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
         button->SetOnClickListener(clickListener);\r
 \r
-        button->SetText(buttonconfig.str);\r
+        // button->SetText(buttonconfig.str);\r
+        button->SetTextId(buttonconfig.textId);\r
         button->SetAlign(TEXT_ALIGNMENT_LEFT);\r
         button->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y);\r
         button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, buttonconfig.Fontsize);\r
@@ -191,18 +229,17 @@ namespace OHOS
 \r
         for (int i = 0; i < len; i++)\r
         {\r
-            buttonconfig.str = ViewMapper_t[i].Labe_str;\r
+            // buttonconfig.str = ViewMapper_t[i].Labe_str;\r
+            buttonconfig.textId = ViewMapper_t[i].textId;\r
             buttonconfig.ViewId = ViewMapper_t[i].viewid_str;\r
             buttonconfig.ImageSrc = imagsrc;\r
             buttonconfig.label_x = 40;\r
             buttonconfig.label_y = 0;\r
             buttonconfig.Fontsize = 30;\r
             buttonconfig.ALIGN = TEXT_ALIGNMENT_LEFT;\r
-            button[i] = SetTheButton_ext(buttonconfig, clickListener);\r
+            SystemViewButton[i] = SetTheButton_ext(buttonconfig, clickListener);\r
             buttonconfig.y += interval;\r
         }\r
-        /* -------------------------------------------------------------------------- */\r
-        initViewStatus = true;\r
     }\r
 \r
     // 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
@@ -234,19 +271,19 @@ namespace OHOS
         return true;\r
     }\r
 \r
-    // 2.跳转到系统监管\r
-    bool SystemView::ChangeSystemSuperviseView(int16_t thisView)\r
+    // 2.跳转到手表二维码\r
+    bool SystemView::ChangeWatchQRCodeView(int16_t thisView)\r
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemSuperviseView");\r
-            p_SystemSuperviseView = new SystemSuperviseView();\r
-            if (p_SystemSuperviseView == nullptr)\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeWatchQRCodeView");\r
+            p_WatchQRCodeView = new SystemSuperviseView();\r
+            if (p_WatchQRCodeView == nullptr)\r
             {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
                 return false;\r
             }\r
-            SystemScrollView[thisView] = p_SystemSuperviseView->SystemSuperviseViewInit();\r
+            SystemScrollView[thisView] = p_WatchQRCodeView->SystemSuperviseViewInit();\r
             RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
         }\r
         return true;\r
@@ -255,20 +292,6 @@ namespace OHOS
     // 3.跳转到系统语言界面\r
     bool SystemView::ChangeSystemLanguageView(int16_t thisView)\r
     {\r
-#if 1\r
-        if (SystemScrollView[thisView] == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemLanguageView");\r
-            p_SystemLanguageView = new SystemLanguageView();\r
-            if (p_SystemLanguageView == nullptr)\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
-                return false;\r
-            }\r
-            SystemScrollView[thisView] = p_SystemLanguageView->SystemLanguageViewInit();\r
-            RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
-        }\r
-#endif\r
         return true;\r
     }\r
 \r
@@ -295,7 +318,7 @@ namespace OHOS
     {\r
         if (SystemScrollView[thisView] == nullptr)\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemFactoryResetView");\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemupgradeView");\r
             p_SystemupgradeView = new SystemupgradeView();\r
             if (p_SystemupgradeView == nullptr)\r
             {\r
@@ -317,57 +340,6 @@ namespace OHOS
         return SystemScrollView[ViewId];\r
     }\r
 \r
-    /* -------------------------------------------------------------------------- */\r
-    // 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
-    struct SystemViewMapper\r
-    {\r
-        const int16_t viewId;\r
-        bool (SystemView::*func)(int16_t thisView);\r
-    };\r
-\r
-    // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\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_t) / sizeof(ViewMapper_t[SYSTEMVIEW]);\r
-        for (int i = 0; i < funcSize; i++)\r
-        {\r
-            if (interface == ViewMapper_t[i].viewId)\r
-            {\r
-                bool jug = (this->*(ViewMapper_t[i].func))(interface);\r
-                if (jug == false)\r
-                {\r
-                    return false;\r
-                }\r
-                return true;\r
-            }\r
-        }\r
-        return false;\r
-    }\r
-\r
-    // 4.切换视图\r
-    void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
-    {\r
-        if (hideView > MAX_SYSTEMVIEWID)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
-            return;\r
-        }\r
-        SystemScrollView[hideView]->SetVisible(false);\r
-        ClickFunc(showView);\r
-        SystemScrollView[showView]->SetVisible(true);\r
-        Draw();\r
-    }\r
-    /* -------------------------------------------------------------------------- */\r
-\r
     void SystemView::OnStart()\r
     {\r
         View<SystemPresenter>::OnStart();\r
@@ -385,12 +357,12 @@ namespace OHOS
             return;\r
         }\r
 \r
-        SystemScrollView[SYSTEMVIEW]->Add(SystemLabel);\r
+        SystemScrollView[SYSTEMVIEW]->Add(Title);\r
         int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext);\r
 \r
         for (int i = 0; i < len; i++)\r
         {\r
-            SystemScrollView[SYSTEMVIEW]->Add(button[i]);\r
+            SystemScrollView[SYSTEMVIEW]->Add(SystemViewButton[i]);\r
         }\r
         RootView::GetInstance()->Add(SystemScrollView[SYSTEMVIEW]);\r
         Draw();\r
index 75b51af..e564ebb 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang differ
index 00b0173..7c3cc07 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang differ
index e26afe8..5bf80d1 100644 (file)
@@ -314,8 +314,14 @@ enum UIResourceTextId : uint16_t {
     STR_GRID_DISPLAY = 301,\r
     STR_CELLULAR_DISPLAY = 302,\r
     STR_AUTO_DETECT = 303,\r
-    STR_LANGUAGE = 304,\r
-    STR_MAX_ID = 305,\r
+    STR_ABOUT_WATCH = 304,\r
+    STR_WATCH_QR_CODE = 305,\r
+    STR_SYSTEM_LANGUAGE = 306,\r
+    STR_RESTART = 307,\r
+    STR_SHUTDOWN = 308,\r
+    STR_FACTORY_RESET = 309,\r
+    STR_LANGUAGE = 310,\r
+    STR_MAX_ID = 311,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
index 3ba13c5..9e1c67a 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang differ
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/KUMILOGO.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/KUMILOGO.bin
new file mode 100644 (file)
index 0000000..399e9cf
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:992905e904b5e96cc6e86d1da6060d4f091469cd5360fd55e2606c3d5b64de4b
+size 24984
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_ABOUT_THE_WATCH.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_ABOUT_THE_WATCH.bin
deleted file mode 100644 (file)
index 196d9ee..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:efdea91c4ef6371d11becb8651e5f1b952bed953af0e1e4610bb71cf1017048a
-size 25624
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_FACTORY_RESET.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_FACTORY_RESET.bin
deleted file mode 100644 (file)
index 2753f52..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7b2eaa958d59789b0398505a7e2ed21c58059c5186ebe8839641ee443ca192ef
-size 25624
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SUPERVISE.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SUPERVISE.bin
deleted file mode 100644 (file)
index d8e8b6f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d9e67bc841ccc0ea2ad23a091e80b620412c1ab85a412e6830ee6ee9d439b5cf
-size 25624
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SYSTEM_LANGUAGE.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/SYSTEM_SYSTEM_LANGUAGE.bin
deleted file mode 100644 (file)
index 5d36f5b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2ff7a6c1c5266019f052011cb76163eb8fed71444f29736d3ced050bafde87d6
-size 25624
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/factoryreset.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/system/factoryreset.bin
deleted file mode 100644 (file)
index 12ea1d1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:979a740e2a057ed4d32eb31900c671070c7929d924a6d91d1e27485cd57482e0
-size 146040