From: luozheng <1732036298@qq.com> Date: Tue, 20 Feb 2024 02:11:11 +0000 (+0800) Subject: 利用Model层不会被销毁的特点保存复选按钮的状态 X-Git-Tag: release_V1.2.70_20241020_135402~1298^2~24 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=f5bd69d02b7c2c3385803d0231b2b153a6f70d67;p=mirrors%2FFD230.git 利用Model层不会被销毁的特点保存复选按钮的状态 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h index 50a82309f..89fd6f751 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h @@ -1,9 +1,23 @@ #ifndef DISPLAY_BRIGHTNESS_MODEL_H_ #define DISPLAY_BRIGHTNESS_MODEL_H_ +namespace OHOS +{ + class DisplayBrightnessModel + { + public: + static DisplayBrightnessModel *GetInstance(void); + void SetRaiseToBrightnessCheckBoxButtonStatus(bool value); + bool DisplayBrightnessViewAndSubViewComponentsStatusInit(); + private: + DisplayBrightnessModel(); + DisplayBrightnessModel(const DisplayBrightnessModel &); + DisplayBrightnessModel &operator=(const DisplayBrightnessModel &); + virtual ~DisplayBrightnessModel(); - - - + private: + bool RaiseToBrightnessCheckBoxButtonState{false}; //抬腕按钮状态 + }; +} #endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h index 8a60fddbd..b839182c5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessPresenter.h @@ -55,7 +55,7 @@ namespace OHOS void OnStop() override; static DisplayBrightnessPresenter *GetInstance(); - + void SetRaiseToBrightnessState(bool value); private: // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; bool OnClick(UIView &view, const ClickEvent &event) override; diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp index 5a94007f2..43ac836d3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp @@ -1 +1,44 @@ -#include "displaybrightness/include/DisplayBrightnessModel.h" \ No newline at end of file +#include "displaybrightness/include/DisplayBrightnessModel.h" +#include "displaybrightness/include/DisplayBrightnessPresenter.h" +#include "wearable_log.h" +namespace OHOS +{ + + DisplayBrightnessModel::DisplayBrightnessModel() {} + + DisplayBrightnessModel::~DisplayBrightnessModel() {} + + DisplayBrightnessModel *DisplayBrightnessModel::GetInstance(void) + { + static DisplayBrightnessModel instance; + return &instance; + } + + /// @brief 设置抬腕亮屏按钮状态 + /// @param value true 开启 false 关闭 + void DisplayBrightnessModel::SetRaiseToBrightnessCheckBoxButtonStatus(bool value) + { + RaiseToBrightnessCheckBoxButtonState = value; + } + + /// @brief 显示与亮度及其子视图中的组件状态初始化 + /// @param value true 开启 false 关闭 + /// @return true 初始化成功 false 初始化失败 + bool DisplayBrightnessModel::DisplayBrightnessViewAndSubViewComponentsStatusInit() + { + /* ---------------------------------- 1.亮屏值大小 --------------------------------- */ + + /* --------------------------------- 2.亮屏时长 --------------------------------- */ + + /* -------------------------------- 3.抬腕亮屏按钮的状态 ------------------------------- */ + DisplayBrightnessPresenter *displayBrightnessPresent = DisplayBrightnessPresenter::GetInstance(); + if (displayBrightnessPresent == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButtonStateInit DisplayBrightnessPresenter GetInstance fail"); + return false; + } + displayBrightnessPresent->SetRaiseToBrightnessState(RaiseToBrightnessCheckBoxButtonState); // 抬腕按钮的状态 + return true; + } + +} diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp index 307b1a2f4..eaa17ee47 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessPresent.cpp @@ -4,6 +4,7 @@ #include "string.h" #include "displaybrightness/include/DisplayBrightnessPresenter.h" #include "cat1_ctl.h" +#include "displaybrightness/include/DisplayBrightnessModel.h" namespace OHOS { // 当前Presenter属性实例化的内存指针 @@ -27,6 +28,23 @@ namespace OHOS return g_pDisplayBrightnessPresenter; } + /// @brief 设置抬腕亮屏状态 + /// @param value + void DisplayBrightnessPresenter::SetRaiseToBrightnessState(bool value) + { + DisplayBrightnessView *displayBrightnessView = DisplayBrightnessView::GetInstance(); + if (displayBrightnessView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetPlayerState playersView GetInstance fail"); + return; + } + if (value != false) + { + displayBrightnessView->SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState::SELECTED); + DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false);//将Model层保存的状态清除 + } + } + void DisplayBrightnessPresenter::OnStart() { diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp index 9b43e5bfc..f6e03d8b3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp @@ -1,4 +1,5 @@ #include "displaybrightness/include/DisplayBrightnessView.h" +#include "displaybrightness/include/DisplayBrightnessModel.h" #include "wearable_log.h" namespace OHOS { @@ -61,8 +62,7 @@ namespace OHOS state = GetRaiseToBrightnessCheckBoxButtonState(); if (state == UICheckBox::UICheckBoxState::SELECTED) { - //PlayersModel::GetInstance()->SetPlayButtonState(true); - //SetRaiseToBrightnessCheckBoxButtonState(UICheckBox::UICheckBoxState::SELECTED); + DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(true); } delete RaiseToBrightnessCheckBoxButton; @@ -363,6 +363,7 @@ namespace OHOS { return; } + DisplayBrightnessModel::GetInstance()->DisplayBrightnessViewAndSubViewComponentsStatusInit(); initViewStatus = true; } @@ -383,7 +384,7 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PlayersView::SetPlayerButtonState playerButton NULL"); return; } - return RaiseToBrightnessCheckBoxButton->SetState(state); + RaiseToBrightnessCheckBoxButton->SetState(state); } /// @brief 获取显示与亮度视图中的scrollView