${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
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
* @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"
namespace OHOS
{
-
typedef struct
{
int index;
#include "components/ui_label_button.h"
#include "safemodemanager/include/ResourceCheckAdapter.h"
+#include "safemodemanager/include/ResourceCheckItemView.h"
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
-/***
- * @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
* @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
* @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
+#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
-#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
#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
-#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
#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
* @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
#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