安全模式:资源校验列表实现与优化
authorCaisking <3449750381@qq.com>
Wed, 11 Sep 2024 05:11:44 +0000 (13:11 +0800)
committerCaisking <3449750381@qq.com>
Wed, 11 Sep 2024 05:11:44 +0000 (13:11 +0800)
13 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckItemView.h
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerModel.h
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerPresenter.h
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckAdapter.cpp
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/ResourceCheckView.cpp
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerModel.cpp
code/sdk/application/wearable/fd230app/nativeui/safemodemanager/src/SafeModeManagerPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp

index 38d112f..f2556e4 100644 (file)
@@ -705,7 +705,8 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/safemodemanager/src/SafeModeManagerPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/safemodemanager/src/SafeModeManagerModel.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/safemodemanager/src/ResourceCheckView.cpp
-
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/safemodemanager/src/ResourceCheckItemView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/safemodemanager/src/ResourceCheckAdapter.cpp
 
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/phone/src/PhoneCallView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/phone/src/PhoneCallPresenter.cpp
index b08252d..b0b6aa1 100644 (file)
@@ -388,13 +388,13 @@ extern "C"
         if (uapi_dev_runtime_get_checkres_status() == 1)\r
         {\r
             GraphicService::GetInstance()->PostGraphicEvent(\r
-                std::bind(&OHOS::SafeModeManagerModel::updatecheckview,OHOS::SafeModeManagerModel::GetInstance(), curTime.tm_sec));\r
+                std::bind(&OHOS::SafeModeManagerModel::UpdateCheckView,OHOS::SafeModeManagerModel::GetInstance(), curTime.tm_sec));\r
         }\r
         // 校验成功\r
         else if (uapi_dev_runtime_get_checkres_status() == 2)\r
         {\r
             GraphicService::GetInstance()->PostGraphicEvent(\r
-                std::bind(&OHOS::SafeModeManagerModel::updatecheckview, OHOS::SafeModeManagerModel::GetInstance(), 61));\r
+                std::bind(&OHOS::SafeModeManagerModel::UpdateCheckView, OHOS::SafeModeManagerModel::GetInstance(), 61));\r
             uapi_dev_runtime_set_checkres_status(0);\r
         }\r
         // 未绑定状态下,以下操作不进行\r
index e848304..d5313b6 100644 (file)
@@ -4,9 +4,8 @@
  * @LastEditTime: 2024-09-10 10:01:22
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckAdapter.h
  */
-/
-#ifndef Message_ADAPTER_H
-#define Message_ADAPTER_H
+#ifndef ResourceCheck_ADAPTER_H
+#define ResourceCheck_ADAPTER_H
 #include <list>
 #include <string>
 #include "components/ui_list.h"
@@ -18,7 +17,6 @@
 
 namespace OHOS
 {
-
     typedef struct
     {
         int index;
index f1a164b..c18369e 100644 (file)
@@ -17,6 +17,7 @@
 #include "components/ui_label_button.h"
 
 #include "safemodemanager/include/ResourceCheckAdapter.h"
+#include "safemodemanager/include/ResourceCheckItemView.h"
 
 
 namespace OHOS
@@ -32,11 +33,10 @@ namespace OHOS
         int GetResourceCheckListIndex();
 
     private:
-        ResourceCheckItemView(const ResourceCheckItemView &);
+        ResourceCheckItemView(const ResourceCheckItem &);
         UILabel filenamelabel;            
         ResourceCheckItem sItemInfo = {0, nullptr};
         bool isSetupChild{false};
-
     };
 }
 #endif
\ No newline at end of file
index f96f4c9..fbdfc84 100644 (file)
@@ -1,49 +1,40 @@
-/*** 
- * @Date: 2024-09-09 17:47:27
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-09-10 11:14:17
- * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/ResourceCheckView.h
- */
-/*
- * @Author: luozheng 1732036298@qq.com
- * @Date: 2024-01-29 15:37:44
- * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-05-07 09:39:01
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/ResourceCheckView.h
- */
+
 #ifndef ResourceCheck_VIEW_H
 #define ResourceCheck_VIEW_H
 
 #include "BaseView.h"
 #include "View.h"
 
-#include "components/ui_image_view.h"
 #include "components/ui_button.h"
-#include "components/ui_scroll_view.h"
+#include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
-#include "safemodemanager/include/ResourceCheckItem.h"
+#include "components/ui_scroll_view.h"
 #include "safemodemanager/include/ResourceCheckAdapter.h"
-namespace OHOS
-{
-    class ResourceCheckView
-    {
-    public:
-        ResourceCheckView();
-        virtual ~ResourceCheckView();
-        static ResourceCheckView *GetInstance(void);
+#include "safemodemanager/include/ResourceCheckItemView.h"
+namespace OHOS {
+class ResourceCheckView {
+public:
+  ResourceCheckView();
+  virtual ~ResourceCheckView();
+  static ResourceCheckView *GetInstance(void);
 
-        UIScrollView *ResourceCheckViewInit(void);
-        void ClearAll(void);
+  UIScrollView *ResourceCheckViewInit(void);
+  void ClearAll(void);
 
-        void UpdateView(int date);
-        void UpdateView();
+  void UpdateView(int date);
+  void UpdateView();
+  void AddFilenameToList(const ResourceCheckItem &item);
+  void InitScrollView(void);
+  void InitFilenameList(void);
+  void InitNoteLabel(void);
+  void SetViewState(void);
 
-    private:
-        UIScrollView *scrollView{nullptr};
-        UILabelExt *notelabel{nullptr};
-             ResourceCheckAdapter *p_ResourceCheckAdapter{nullptr};
-        UIList *FilenameList = nullptr;
-        bool initViewStatus{false};
-    };
+private:
+  UIScrollView *scrollView{nullptr};
+  UILabel *notelabel{nullptr};
+  ResourceCheckAdapter *p_ResourceCheckAdapter{nullptr};
+  UIList *FilenameList = nullptr;
+  bool initViewStatus{false};
+};
 } // namespace OHOS
 #endif
\ No newline at end of file
index 726c608..294b9a1 100644 (file)
@@ -2,64 +2,72 @@
  * @Date: 2024-08-21 16:18:26
  * @LastEditors: Caisking 3449750381@qq.com
  * @LastEditTime: 2024-09-06 18:19:25
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/SafeModeManager/include/SafeModeManagerModel.h
+ * @FilePath:
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/SafeModeManager/include/SafeModeManagerModel.h
  */
 
 #ifndef SAFE_MODE_MANAGER_MODEL_H
 #define SAFE_MODE_MANAGER_MODEL_H
 
+#include "safemodemanager/include/ResourceCheckAdapter.h"
+#include "safemodemanager/include/ResourceCheckItemView.h"
+#include <functional>
+#include <map>
 #include <string>
 #include <vector>
-#include <map>
-#include <functional>
-
-namespace OHOS
-{
-    // 定义状态类型
-    enum class Safe_State
-    {
-        BLE_OTA,
-        AUTO_OTA,
-        FACTORY_RESET,
-        RESOURCE_CHECK
-    };
-    struct SafeStateInfo
-    {
-        Safe_State state;
-        bool active; // 是否激活
-    };
 
-    class SafeModeManagerModel
-    {
-    public:
-        // 获取单例实例
-        static SafeModeManagerModel *GetInstance();
-        // 恢复出厂
-        bool FactorySet();
-        // 资源检查和读取差异文件
-        bool ResourceCheck();
-        bool ReadCheckFile();
-        // 获取检查文件列表
-        const std::vector<std::string> &GetCheckDifferentialFiles() const;
-        size_t GetCheckFileCount() const;
-        void updatecheckview(int date);
+namespace OHOS {
+// 定义状态类型
+enum class Safe_State {
+  BLE_OTA,       // bleota
+  AUTO_OTA,      // autoota
+  FACTORY_RESET, //恢复出厂
+  RESOURCE_CHECK //资源检查
+};
+struct SafeStateInfo {
+  Safe_State state;
+  bool active; // 是否激活
+};
 
-        // 设置状态
-        void SetState(Safe_State state, bool executeAction);
-        // 获取状态
-        bool IsState(Safe_State state) const;
+class SafeModeManagerModel {
+public:
+  // 获取单例实例
+  static SafeModeManagerModel *GetInstance();
+  void InitFilenamesListItems(); // 初始化消息列表项
+  const ResourceCheckItem *GetFilenamesListItems() const; // 获取消息列表项
+  uint16_t GetFilenamesCount() const;                     // 获取消息数量
 
-    private:
-        SafeModeManagerModel() = default;                                       // 默认构造函数
-        ~SafeModeManagerModel() = default;                                      // 默认析构函数
-        SafeModeManagerModel(const SafeModeManagerModel &) = delete;            // 禁止拷贝构造
-        SafeModeManagerModel &operator=(const SafeModeManagerModel &) = delete; // 禁止赋值操作
+  // 恢复出厂
+  bool FactorySet();
+  // 资源检查和读取差异文件
+  bool ResourceCheck();
+  bool ReadCheckFile();
+  //获取校验状态
+  bool GetResourceCheckState() const;
+  void SetResourceCheckState(bool state);
+  // 获取检查文件列表
+  const std::vector<std::string> &GetCheckDifferentialFiles() const;
+  size_t GetCheckFileCount() const;
+  void UpdateCheckView(int date);
+  // 设置状态
+  void SetState(Safe_State state, bool executeAction);
+  // 获取状态
+  bool IsState(Safe_State state) const;
 
-        std::vector<std::string> resource_check_files; // 存储检查的资源文件列表
+private:
+  SafeModeManagerModel() = default;  // 默认构造函数
+  ~SafeModeManagerModel() = default; // 默认析构函数
+  SafeModeManagerModel(const SafeModeManagerModel &) = delete; // 禁止拷贝构造
+  SafeModeManagerModel &
+  operator=(const SafeModeManagerModel &) = delete; // 禁止赋值操作
 
-        // 初始化状态与操作的映射
-        void InitializeStateActions();
-    };
+  std::vector<std::string> resource_check_files; // 存储检查的资源文件列表
+  uint16_t numberOfItems;
+  static const uint16_t MAX_RESOURCE_CHECK_FILE_NUM = 500; // 列表最大数量
+  ResourceCheckItem Filenames[MAX_RESOURCE_CHECK_FILE_NUM] = {0,
+                                                              nullptr}; // 列表
+  bool resoure_check_state{false};
+};
 
 } // namespace OHOS
 
index 6672c4f..6217bf0 100644 (file)
@@ -2,7 +2,8 @@
  * @Date: 2024-09-09 09:48:47
  * @LastEditors: Caisking 3449750381@qq.com
  * @LastEditTime: 2024-09-09 09:52:39
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerPresenter.h
+ * @FilePath:
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/safemodemanager/include/SafeModeManagerPresenter.h
  */
 
 #ifndef _SafeModeManager_PRESENTER_H
 #include "Presenter.h"
 #include "SafeModeManagerView.h"
 
-namespace OHOS
-{
-    static constexpr const char *BLE_OTA = "ble_ota";
-    static constexpr const char *AUTO_OTA = "auto_ota";
-    static constexpr const char *FACTORY_RESET_SAFE = "factory_reset";
-    static constexpr const char *RESOURCE_CHECK = "resource_check";
-    static constexpr const char *RE_START = "restart";
-
-    class SafeModeManagerView;
-    class SafeModeManagerPresenter : public Presenter<SafeModeManagerView>,
-                                     public UIView::OnClickListener,
-                                     public UIView::OnDragListener,
-                                     public RootView::OnKeyActListener
-    {
-    public:
-        SafeModeManagerPresenter();
-        virtual ~SafeModeManagerPresenter();
-
-        void OnStart() override;
-        void OnPause() override;
-        void OnResume() override;
-        void OnStop() override;
-
-        static SafeModeManagerPresenter *GetInstance();
-
-    private:
-        // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
-        bool OnClick(UIView &view, const ClickEvent &event) override;
-        bool OnDrag(UIView &view, const DragEvent &event) override;
-        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
-    };
+namespace OHOS {
+static constexpr const char *BLE_OTA = "ble_ota";
+static constexpr const char *AUTO_OTA = "auto_ota";
+static constexpr const char *FACTORY_RESET_SAFE = "factory_reset";
+static constexpr const char *RESOURCE_CHECK = "resource_check";
+static constexpr const char *RE_START = "restart";
+static constexpr const char *CHECK_FILE_LIST = "check_file_list";
+
+class SafeModeManagerView;
+class SafeModeManagerPresenter : public Presenter<SafeModeManagerView>,
+                                 public UIView::OnClickListener,
+                                 public UIView::OnDragListener,
+                                 public RootView::OnKeyActListener {
+public:
+  SafeModeManagerPresenter();
+  virtual ~SafeModeManagerPresenter();
+
+  void OnStart() override;
+  void OnPause() override;
+  void OnResume() override;
+  void OnStop() override;
+
+  static SafeModeManagerPresenter *GetInstance();
+
+private:
+  // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
+  bool OnClick(UIView &view, const ClickEvent &event) override;
+  bool OnDrag(UIView &view, const DragEvent &event) override;
+  bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+};
 } // namespace OHOS
 
 #endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
index bd62a9a..1c4f6da 100644 (file)
 
 
+#include "safemodemanager/include/ResourceCheckItemView.h"
 #include "safemodemanager/include/ResourceCheckView.h"
-#include "safemodemanager/include/SafeModeManagerPresenter.h"
 #include "safemodemanager/include/SafeModeManagerModel.h"
-#include "safemodemanager/include/ResourceCheckItem.h"
+#include "safemodemanager/include/SafeModeManagerPresenter.h"
 
-#include "wearable_log.h"
 #include "uicomponents/UIComponents.h"
-namespace OHOS
-{
-    ResourceCheckAdapter::ResourceCheckAdapter() {}
+#include "wearable_log.h"
 
-    ResourceCheckAdapter::~ResourceCheckAdapter()
-    {
-        listData.clear();
-    }
+namespace OHOS {
+ResourceCheckAdapter::ResourceCheckAdapter() {}
 
-    uint16_t ResourceCheckAdapter::GetCount(void)
-    {
-        return listData.size() + 1;
-    }
+ResourceCheckAdapter::~ResourceCheckAdapter() { listData.clear(); }
 
-    void ResourceCheckAdapter::SetData(std::list<ResourceCheckItem> &data)
-    {
-        if (!listData.empty())
-        {
-            listData.clear();
-        }
-        std::list<ResourceCheckItem>::iterator it;
-        for (it = data.begin(); it != data.end(); it++)
-        {
-            listData.push_back(*it);
-        }
-    }
+uint16_t ResourceCheckAdapter::GetCount(void) { return listData.size() + 1; }
 
-    /// @brief
-    /// @param inView 一个指向已存在的视图对象的指
-    /// @param index 要创建的视图在列表中的索引l。
-    /// @return 返回该视图对象
-    UIView *ResourceCheckAdapter::GetView(UIView *inView, int16_t index)
-    {
-        // 1.先检查列表数据是否为空,若为空则返回空指针
-        if (listData.empty())
-        {
-            return nullptr;
-        }
-        // 2.接着检查索引是否小于0,若小于0则返回空指针
-        if (index < 0)
-        {
-            return nullptr;
-        }
-        // printf("GetView : index %d\r\n", index);
-        // 3.检查是否超出列表数据大小,若超出则返回空指针
-        size_t uindex = index;
-        if (uindex > listData.size())
-            return nullptr;
+void ResourceCheckAdapter::SetData(std::list<ResourceCheckItem> &data) {
+  if (!listData.empty()) {
+    listData.clear();
+  }
+  std::list<ResourceCheckItem>::iterator it;
+  for (it = data.begin(); it != data.end(); it++) {
+    listData.push_back(*it);
+  }
+}
 
-        MessageItemView *item = nullptr;
-        if (uindex == listData.size())
-        {
-            if (inView == nullptr)
-            {
-                item = new MessageItemView();
-            }
-            else
-            {
-                item = static_cast<MessageItemView *>(inView);
-                // item->TearDownChild();
-                item->RemoveAll();
-            }
-            if (DeleteButton == nullptr)
-            {
-                DeleteButton = new UILabelButtonExt();
-                if (DeleteButton == nullptr)
-                {
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitButtonExt is error");
-                    return nullptr; // 内存分配失败,返回false
-                }
-            }
-            else
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButtonExt UILabelButtonExt is not nullptr");
-                return nullptr; // 内存分配失败,返回false
-            }
-            DeleteButton->SetPosition(0, 0);
-            DeleteButton->Resize(380, 100);
-            DeleteButton->SetViewId("repair_all");
-            DeleteButton->SetText("repair all");
-            DeleteButton->SetStyle(STYLE_TEXT_FONT, fontSize);
-            DeleteButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-            DeleteButton->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BACKGROUND_COLOR);
-            DeleteButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BACKGROUND_COLOR, UIButton::PRESSED);
-            DeleteButton->SetStyleForState(STYLE_BORDER_COLOR, PRESSED_BORDER_COLOR, UIButton::PRESSED);
-            DeleteButton->SetVisible(true);
-            DeleteButton->SetOnClickListener(itemClickListener);
-            item->Add(DeleteButton);
-            item->SetViewIndex(index);
-            item->SetOnClickListener(nullptr);
-            return item;
-        }
-        // 4.通过迭代器访问列表中指定索引位置的元素,将其赋值给itemData变量
-        std::list<ResourceCheckItem>::iterator it = listData.begin();
-        for (int i = 0; i < index; i++)
-        {
-            it++;
-        }
-        ResourceCheckItem itemData = *it;
-        // 5.根据传入的inView参数是否已经存在一个视图对象,若为空则创建一个新的MessageItemView对象,否则将inView转换成MessageItemView类型的指针
-        if (inView == nullptr)
-        {
-            item = new MessageItemView();
-        }
-        else
-        {
-            item = static_cast<MessageItemView *>(inView);
-            item->RemoveAll();
-        }
-        item->SetUpChild();
-        item->SetItemInfo(itemData);
-        item->SetViewIndex(index);
-        item->SetOnClickListener(itemClickListener);
-        return item;
-    }
+/// @brief
+/// @param inView 一个指向已存在的视图对象的指
+/// @param index 要创建的视图在列表中的索引l。
+/// @return 返回该视图对象
+UIView *ResourceCheckAdapter::GetView(UIView *inView, int16_t index) {
+  // 1.先检查列表数据是否为空,若为空则返回空指针
+  if (listData.empty()) {
+    return nullptr;
+  }
+  // 2.接着检查索引是否小于0,若小于0则返回空指针
+  if (index < 0) {
+    return nullptr;
+  }
+  // printf("GetView : index %d\r\n", index);
+  // 3.检查是否超出列表数据大小,若超出则返回空指针
+  size_t uindex = index;
+  if (uindex > listData.size())
+    return nullptr;
 
-    void ResourceCheckAdapter::AddListItem(const ResourceCheckItem &item)
-    {
-        listData.push_back(item);
+  ResourceCheckItemView *item = nullptr;
+  if (uindex == listData.size()) {
+    if (inView == nullptr) {
+      item = new ResourceCheckItemView();
+    } else {
+      item = static_cast<ResourceCheckItemView *>(inView);
+      // item->TearDownChild();
+      item->RemoveAll();
+    }
+    if (DeleteButton == nullptr) {
+      DeleteButton = new UILabelButtonExt();
+      if (DeleteButton == nullptr) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitButtonExt is error");
+        return nullptr; // 内存分配失败,返回false
+      }
+      DeleteButton->SetPosition(0, 0);
+      DeleteButton->Resize(380, 100);
+      DeleteButton->SetViewId("repair_all");
+      DeleteButton->SetText("repair_all");
+      DeleteButton->SetStyle(STYLE_TEXT_FONT, 30);
+      DeleteButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+      DeleteButton->SetStyle(STYLE_BACKGROUND_COLOR, STYLE_BACKGROUND_COLOR);
+      DeleteButton->SetVisible(true);
     }
+    DeleteButton->SetOnClickListener(itemClickListener);
+    item->Add(DeleteButton);
+    item->SetViewIndex(index);
+    item->SetOnClickListener(nullptr);
+
+    return item;
+  }
+  // 4.通过迭代器访问列表中指定索引位置的元素,将其赋值给itemData变量
+  std::list<ResourceCheckItem>::iterator it = listData.begin();
+  for (int i = 0; i < index; i++) {
+    it++;
+  }
+  ResourceCheckItem itemData = *it;
+  // 5.根据传入的inView参数是否已经存在一个视图对象,若为空则创建一个新的ResourceCheckItem对象,否则将inView转换成ResourceCheckItem类型的指针
+  if (inView == nullptr) {
+    item = new ResourceCheckItemView();
+  } else {
+    item = static_cast<ResourceCheckItemView *>(inView);
+    item->RemoveAll();
+  }
+  item->SetUpChild();
+  item->SetItemInfo(itemData);
+  item->SetViewIndex(index);
+  item->SetOnClickListener(itemClickListener);
+  return item;
+}
+
+void ResourceCheckAdapter::AddListItem(const ResourceCheckItem &item) {
+  listData.push_back(item);
+}
 } // namespace OHOS
index 6033ee2..bb69a4c 100644 (file)
@@ -1,56 +1,43 @@
-#include "message/include/MessageItemView.h"
-#include "message/include/MessageModel.h"
-#include "ConfigModel.h"
-namespace OHOS
-{
-
-    MessageItemView::MessageItemView()
-    {
-        SetPosition(0, 0, 380, 280);
-        SetStyle(STYLE_BACKGROUND_OPA, 255);
-        SetStyle(STYLE_BORDER_RADIUS, 20);
-        SetTouchable(true);
-    }
-
-    MessageItemView::~MessageItemView()
-    {
-        RemoveAll();
-    }
-
-    void MessageItemView::SetItemInfo(const ResourceCheckItem itemInfo)
-    {
-        sItemInfo = itemInfo;
-
-    filenamelabel.SetText(itemInfo.filename.c_str());
-    
-    }
-    void MessageItemView::TearDownChild()
-    {
-        if (!isSetupChild)
-            return;
-
-        Remove(&filenamelabel);
-
-        isSetupChild = false;
-    }
-    void MessageItemView::SetUpChild()
-    {
-        if (isSetupChild)
-            return;
-
-        filenamelabel.SetPosition(60, 31, 280, 35);
-        filenamelabel.SetTextColor(Color::White());
-        filenamelabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-        // 来回滚动属性
-        filenamelabel.SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);
-        filenamelabel.SetRollSpeed(70);
-
-        Add(&filenamelabel);
-        isSetupChild = false;
-    }
-
-    int MessageItemView::GetMessageListIndex()
-    {
-        return sItemInfo.index;
-    }
-}
\ No newline at end of file
+#include "safemodemanager/include/ResourceCheckItemView.h"
+#include "safemodemanager/include/ResourceCheckAdapter.h"
+
+namespace OHOS {
+
+ResourceCheckItemView::ResourceCheckItemView() {
+  SetPosition(0, 0, 380, 120);
+  SetStyle(STYLE_BACKGROUND_OPA, 255);
+  SetStyle(STYLE_BORDER_RADIUS, 20);
+  SetTouchable(true);
+}
+
+ResourceCheckItemView::~ResourceCheckItemView() { RemoveAll(); }
+
+void ResourceCheckItemView::SetItemInfo(const ResourceCheckItem itemInfo) {
+ 
+  sItemInfo = itemInfo;
+  filenamelabel.SetText(sItemInfo.filename.c_str());
+}
+void ResourceCheckItemView::TearDownChild() {
+  if (!isSetupChild)
+    return;
+
+  Remove(&filenamelabel);
+
+  isSetupChild = false;
+}
+void ResourceCheckItemView::SetUpChild() {
+  if (isSetupChild)
+    return;
+
+  filenamelabel.SetPosition(0, 0, 466, 180);
+  filenamelabel.SetTextColor(Color::White());
+  filenamelabel.SetFont(GILROY_BOLD_FONT, 30);
+  filenamelabel.SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+
+  Add(&filenamelabel);
+  isSetupChild = false;
+}
+int ResourceCheckItemView::GetResourceCheckListIndex() {
+  return sItemInfo.index;
+}
+} // namespace OHOS
\ No newline at end of file
index b8c1aca..9cbd151 100644 (file)
 #include "safemodemanager/include/ResourceCheckView.h"
-#include "safemodemanager/include/SafeModeManagerPresenter.h"
 #include "safemodemanager/include/SafeModeManagerModel.h"
+#include "safemodemanager/include/SafeModeManagerPresenter.h"
 
-#include "wearable_log.h"
 #include "UiConfig.h"
 #include "ui_resource_string.h"
+#include "wearable_log.h"
 
-namespace OHOS
-{
+namespace OHOS {
 
-    static ResourceCheckView *g_pResourceCheckView{nullptr};
+// 静态指针,用于获取单例实例
+static ResourceCheckView *g_pResourceCheckView{nullptr};
 
-    ResourceCheckView::ResourceCheckView()
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ResourceCheckView::ResourceCheckView");
-        g_pResourceCheckView = this;
-    }
+ResourceCheckView::ResourceCheckView() {
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                "ResourceCheckView::ResourceCheckView");
+  g_pResourceCheckView = this; // 设置单例指针
+}
 
-    ResourceCheckView::~ResourceCheckView()
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ResourceCheckView::~ResourceCheckView");
-        ClearAll();
-        g_pResourceCheckView = nullptr;
-    }
+ResourceCheckView::~ResourceCheckView() {
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                "ResourceCheckView::~ResourceCheckView");
+  ClearAll();                     // 清理资源
+  g_pResourceCheckView = nullptr; // 释放单例指针
+}
 
-    ResourceCheckView *ResourceCheckView::GetInstance()
-    {
-        return g_pResourceCheckView;
-    }
+ResourceCheckView *ResourceCheckView::GetInstance() {
+  return g_pResourceCheckView; // 返回单例实例
+}
 
-    void ResourceCheckView::ClearAll()
-    {
-        delete scrollView;
-        scrollView = nullptr;
-        delete notelabel;
-        notelabel = nullptr;
-        g_pResourceCheckView = nullptr;
-    }
+void ResourceCheckView::ClearAll() {
+  delete scrollView; // 删除滚动视图
+  scrollView = nullptr;
+  delete notelabel; // 删除提示标签
+  notelabel = nullptr;
+  delete FilenameList; // 删除提示标签
+  FilenameList = nullptr;
+}
 
-    UIScrollView *ResourceCheckView::ResourceCheckViewInit(void)
-    {
-        scrollView = new UIScrollView();
-        if (scrollView == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ResourceCheckView::new scrollView fail!");
-            return nullptr;
-        }
-        scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
-        scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
-        scrollView->SetStyle(STYLE_BORDER_RADIUS, 100);
-        scrollView->SetScrollBlankSize(50);
-        scrollView->SetReboundSize(35);
-        scrollView->SetMaxScrollDistance(1000);
-        scrollView->SetThrowDrag(true);
-        scrollView->RequestFocus();
-        scrollView->SetRotateFactor(2);
-        UIView::OnDragListener *dragListener = static_cast<UIView::OnDragListener *>(SafeModeManagerPresenter::GetInstance());
-        if (dragListener == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SafeModeManagerPresenter::GetInstance fail!!");
-            return nullptr;
-        }
-        scrollView->SetOnDragListener(dragListener);
-
-        notelabel = new UILabelExt();
-        if (notelabel == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ResourceCheckView::new Title fail!");
-            return nullptr;
-        }
-        notelabel->SetPosition(83, 217);
-        notelabel->Resize(300, 60);
-        notelabel->SetViewId("label4");
-        notelabel->SetStyle(STYLE_TEXT_FONT, 50);
-
-        notelabel->SetText("File verification...");
-        notelabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
-        notelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
-        notelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
-notelabel->SetOnClickListener(presenter_);
-        // UIList 的适配器
-        if(p_ResourceCheckAdapter == nullptr)
-        {
-            p_ResourceCheckAdapter = newFilenameListAdapter();
-            p_ResourceCheckAdapter->SetItemClickListener(presenter_);
-        }
-        if (MessageList == nullptr)
-        {
-            FilenameList = new UIList();
-            FilenameList->SetPosition(0, 120, 466, 466);
-            FilenameList->SetScrollStateListener(this);
-            FilenameList->SetThrowDrag(true);
-            FilenameList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-            FilenameList->SetMaxScrollDistance(1000); 
-            FilenameList->SetSwipeACCLevel(800);
-            FilenameList->SetDragACCLevel(5); 
-            FilenameList->SetYScrollBarVisible(true);
-            FilenameList->SetOnClickListener(presenter_);
-            FilenameList->SetOnDragListener(presenter_);
-            FilenameList->SetVisible(false); // 隐藏界面
-        }
-        scrollView->Add(FilenameList);
-        scrollView->Add(notelabel);
-        return scrollView;
-    }
-    void ResourceCheckView::UpdateView(int date)
-    {
-        std::string display = "File verification";
-
-        if (date == -1)
-        {
-            notelabel->SetText("File verification is error...");
-            return;
-        }
-        else if (date >= 0 && date <= 60)
-        {
-            int progress = date % 5;
-
-            // 添加进度点
-            for (int i = 0; i < progress; ++i)
-            {
-                display += ".";
-            }
-        }
-        else if (date == 61)
-        {
-            notelabel->SetText("File verification is ok...");
-            return;
-        }
-        else
-        {
-            notelabel->SetText("File verification is unkown...");
-            return;
-        }
-
-        // 更新标签文本
-        notelabel->SetText(display.c_str());
+UIScrollView *ResourceCheckView::ResourceCheckViewInit() {
+  scrollView = new UIScrollView();
+  if (!scrollView) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                  "ResourceCheckView::新建滚动视图失败!");
+    return nullptr; // 创建失败,返回空指针
+  }
+
+  // 初始化滚动视图属性
+  InitScrollView();
+
+  // 设置拖拽监听器
+  UIView::OnDragListener *dragListener = static_cast<UIView::OnDragListener *>(
+      SafeModeManagerPresenter::GetInstance());
+  if (!dragListener) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                  "SafeModeManagerPresenter::获取实例失败!");
+    return nullptr; // 获取失败,返回空指针
+  }
+  scrollView->SetOnDragListener(dragListener);
+
+  // 初始化提示标签
+  InitNoteLabel();
+
+  // 初始化文件名列表
+  InitFilenameList();
+
+  // 添加视图到滚动视图中
+  scrollView->Add(FilenameList);
+  scrollView->Add(notelabel);
+
+  return scrollView; // 返回初始化后的滚动视图
+}
+
+void ResourceCheckView::InitScrollView() {
+  // 设置滚动视图的初始位置和样式
+  scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(),
+                          Screen::GetInstance().GetHeight());
+  scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+  scrollView->SetScrollBlankSize(100);
+  scrollView->SetMaxScrollDistance(1000);
+  scrollView->SetThrowDrag(true);
+  scrollView->SetHorizontalScrollState(false); // 禁止水平滑动
+  //   scrollView->SetVerticalScrollState(false);   // 禁止垂直滑动
+}
+void ResourceCheckView::InitNoteLabel() {
+  notelabel = new UILabel();
+  if (!notelabel) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ResourceCheckView::新建标题失败!");
+    return; //
+  }
+  // 设置标签的基本属性
+  notelabel->SetPosition(83, 217);
+  notelabel->Resize(300, 60);
+  notelabel->SetViewId(CHECK_FILE_LIST);
+  notelabel->SetStyle(STYLE_TEXT_FONT, 50);
+  notelabel->SetText("File verification..."); // 保持为英语
+  notelabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
+  notelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+  notelabel->SetFont(GILROY_BOLD_FONT, 30);
+  notelabel->SetTouchable(true);
+  // 设置点击事件监听器
+  UIView::OnClickListener *clickListener =
+      (UIView::OnClickListener *)OHOS::SafeModeManagerPresenter::GetInstance();
+  notelabel->SetOnClickListener(clickListener);
+}
+
+void ResourceCheckView::InitFilenameList() {
+  // 如果适配器未初始化则创建
+  if (!p_ResourceCheckAdapter) {
+    p_ResourceCheckAdapter = new ResourceCheckAdapter();
+  }
+  // 如果文件名列表未初始化则创建
+  if (!FilenameList) {
+    FilenameList = new UIList();
+    FilenameList->SetPosition(43, 120, 466, 466);
+    FilenameList->SetReboundSize(100);
+    FilenameList->SetScrollBlankSize(50);
+    FilenameList->SetThrowDrag(true);
+    // FilenameList->SetScrollStateListener(this);
+    FilenameList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+    FilenameList->SetMaxScrollDistance(1000);
+    FilenameList->SetSwipeACCLevel(800);
+    FilenameList->SetDragACCLevel(5);
+    FilenameList->SetVisible(false); // 初始隐藏界面
+  }
+}
+
+void ResourceCheckView::UpdateView(int date) {
+  std::string display = "File verification";
+
+  // 检查状态并更新提示文本
+  if (date == -1) {
+    notelabel->SetText("File verification error..."); // 保持为英语
+  } else if (date >= 0 && date <= 60) {
+    int progress = date % 5;
+    display.append(progress, '.'); // 添加进度标记点
+  } else if (date == 61) {
+    notelabel->SetText("File verification is ok..."); // 保持为英语
+  } else {
+    notelabel->SetText("File verification is unknown..."); // 保持为英语
+  }
+  // 更新标签文本
+  if (date >= 0) {
+    notelabel->SetText(display.c_str());
+  }
+}
+
+void ResourceCheckView::UpdateView() {
+  printf("开始显示验证结果。\r\n");
+  // 读取文件检查结果
+  if (SafeModeManagerModel::GetInstance()->ReadCheckFile()) {
+    std::vector<std::string> filenames =
+        SafeModeManagerModel::GetInstance()->GetCheckDifferentialFiles();
+    int num = SafeModeManagerModel::GetInstance()->GetCheckFileCount();
+    std::string allFilenames =
+        "This verification result is successful. Number of verified files: " +
+        std::to_string(num) + ". Please click the screen to view the data.";
+
+    notelabel->SetText(allFilenames.c_str());
+    printf("验证的文件数量为 %d\r\n", num);
+    if (num != 0) {
+      SafeModeManagerModel::GetInstance()->SetResourceCheckState(true);
     }
-    void ResourceCheckView::UpdateView()
-    {
-        printf("Start showing verification results.\r\n");
-        if (SafeModeManagerModel::GetInstance()->ReadCheckFile())
-        {
-            // Read the array
-            std::vector<std::string> filenames = SafeModeManagerModel::GetInstance()->GetCheckDifferentialFiles();
-            // Clear the text of notelabel
-            std::string allFilenames;
-            int num = SafeModeManagerModel::GetInstance()->GetCheckFileCount();
-            allFilenames = "This verification result is successful. Number of verified files: " + std::to_string(num)+"Please click the screen to view the data";
-            notelabel->SetText(allFilenames.c_str()); // Set the text at once
-            printf("Number of verified files is %d\r\n", num);
-        }
-        else
-        {
-            notelabel->SetText("File verification is the same.");
-            printf("Verification result is failure.\r\n");
-        }
-        printf("Verification result is completed.\r\n");
+  } else {
+    notelabel->SetText("File verification is the same."); // 保持为英语
+    SafeModeManagerModel::GetInstance()->SetResourceCheckState(false);
+    printf("验证结果为失败。\r\n");
+  }
+  printf("验证结果已完成。\r\n");
+}
+
+void ResourceCheckView::AddFilenameToList(const ResourceCheckItem &item) {
+  p_ResourceCheckAdapter->AddListItem(item);
+}
+
+void ResourceCheckView::SetViewState() {
+  if (notelabel == nullptr || FilenameList == nullptr)
+    return;
+  int filenums = SafeModeManagerModel::GetInstance()->GetCheckFileCount();
+  bool check_state =
+      SafeModeManagerModel::GetInstance()->GetResourceCheckState();
+  printf("filenums %d check_state %d \r\n", filenums, check_state);
+  if (filenums != 0 && check_state) {
+    notelabel->SetVisible(false);   // 隐藏提示标签
+    FilenameList->SetVisible(true); // 显示文件名列表
+    SafeModeManagerModel *p_SafeModeManagerModel =
+        SafeModeManagerModel::GetInstance();
+    if (!p_SafeModeManagerModel) {
+      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_SafeModeManagerModel fail");
+      return; //
     }
-    void SetViewState()
-    {
-            int num =   SafeModeManagerModel::GetInstance()->GetCheckFileCount();
-            if(num!=0)
-            {
-            notelabel->SetVisible(false); // 隐藏界面
-            FilenameList->SetVisible(true); 
-                   FilenameList->SetAdapter(p_MessageListAdapter);
-            /*进行list加载*/
-              p_MessageModel = &MessageModel::GetInstance();
-        if (p_MessageModel == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "p_MessageModel fail");
-            return;
-        }
-        /* 加载list */
-        p_MessageModel->InitMessageListItems();
-        const MessageListItem *itemInfo = p_MessageModel->GetMessageListItems();
-        for (int i = 0; i < p_MessageModel->GetMessageCount(); i++)
-        {
-            messageCardView->AddMessageToList(itemInfo[i]);
-        }
-            }
-            else
-            {
-            FilenameList->SetVisible(false); // 隐藏界面
-            notelabel->SetVisible(true); /
-            }
+    // 加载消息列表
+    p_SafeModeManagerModel->InitFilenamesListItems();
+    const ResourceCheckItem *itemInfo =
+        p_SafeModeManagerModel->GetFilenamesListItems();
+    for (int i = 0; i < p_SafeModeManagerModel->GetFilenamesCount(); i++) {
+      AddFilenameToList(itemInfo[i]); // 将消息添加到视图中
+      FilenameList->SetAdapter(p_ResourceCheckAdapter);
+      SafeModeManagerModel::GetInstance()->SetResourceCheckState(false);
     }
+  } else {
+    FilenameList->SetVisible(false); // 隐藏文件名列表
+    notelabel->SetVisible(true);     // 显示提示标签
+  }
 }
+
+} // namespace OHOS
\ No newline at end of file
index 8c033bf..84c7ff4 100644 (file)
-#include <iostream>
 #include <fstream>
+#include <iostream>
+#include <map>
 #include <string>
 #include <vector>
-#include <map>
-#include <functional>
 
+#include "safemodemanager/include/ResourceCheckView.h"
 #include "safemodemanager/include/SafeModeManagerModel.h"
 #include "safemodemanager/include/SafeModeManagerView.h"
-#include "safemodemanager/include/ResourceCheckView.h"
 
+#include "broadcast_feature.h"
+#include "broadcast_service.h"
 #include "custom_utils.h"
-#include "wearable_log.h"
-#include "thread_adapter.h"
 #include "graphic_service.h"
-#include "broadcast_service.h"
-#include "broadcast_feature.h"
+#include "thread_adapter.h"
+#include "wearable_log.h"
 
 extern "C" bool resfile_checksum_thread(void);
 
 static const char *CHECK_DIFFERENTIAL_FILE = "/system/check_differential.txt";
 
-namespace OHOS
-{
-    SafeModeManagerModel *SafeModeManagerModel::GetInstance(void)
-    {
-        static SafeModeManagerModel instance;
-        return &instance;
-    }
-/* ---------------------------------安全模式 map状态相关 -------------------------------- */
-#if 0
-    /*状态map*/
-    std::array<SafeStateInfo, 4> stateActions = {{
-        {Safe_State::BLE_OTA, false},
-        {Safe_State::AUTO_OTA, false},
-        {Safe_State::FACTORY_RESET, false},
-        {Safe_State::RESOURCE_CHECK, false},
-    }};
-
-    // 设置状态
-    void SafeModeManagerModel::SetState(Safe_State state, bool executeAction) {
-        auto index = static_cast<size_t>(state);
-        if (index < stateActions.size()) {
-            stateActions[index] = executeAction;
-        }
+namespace OHOS {
+
+SafeModeManagerModel *SafeModeManagerModel::GetInstance(void) {
+  static SafeModeManagerModel instance;
+  return &instance;
+}
+/* --------------------------------- 恢复出厂相关
+ * --------------------------------- */
+// 恢复出厂
+bool SafeModeManagerModel::FactorySet() {
+  do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING,
+                                  nullptr, 0);
+  return true;
+}
+
+/*-----------------------------资源校验相关-----------------------------*/
+// 资源校验
+bool SafeModeManagerModel::ResourceCheck() {
+  do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CHECK_RES, nullptr, 0);
+  return true;
+}
+
+// 进行文件读取
+bool SafeModeManagerModel::ReadCheckFile() {
+  resource_check_files.clear();                  // 清空数组原内容
+  std::ifstream infile(CHECK_DIFFERENTIAL_FILE); // 打开差异文件
+
+  if (!infile.is_open()) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "无法打开文件: %s",
+                  CHECK_DIFFERENTIAL_FILE);
+    return false;
+  }
+
+  std::string filename;
+  while (std::getline(infile, filename)) {      // 逐行读取文件
+    if (!filename.empty()) {                    // 确保文件名不为空
+      resource_check_files.push_back(filename); // 将文件名添加到向量中
     }
-
-    // 获取指定类状态
-    bool SafeModeManagerModel::IsState(Safe_State state) const {
-        auto index = static_cast<size_t>(state);
-        return stateActions[index];
-    }
-#endif
-    /* --------------------------------- 恢复出厂相关 --------------------------------- */
-    bool SafeModeManagerModel::FactorySet()
-    {
-        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING, NULL, 0);
-        return true;
-    }
-
-    /*-----------------------------资源校验相关-----------------------------*/
-    bool SafeModeManagerModel::ResourceCheck()
-    {
-        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CHECK_RES, NULL, 0);
-        return true;
-    }
-
-    // 进行文件读取
-    bool SafeModeManagerModel::ReadCheckFile()
-    {
-        resource_check_files.clear();                  // 清空数组原内容
-        std::ifstream infile(CHECK_DIFFERENTIAL_FILE); // 打开差异文件
-
-        if (!infile.is_open())
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "无法打开文件: %s", CHECK_DIFFERENTIAL_FILE);
-            return false;
-        }
-
-        std::string filename;
-        while (std::getline(infile, filename)) // 逐行读取文件
-        {
-            if (!filename.empty()) // 确保文件名不为空
-            {
-                resource_check_files.push_back(filename); // 将文件名添加到向量中
-            }
-        }
-
-        infile.close(); // 关闭文件
-        return true;
-    }
-
-    // 获取校验数组
-    const std::vector<std::string> &SafeModeManagerModel::GetCheckDifferentialFiles() const // 返回常量引用以避免复制
-    {
-        return resource_check_files; // 返回资源检查文件列表
-    }
-
-    // 获取文件个数
-    size_t SafeModeManagerModel::GetCheckFileCount() const
-    {
-        return resource_check_files.size(); // 返回文件个数
-    }
-
-    // 更新文件校对界面
-    void SafeModeManagerModel::updatecheckview(int date)
-    {
-        if (SafeModeManagerView::GetInstance() != nullptr)
-        {
-            if (SafeModeManagerView::GetInstance()->GetSafeScrollView(VIEW_RESOURCE_CHECK) != nullptr)
-            {
-                ResourceCheckView::GetInstance()->UpdateView(date);
-                if (date == 61)
-                {
-                    // LOS_Msleep(1); // 暂停1秒
-                    ResourceCheckView::GetInstance()->UpdateView();
-                }
-            }
-        }
+  }
+
+  infile.close(); // 关闭文件
+  return true;
+}
+// 获取校验状态
+bool SafeModeManagerModel::GetResourceCheckState() const {
+  return resoure_check_state;
+}
+// 设置校验状态
+void SafeModeManagerModel::SetResourceCheckState(bool state) {
+  resoure_check_state = state;
+}
+// 获取校验数组
+const std::vector<std::string> &
+SafeModeManagerModel::GetCheckDifferentialFiles() const {
+  return resource_check_files; // 返回资源检查文件列表
+}
+// 获取文件个数
+size_t SafeModeManagerModel::GetCheckFileCount() const {
+  return resource_check_files.size(); // 返回文件个数
+}
+// 更新文件校对界面
+void SafeModeManagerModel::UpdateCheckView(int date) {
+  auto safeModeView = SafeModeManagerView::GetInstance();
+  if (safeModeView != nullptr) {
+    auto resourceCheckView = ResourceCheckView::GetInstance();
+    if (safeModeView->GetSafeScrollView(VIEW_RESOURCE_CHECK) != nullptr) {
+      resourceCheckView->UpdateView(date);
+      if (date == 61) {
+        LOS_Msleep(1000); // 暂停1秒
+        resourceCheckView->UpdateView();
+      }
     }
-
-}
\ No newline at end of file
+  }
+}
+
+/* --------------------------------- 配置列表相关
+ * --------------------------------- */
+// 初始化消息列表项
+void SafeModeManagerModel::InitFilenamesListItems() {
+  numberOfItems = resource_check_files.size(); // 获取大小
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "numberOfItems: %d", numberOfItems);
+
+  for (size_t i = 0; i < numberOfItems && i < MAX_RESOURCE_CHECK_FILE_NUM;
+       i++) {
+    Filenames[i] = {static_cast<uint16_t>(i), resource_check_files[i].c_str()};
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Filenames[%d].filename: %s", i,
+                  Filenames[i].filename);
+  }
+}
+// 获取消息列表项
+const ResourceCheckItem *SafeModeManagerModel::GetFilenamesListItems() const {
+  return Filenames;
+}
+
+// 获取消息数量
+uint16_t SafeModeManagerModel::GetFilenamesCount() const {
+  return numberOfItems;
+}
+
+} // namespace OHOS
\ No newline at end of file
index 580be42..a6c88ff 100644 (file)
 
 #include "AppViewIDs.h"
-#include "components/ui_label_ext.h"
-#include "ui_resource_string.h"
-#include "NativeAbility.h"
 #include "KeyInputListener.h"
-#include "custom_utils.h"
+#include "NativeAbility.h"
 #include "common/key_code.h"
-
-#include "safemodemanager/include/SafeModeManagerPresenter.h"
-#include "safemodemanager/include/SafeModeManagerModel.h"
-#include "gfx_utils/mem_check.h"
+#include "components/ui_label_ext.h"
 #include "custom_utils.h"
+#include "ui_resource_string.h"
+
 #include "broadcast_service.h"
+#include "custom_utils.h"
+#include "gfx_utils/mem_check.h"
 #include "graphic_service.h"
-namespace OHOS
-{
-
-    // 当前Presenter属性实例化的内存指针
-    static SafeModeManagerPresenter *g_pSafeModeManagerPresenter = nullptr;
-    SafeModeManagerPresenter::SafeModeManagerPresenter()
-    {
-        // 设置常亮
-        ScreenAlwaysOnCtr(0);
-        ScreenAlwaysOnCtr(1);
-
-        g_pSafeModeManagerPresenter = this;
-    }
+#include "safemodemanager/include/SafeModeManagerModel.h"
+#include "safemodemanager/include/SafeModeManagerPresenter.h"
+namespace OHOS {
 
-    SafeModeManagerPresenter::~SafeModeManagerPresenter()
-    {
+// 当前Presenter属性实例化的内存指针
+static SafeModeManagerPresenter *g_pSafeModeManagerPresenter = nullptr;
+SafeModeManagerPresenter::SafeModeManagerPresenter() {
+  // 设置常亮
+  ScreenAlwaysOnCtr(0);
+  ScreenAlwaysOnCtr(1);
 
-        g_pSafeModeManagerPresenter = nullptr;
-    }
+  g_pSafeModeManagerPresenter = this;
+}
 
-    SafeModeManagerPresenter *SafeModeManagerPresenter::GetInstance()
-    {
+SafeModeManagerPresenter::~SafeModeManagerPresenter() {
 
-        return g_pSafeModeManagerPresenter;
-    }
+  g_pSafeModeManagerPresenter = nullptr;
+}
 
-    void SafeModeManagerPresenter::OnStart()
-    {
+SafeModeManagerPresenter *SafeModeManagerPresenter::GetInstance() {
 
-        Presenter<SafeModeManagerView>::OnStart();
-    }
+  return g_pSafeModeManagerPresenter;
+}
 
-    void SafeModeManagerPresenter::OnPause(void)
-    {
+void SafeModeManagerPresenter::OnStart() {
 
-        Presenter<SafeModeManagerView>::OnPause();
-    }
+  Presenter<SafeModeManagerView>::OnStart();
+}
 
-    void SafeModeManagerPresenter::OnResume(void)
-    {
+void SafeModeManagerPresenter::OnPause(void) {
 
-        Presenter<SafeModeManagerView>::OnResume();
-    }
+  Presenter<SafeModeManagerView>::OnPause();
+}
 
-    void SafeModeManagerPresenter::OnStop(void)
-    {
+void SafeModeManagerPresenter::OnResume(void) {
 
-        Presenter<SafeModeManagerView>::OnStop();
-    }
+  Presenter<SafeModeManagerView>::OnResume();
+}
 
-    bool SafeModeManagerPresenter::OnDrag(UIView &view, const DragEvent &event)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SafeModeManagerPresenter::OnClick");
-        SafeModeManagerView *p_SafeModeManagerView = SafeModeManagerView::GetInstance();
-        if (p_SafeModeManagerView == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SafeModeManagerView::GetInstance fail!");
-            return false;
-        }
-        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&
-            (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))
-        {
-            if (&view == p_SafeModeManagerView->GetSafeScrollView(VIEW_RESOURCE_CHECK))
-            {
-                p_SafeModeManagerView->ChangeView(VIEW_RESOURCE_CHECK, VIEW_SAFE_LIST);
-            }
-        }
-        return true;
-    }
+void SafeModeManagerPresenter::OnStop(void) {
+
+  Presenter<SafeModeManagerView>::OnStop();
+}
 
-    bool SafeModeManagerPresenter::OnClick(UIView &view, const ClickEvent &event)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SafeModeManagerPresenter::OnClick");
-        SafeModeManagerView *p_SafeModeManagerView = SafeModeManagerView::GetInstance();
-        if (p_SafeModeManagerView == nullptr)
-        {
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SafeModeManagerView::GetInstance fail!");
-            return false;
-        }
-
-        if (strcmp(view.GetViewId(), BLE_OTA) == 0)
-        {
-            /*蓝牙ota*/
-        }
-        if (strcmp(view.GetViewId(), AUTO_OTA) == 0)
-        {
-            /*auto ota*/
-        }
-        if (strcmp(view.GetViewId(), FACTORY_RESET_SAFE) == 0)
-        {
-            /*恢复出厂*/
-            SafeModeManagerModel::GetInstance()->FactorySet();
-            uapi_reboot_device();
-        }
-        if (strcmp(view.GetViewId(), RESOURCE_CHECK) == 0)
-        {
-            /*资源校验*/
-            p_SafeModeManagerView->ChangeView(VIEW_SAFE_LIST, VIEW_RESOURCE_CHECK);
-            SafeModeManagerModel::GetInstance()->ResourceCheck();
-        }
-        if (strcmp(view.GetViewId(), RE_START) == 0)
-        {
-            /*重启*/
-            uapi_reboot_device(); // 重启
-        }
-        return true;
+bool SafeModeManagerPresenter::OnDrag(UIView &view, const DragEvent &event) {
+  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SafeModeManagerPresenter::OnClick");
+  SafeModeManagerView *p_SafeModeManagerView =
+      SafeModeManagerView::GetInstance();
+  if (p_SafeModeManagerView == nullptr) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                  " SafeModeManagerView::GetInstance fail!");
+    return false;
+  }
+  if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&
+      (event.GetDeltaX() > 20) &&
+      (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) {
+    if (&view ==
+        p_SafeModeManagerView->GetSafeScrollView(VIEW_RESOURCE_CHECK)) {
+      p_SafeModeManagerView->ChangeView(VIEW_RESOURCE_CHECK, VIEW_SAFE_LIST);
     }
-    bool SafeModeManagerPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
-    {
-        unsigned short keyID = event.GetKeyId();
-        unsigned short keyState = event.GetState();
-        // 如果是power键,且是亮屏状态,按键释放就返回上一级
-        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)
-        {
-            // NativeAbility::GetInstance().Back();
-        }
-        return true;
+  }
+  return true;
+}
+
+bool SafeModeManagerPresenter::OnClick(UIView &view, const ClickEvent &event) {
+  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
+                "SafeModeManagerPresenter::OnClick %s" view.GetViewId());
+  SafeModeManagerView *p_SafeModeManagerView =
+      SafeModeManagerView::GetInstance();
+  if (p_SafeModeManagerView == nullptr) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                  " SafeModeManagerView::GetInstance fail!");
+    return false;
+  }
+
+  if (strcmp(view.GetViewId(), BLE_OTA) == 0) {
+    /*蓝牙ota*/
+  }
+  if (strcmp(view.GetViewId(), AUTO_OTA) == 0) {
+    /*auto ota*/
+  }
+  if (strcmp(view.GetViewId(), FACTORY_RESET_SAFE) == 0) {
+    /*恢复出厂*/
+    SafeModeManagerModel::GetInstance()->FactorySet();
+    uapi_reboot_device();
+  }
+  if (strcmp(view.GetViewId(), RESOURCE_CHECK) == 0) {
+    /*资源校验*/
+    p_SafeModeManagerView->ChangeView(VIEW_SAFE_LIST, VIEW_RESOURCE_CHECK);
+    if (SafeModeManagerModel::GetInstance()->GetResourceCheckState() == false)
+      SafeModeManagerModel::GetInstance()->ResourceCheck();
+  }
+  if (strcmp(view.GetViewId(), RE_START) == 0) {
+    /*重启*/
+    uapi_reboot_device(); // 重启
+  }
+  //点击查看列表
+  if (strcmp(view.GetViewId(), CHECK_FILE_LIST) == 0) {
+    if (SafeModeManagerModel::GetInstance()->GetResourceCheckState() == true) {
+      ResourceCheckView::GetInstance()->SetViewState();
     }
-}
\ No newline at end of file
+  }
+  return true;
+}
+bool SafeModeManagerPresenter::OnKeyAct(UIView &view, const KeyEvent &event) {
+  unsigned short keyID = event.GetKeyId();
+  unsigned short keyState = event.GetState();
+  // 如果是power键,且是亮屏状态,按键释放就返回上一级
+  if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) &&
+      keyState == 1 && uapi_get_screen_state() == 0) {
+    // NativeAbility::GetInstance().Back();
+  }
+  return true;
+}
+} // namespace OHOS
\ No newline at end of file
index c65dbcc..092c658 100644 (file)
@@ -2,39 +2,42 @@
  * @Date: 2024-04-15 10:55:58\r
  * @LastEditors: Caisking 3449750381@qq.com\r
  * @LastEditTime: 2024-08-20 16:29:53\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
+ * @FilePath:\r
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
  */\r
 /***\r
  * @Date: 2024-04-15 10:55:58\r
  * @LastEditors: Caisking 3449750381@qq.com\r
  * @LastEditTime: 2024-08-20 16:28:11\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
+ * @FilePath:\r
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
  */\r
 /***\r
  * @Date: 2024-04-15 10:55:58\r
  * @LastEditors: Caisking 3449750381@qq.com\r
  * @LastEditTime: 2024-08-17 15:08:53\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
+ * @FilePath:\r
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
  */\r
 \r
 #include "AppViewIDs.h"\r
-#include "NativeAbility.h"\r
-#include "common/key_code.h"\r
 #include "KeyInputListener.h"\r
 #include "MainModel.h"\r
+#include "NativeAbility.h"\r
+#include "common/key_code.h"\r
 \r
+#include "battery_hal.h"\r
+#include "custom_utils.h"\r
 #include "saveele/include/SaveBatPresenter.h"\r
-#include "saveele/include/SaveEleModel.h"\r
 #include "saveele/include/SaveBatView.h"\r
-#include "custom_utils.h"\r
+#include "saveele/include/SaveEleModel.h"\r
 #include "string.h"\r
 #include "time.h"\r
-#include "battery_hal.h"\r
-namespace OHOS\r
-{\r
 \r
-    // 当前Presenter属性实例化的内存指针\r
-    static SaveBatPresenter *g_pSaveBatPresenter = nullptr;\r
+namespace OHOS {\r
+\r
+// 当前Presenter属性实例化的内存指针\r
+static SaveBatPresenter *g_pSaveBatPresenter = nullptr;\r
 \r
 // 时间间隔宏定义(以毫秒为单位)\r
 #define ONE_SECOND 1000\r
@@ -43,135 +46,110 @@ namespace OHOS
 #define TIME_THRESHOLD 3000\r
 \r
 // 判断时间条件的宏\r
-#define IS_TIME_MATCH(startTime, current_time, interval) ((startTime != 0) && ((current_time - startTime) >= (interval)))\r
-#define IS_TIME_EXCEED(startTime, current_time) ((startTime != 0) && ((current_time - startTime) > (TIME_THRESHOLD)))\r
+#define IS_TIME_MATCH(startTime, current_time, interval)                       \\r
+  ((startTime != 0) && ((current_time - startTime) >= (interval)))\r
+#define IS_TIME_EXCEED(startTime, current_time)                                \\r
+  ((startTime != 0) && ((current_time - startTime) > (TIME_THRESHOLD)))\r
 \r
-    SaveBatPresenter::SaveBatPresenter()\r
-    {\r
-        g_pSaveBatPresenter = this;\r
-    }\r
+SaveBatPresenter::SaveBatPresenter() { g_pSaveBatPresenter = this; }\r
 \r
-    SaveBatPresenter::~SaveBatPresenter()\r
-    {\r
-        g_pSaveBatPresenter = nullptr;\r
-    }\r
+SaveBatPresenter::~SaveBatPresenter() { g_pSaveBatPresenter = nullptr; }\r
 \r
-    SaveBatPresenter *SaveBatPresenter::GetInstance()\r
-    {\r
-        return g_pSaveBatPresenter;\r
-    }\r
+SaveBatPresenter *SaveBatPresenter::GetInstance() {\r
+  return g_pSaveBatPresenter;\r
+}\r
 \r
-    void SaveBatPresenter::OnStart()\r
-    {\r
-        Presenter<SaveBatView>::OnStart();\r
-    }\r
+void SaveBatPresenter::OnStart() { Presenter<SaveBatView>::OnStart(); }\r
 \r
-    void SaveBatPresenter::OnPause(void)\r
-    {\r
-        Presenter<SaveBatView>::OnPause();\r
-    }\r
+void SaveBatPresenter::OnPause(void) { Presenter<SaveBatView>::OnPause(); }\r
 \r
-    void SaveBatPresenter::OnResume(void)\r
-    {\r
-        Presenter<SaveBatView>::OnResume();\r
-    }\r
+void SaveBatPresenter::OnResume(void) { Presenter<SaveBatView>::OnResume(); }\r
 \r
-    void SaveBatPresenter::OnStop(void)\r
-    {\r
-        SaveEleModel::GetInstance()->SetViewState(false);\r
-        Presenter<SaveBatView>::OnStop();\r
-    }\r
+void SaveBatPresenter::OnStop(void) {\r
+  SaveEleModel::GetInstance()->SetViewState(false);\r
+  Presenter<SaveBatView>::OnStop();\r
+}\r
 \r
-    bool SaveBatPresenter::OnPress(UIView &view, const PressEvent &event)\r
-    {\r
-        if (strcmp(view.GetViewId(), "button_exit") == 0)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进行按下");\r
-            if (SaveEleModel::GetInstance()->GetViewState() == false)\r
-            {\r
-                SaveEleModel::GetInstance()->SetViewState(true);\r
-                SaveBatView::GetInstance()->UpdateView();\r
-                SaveBatView::GetInstance()->StartCanvas();\r
-            }\r
-        }\r
-        return true;\r
+bool SaveBatPresenter::OnPress(UIView &view, const PressEvent &event) {\r
+  if (strcmp(view.GetViewId(), "button_exit") == 0) {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进行按下");\r
+    if (SaveEleModel::GetInstance()->GetViewState() == false) {\r
+      SaveEleModel::GetInstance()->SetViewState(true);\r
+      SaveBatView::GetInstance()->UpdateView();\r
+      SaveBatView::GetInstance()->StartCanvas();\r
     }\r
-    bool SaveBatPresenter::OnRelease(UIView &view, const ReleaseEvent &event)\r
-    {\r
-        if (strcmp(view.GetViewId(), "button_exit") == 0)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进行松开");\r
-            if (SaveEleModel::GetInstance()->GetViewState() == true)\r
-            {\r
-                SaveBatView::GetInstance()->StopCanvas();\r
-                SaveEleModel::GetInstance()->SetViewState(false);\r
-                SaveBatView::GetInstance()->UpdateView();\r
-            }\r
-        }\r
-        return true;\r
+  }\r
+  return true;\r
+}\r
+bool SaveBatPresenter::OnRelease(UIView &view, const ReleaseEvent &event) {\r
+  if (strcmp(view.GetViewId(), "button_exit") == 0) {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进行松开");\r
+    if (SaveEleModel::GetInstance()->GetViewState() == true) {\r
+      SaveBatView::GetInstance()->StopCanvas();\r
+      SaveEleModel::GetInstance()->SetViewState(false);\r
+      SaveBatView::GetInstance()->UpdateView();\r
     }\r
-    void SaveBatPresenter::ExitView(void)\r
-    {\r
-        NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
+  }\r
+  return true;\r
+}\r
+void SaveBatPresenter::ExitView(void) {\r
+  NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
+}\r
+\r
+void SaveBatPresenter::OnTickEvent() {\r
+  /*省电表盘界面*/\r
+  if (SaveEleModel::GetInstance()->GetViewState() == false) {\r
+    SaveBatView::GetInstance()->Refresh_Dial_View();\r
+  }\r
+  /*退出判断*/\r
+  bool chargeStatus = SaveEleModel::GetInstance()->GetChargeStatus();\r
+  bool backState = SaveEleModel::GetInstance()->GetBackState();\r
+  if (chargeStatus || backState) {\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP,\r
+                  "退出省电模式 Charge_Status: %d, Back_State: %d",\r
+                  chargeStatus, backState);\r
+    SaveEleModel::GetInstance()->SetBackState(false);\r
+    ExitView();\r
+  }\r
+}\r
+void SaveBatPresenter::ResetTickTimer(void) {\r
+  startTime = osKernelGetTick2ms();\r
+}\r
+/* 更新退出UI */\r
+void SaveBatPresenter::Refresh_Back_View() {\r
+  if (SaveBatView::GetInstance()->GetCountlabel() == nullptr ||\r
+      SaveBatView::GetInstance()->GetBackprogress() == nullptr) {\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+                  "Refresh_Back_View: countlabel or backprogress is null.");\r
+    return;\r
+  }\r
+\r
+  if (count > 0) // 确保不会减少到负数\r
+  {\r
+    // 每次调用时尝试更新进度值\r
+    progressValue++;\r
+\r
+    // 更新计数并检查进度值\r
+    if (progressValue == 50 || progressValue == 75 || progressValue == 100) {\r
+      count--;\r
+      SaveBatView::GetInstance()->GetCountlabel()->SetText(\r
+          std::to_string(count).c_str());\r
     }\r
 \r
-    void SaveBatPresenter::OnTickEvent()\r
-    {\r
-        /*省电表盘界面*/\r
-        if (SaveEleModel::GetInstance()->GetViewState() == false)\r
-        {\r
-            SaveBatView::GetInstance()->Refresh_Dial_View();\r
-        }\r
-        /*退出判断*/\r
-        bool chargeStatus = SaveEleModel::GetInstance()->GetChargeStatus();\r
-        bool backState = SaveEleModel::GetInstance()->GetBackState();\r
-        if (chargeStatus || backState)\r
-        {\r
-            WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "退出省电模式 Charge_Status: %d, Back_State: %d", chargeStatus, backState);\r
-            SaveEleModel::GetInstance()->SetBackState(false);\r
-            ExitView();\r
-        }\r
-    }\r
-    void SaveBatPresenter::ResetTickTimer(void)\r
-    {\r
-        startTime = osKernelGetTick2ms();\r
-    }\r
-    /* 更新退出UI */\r
-    void SaveBatPresenter::Refresh_Back_View()\r
-    {\r
-        if (SaveBatView::GetInstance()->GetCountlabel() == nullptr || SaveBatView::GetInstance()->GetBackprogress() == nullptr)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Refresh_Back_View: countlabel or backprogress is null.");\r
-            return;\r
-        }\r
-\r
-        if (count > 0) // 确保不会减少到负数\r
-        {\r
-            // 每次调用时尝试更新进度值\r
-            progressValue++;\r
-\r
-            // 更新计数并检查进度值\r
-            if (progressValue == 50 || progressValue == 75 || progressValue == 100)\r
-            {\r
-                count--;\r
-                SaveBatView::GetInstance()->GetCountlabel()->SetText(std::to_string(count).c_str());\r
-            }\r
-\r
-            // 根据最大值进行检查以避免进度条越界\r
-            if (progressValue >= 100) // 假设进度最大值为100\r
-            {\r
-                NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
-            }\r
-            else\r
-            {\r
-                SaveBatView::GetInstance()->GetBackprogress()->SetValue(progressValue);\r
-            }\r
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Refresh_Back_View: 当前计数: %d, 当前进度值: %d", count, progressValue);\r
-        }\r
-    }\r
-    bool SaveBatPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+    // 根据最大值进行检查以避免进度条越界\r
+    if (progressValue >= 100) // 假设进度最大值为100\r
     {\r
-        /*消耗按键事件*/\r
-        return true;\r
+      NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
+    } else {\r
+      SaveBatView::GetInstance()->GetBackprogress()->SetValue(progressValue);\r
     }\r
-}
\ No newline at end of file
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
+                  "Refresh_Back_View: 当前计数: %d, 当前进度值: %d", count,\r
+                  progressValue);\r
+  }\r
+}\r
+bool SaveBatPresenter::OnKeyAct(UIView &view, const KeyEvent &event) {\r
+  /*消耗按键事件*/\r
+  return true;\r
+}\r
+} // namespace OHOS\r