* @Date: 2024-04-15 10:55:58\r
* @LastEditors: Caisking 3449750381@qq.com\r
* @LastEditTime: 2024-08-09 15:01:58\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveElePresenter.h\r
+ * @FilePath:\r
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveElePresenter.h\r
*/\r
#ifndef _SAVEELE_PRESENTER_H\r
#define _SAVEELE_PRESENTER_H\r
#include "Presenter.h"\r
#include "SaveEleView.h"\r
\r
-namespace OHOS\r
-{\r
- static constexpr const char *SAVEBUTTONOK = "buttonok";\r
- static constexpr const char *SAVEBUTTONNO = "buttonno";\r
+namespace OHOS {\r
+static constexpr const char *SAVEBUTTONOK = "buttonok";\r
+static constexpr const char *SAVEBUTTONNO = "buttonno";\r
\r
- class SaveEleView;\r
- class SaveElePresenter : public Presenter<SaveEleView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener,\r
- public RootView::OnKeyActListener\r
- {\r
- public:\r
- SaveElePresenter();\r
- virtual ~SaveElePresenter();\r
+class SaveEleView;\r
+class SaveElePresenter : public Presenter<SaveEleView>,\r
+ public UIView::OnClickListener,\r
+ public UIView::OnDragListener,\r
+ public UIView::OnRotateListener,\r
+ public RootView::OnKeyActListener {\r
+public:\r
+ SaveElePresenter();\r
+ virtual ~SaveElePresenter();\r
\r
- void OnStart() override;\r
- void OnPause() override;\r
- void OnResume() override;\r
- void OnStop() override;\r
+ void OnStart() override;\r
+ void OnPause() override;\r
+ void OnResume() override;\r
+ void OnStop() override;\r
\r
- static SaveElePresenter *GetInstance();\r
+ static SaveElePresenter *GetInstance();\r
\r
- private:\r
- // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
- bool OnClick(UIView &view, const ClickEvent &event) override;\r
- bool OnDrag(UIView &view, const DragEvent &event) override;\r
- bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
- };\r
+private:\r
+ // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
+ bool OnClick(UIView &view, const ClickEvent &event) override;\r
+ bool OnDrag(UIView &view, const DragEvent &event) override;\r
+ bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
+ bool OnRotateEnd(UIView &view, const RotateEvent &event);\r
+};\r
} // namespace OHOS\r
\r
#endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
-/*** \r
- * @Date: 2024-08-16 09:26:06\r
- * @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-08-21 17:03:11\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveElePresenter.cpp\r
- */\r
-/*** \r
- * @Date: 2024-05-30 15:59:37\r
- * @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-08-20 16:04:44\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveElePresenter.cpp\r
- */\r
+\r
#include "AppViewIDs.h"\r
-#include "components/ui_label_ext.h"\r
-#include "ui_resource_string.h"\r
-#include "NativeAbility.h"\r
#include "KeyInputListener.h"\r
-#include "custom_utils.h"\r
+#include "NativeAbility.h"\r
#include "common/key_code.h"\r
+#include "components/ui_label_ext.h"\r
+#include "custom_utils.h"\r
+#include "ui_resource_string.h"\r
\r
-#include "saveele/include/SaveElePresenter.h"\r
#include "gfx_utils/mem_check.h"\r
-namespace OHOS\r
-{\r
+#include "saveele/include/SaveElePresenter.h"\r
+#include "vibrator_service.h"\r
+\r
+namespace OHOS {\r
\r
- // 当前Presenter属性实例化的内存指针\r
- static SaveElePresenter *g_pSaveElePresenter = nullptr;\r
+// 当前Presenter属性实例化的内存指针\r
+static SaveElePresenter *g_pSaveElePresenter = nullptr;\r
\r
- SaveElePresenter::SaveElePresenter()\r
- {\r
+SaveElePresenter::SaveElePresenter() {\r
#ifdef MEM_CHECK\r
- MemCheck::GetInstance()->EnableLeakCheck(true);\r
+ MemCheck::GetInstance()->EnableLeakCheck(true);\r
#endif\r
- g_pSaveElePresenter = this;\r
- }\r
+ g_pSaveElePresenter = this;\r
+}\r
\r
- SaveElePresenter::~SaveElePresenter()\r
- {\r
+SaveElePresenter::~SaveElePresenter() {\r
#ifdef MEM_CHECK\r
- MemCheck::GetInstance()->EnableLeakCheck(false);\r
+ MemCheck::GetInstance()->EnableLeakCheck(false);\r
#endif\r
- g_pSaveElePresenter = nullptr;\r
- }\r
-\r
- SaveElePresenter *SaveElePresenter::GetInstance()\r
- {\r
-\r
- return g_pSaveElePresenter;\r
- }\r
-\r
- void SaveElePresenter::OnStart()\r
- {\r
-\r
- Presenter<SaveEleView>::OnStart();\r
- }\r
-\r
- void SaveElePresenter::OnPause(void)\r
- {\r
-\r
- Presenter<SaveEleView>::OnPause();\r
- }\r
-\r
- void SaveElePresenter::OnResume(void)\r
- {\r
-\r
- Presenter<SaveEleView>::OnResume();\r
- }\r
-\r
- void SaveElePresenter::OnStop(void)\r
- {\r
-\r
- Presenter<SaveEleView>::OnStop();\r
- }\r
-\r
- bool SaveElePresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
-\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
- (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
- {\r
- NativeAbility::GetInstance().Back();\r
- }\r
- UNUSED(view);\r
- return true;\r
- }\r
-\r
- bool SaveElePresenter::OnClick(UIView &view, const ClickEvent &event)\r
- {\r
- if (strcmp(view.GetViewId(), SAVEBUTTONNO) == 0)\r
- {\r
- NativeAbility::GetInstance().Back();\r
- }\r
- if (strcmp(view.GetViewId(), SAVEBUTTONOK) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SAVEBAT);\r
- }\r
- return true;\r
- }\r
- bool SaveElePresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
- {\r
- unsigned short keyID = event.GetKeyId();\r
- unsigned short keyState = event.GetState();\r
- // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
- {\r
- NativeAbility::GetInstance().Back();\r
- }\r
- return true;\r
- }\r
-}
\ No newline at end of file
+ g_pSaveElePresenter = nullptr;\r
+}\r
+\r
+SaveElePresenter *SaveElePresenter::GetInstance() {\r
+\r
+ return g_pSaveElePresenter;\r
+}\r
+\r
+void SaveElePresenter::OnStart() { Presenter<SaveEleView>::OnStart(); }\r
+\r
+void SaveElePresenter::OnPause(void) { Presenter<SaveEleView>::OnPause(); }\r
+\r
+void SaveElePresenter::OnResume(void) { Presenter<SaveEleView>::OnResume(); }\r
+\r
+void SaveElePresenter::OnStop(void) { Presenter<SaveEleView>::OnStop(); }\r
+\r
+bool SaveElePresenter::OnDrag(UIView &view, const DragEvent &event) {\r
+\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
+ (event.GetDeltaX() > 20) &&\r
+ (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY())))) {\r
+ NativeAbility::GetInstance().Back();\r
+ }\r
+ UNUSED(view);\r
+ return true;\r
+}\r
+\r
+bool SaveElePresenter::OnClick(UIView &view, const ClickEvent &event) {\r
+ if (strcmp(view.GetViewId(), SAVEBUTTONNO) == 0) {\r
+ NativeAbility::GetInstance().Back();\r
+ }\r
+ if (strcmp(view.GetViewId(), SAVEBUTTONOK) == 0) {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SAVEBAT);\r
+ }\r
+ return true;\r
+}\r
+bool SaveElePresenter::OnKeyAct(UIView &view, const KeyEvent &event) {\r
+ unsigned short keyID = event.GetKeyId();\r
+ unsigned short keyState = event.GetState();\r
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) &&\r
+ keyState == 1 && uapi_get_screen_state() == 0) {\r
+ NativeAbility::GetInstance().Back();\r
+ }\r
+ return true;\r
+}\r
+\r
+bool SaveElePresenter::OnRotateEnd(UIView &view, const RotateEvent &event) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "VolumeSliderEventListener::OnRotateEnd");\r
+// ui_api_vibrate_once_func(); \r
+ return true;\r
+}\r
+} // 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-09 14:41:32\r
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveEleView.cpp\r
+ * @FilePath:\r
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveEleView.cpp\r
*/\r
\r
#include "saveele/include/SaveEleView.h"\r
#include "saveele/include/SaveElePresenter.h"\r
\r
-#include "common/image_cache_manager.h"\r
#include "UiConfig.h"\r
-#include "ui_resource_image.h"\r
-#include <ui_scroll_view.h>\r
+#include "common/image_cache_manager.h"\r
#include "components/ui_button.h"\r
-#include "uicomponents/UIComponents.h"\r
-#include "ui_resource_string.h"\r
#include "components/ui_scroll_view.h"\r
+#include "ui_resource_image.h"\r
+#include "ui_resource_string.h"\r
+#include "uicomponents/UIComponents.h"\r
+#include <ui_scroll_view.h>\r
+\r
+namespace OHOS {\r
+\r
+static SaveEleView *g_pSaveEleView{nullptr};\r
+static const uint32_t BACK_GROUND_COLOR = 0xfff6f6f6;\r
+\r
+static constexpr char *iconImgPath = "/user/res/Save_Ele/SaveEle.bin";\r
+static constexpr char *butnoImgPath = "/user/res/Save_Ele/Save_Error.bin";\r
+static constexpr char *butokImgPath = "/user/res/Save_Ele/Save_Right.bin";\r
+\r
+SaveEleView::SaveEleView() { g_pSaveEleView = this; }\r
+\r
+SaveEleView::~SaveEleView() {\r
+ UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);\r
+ UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);\r
+ g_pSaveEleView = nullptr;\r
+}\r
+\r
+SaveEleView *SaveEleView::GetInstance() { return g_pSaveEleView; }\r
+\r
+void SaveEleView::InitView() {\r
+ if (container_ == nullptr) {\r
+ container_ = new UIScrollView();\r
+ container_->SetPosition(0, 0, 466, 466);\r
+ container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+ }\r
+\r
+ /*初始化label*/\r
+ InitRollLabel(labeltitle, 83, 50, 300, 35, "labletitle", STR_POWER_SAVE_MODE,\r
+ DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelnote, 53, 217, 360, 200, "labletitle", STR_SAVENOTE,\r
+ DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelkown, 53, 385, 360, 100, "labelrecord", STR_SAVEBACK,\r
+ DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ labelkown->SetTextColor(Color::Orange());\r
+\r
+ /*初始化图片*/\r
+ InitImageView(iamgeicon, 188, 121, 80, 90, "saveicon", iconImgPath);\r
+\r
+ /*初始化按键*/\r
+ InitButton(buttonno, 110, 501, 100, 100, SAVEBUTTONNO);\r
+ buttonno->SetImageSrc(butnoImgPath, butnoImgPath);\r
+ buttonno->SetOnClickListener(presenter_);\r
+\r
+ InitButton(buttonok, 255, 501, 100, 100, SAVEBUTTONOK);\r
+ buttonok->SetImageSrc(butokImgPath, butokImgPath);\r
+ buttonok->SetOnClickListener(presenter_);\r
+\r
+ container_->Add(labeltitle);\r
+ container_->Add(labelnote);\r
+ container_->Add(labelkown);\r
+ container_->Add(iamgeicon);\r
+ container_->Add(buttonno);\r
+ container_->Add(buttonok);\r
+}\r
+\r
+void SaveEleView::OnStart() {\r
+\r
+ View<SaveElePresenter>::OnStart();\r
+\r
+ container_ = new UIScrollView();\r
+ if (container_ == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail");\r
+ return;\r
+ }\r
+ container_->SetScrollBlankSize(35);\r
+ container_->SetReboundSize(50);\r
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(),\r
+ Screen::GetInstance().GetHeight());\r
+\r
+ container_->SetOnDragListener(presenter_);\r
+ container_->SetOnRotateListener(presenter_);\r
+ container_->SetRotateFactor(2);\r
+ container_->RequestFocus();\r
+ container_->SetTouchable(true);\r
+ container_->SetDraggable(true);\r
+ container_->SetStyle(STYLE_BACKGROUND_COLOR, BACK_GROUND_COLOR);\r
+ container_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+\r
+ InitView();\r
+ SetContainerView(container_);\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
+}\r
+\r
+void SaveEleView::OnSetUpView() {\r
+ View<SaveElePresenter>::OnSetUpView();\r
+ Draw();\r
+}\r
+\r
+void SaveEleView::OnTearDownView() {\r
+ View<SaveElePresenter>::OnTearDownView();\r
+ return;\r
+}\r
\r
-namespace OHOS\r
-{\r
-\r
- static SaveEleView *g_pSaveEleView{nullptr};\r
- static const uint32_t BACK_GROUND_COLOR = 0xfff6f6f6;\r
-\r
- static constexpr char *iconImgPath = "/user/res/Save_Ele/SaveEle.bin";\r
- static constexpr char *butnoImgPath = "/user/res/Save_Ele/Save_Error.bin";\r
- static constexpr char *butokImgPath = "/user/res/Save_Ele/Save_Right.bin";\r
-\r
- SaveEleView::SaveEleView()\r
- {\r
- g_pSaveEleView = this;\r
- }\r
-\r
- SaveEleView::~SaveEleView()\r
- {\r
- UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);\r
- UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);\r
- g_pSaveEleView = nullptr;\r
- }\r
-\r
- SaveEleView *SaveEleView::GetInstance()\r
- {\r
- return g_pSaveEleView;\r
- }\r
-\r
- void SaveEleView::InitView()\r
- {\r
- if (container_ == nullptr)\r
- {\r
- container_ = new UIScrollView();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- }\r
-\r
- /*初始化label*/\r
- InitLabelExt(labeltitle, 83, 50, 300, 35, "labletitle", STR_POWER_SAVE_MODE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabelExt(labelnote, 53, 217, 360, 200, "labletitle", STR_SAVENOTE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabelExt(labelkown, 53, 385, 360, 100, "labelrecord", STR_SAVEBACK, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- labelkown->SetTextColor(Color::Orange());\r
-\r
- /*初始化图片*/\r
- InitImageView(iamgeicon, 188, 121, 80, 90, "saveicon", iconImgPath);\r
-\r
- /*初始化按键*/\r
- InitButton(buttonno, 110, 501, 100, 100, SAVEBUTTONNO);\r
- buttonno->SetImageSrc(butnoImgPath, butnoImgPath);\r
- buttonno->SetOnClickListener(presenter_);\r
-\r
- InitButton(buttonok, 255, 501, 100, 100, SAVEBUTTONOK);\r
- buttonok->SetImageSrc(butokImgPath, butokImgPath);\r
- buttonok->SetOnClickListener(presenter_);\r
-\r
- container_->Add(labeltitle);\r
- container_->Add(labelnote);\r
- container_->Add(labelkown);\r
- container_->Add(iamgeicon);\r
- container_->Add(buttonno);\r
- container_->Add(buttonok);\r
- }\r
-\r
- void SaveEleView::OnStart()\r
- {\r
-\r
- View<SaveElePresenter>::OnStart();\r
-\r
- container_ = new UIScrollView();\r
- if (container_ == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail");\r
- return;\r
- }\r
- container_->SetScrollBlankSize(35);\r
- container_->SetReboundSize(50);\r
- container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-\r
- container_->SetOnDragListener(presenter_);\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
- container_->SetStyle(STYLE_BACKGROUND_COLOR, BACK_GROUND_COLOR);\r
- container_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-\r
- InitView();\r
- SetContainerView(container_);\r
- RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
- }\r
-\r
- void SaveEleView::OnSetUpView()\r
- {\r
- View<SaveElePresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void SaveEleView::OnTearDownView()\r
- {\r
- View<SaveElePresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void SaveEleView::OnStop()\r
- {\r
- View<SaveElePresenter>::OnStop();\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
- }\r
+void SaveEleView::OnStop() {\r
+ View<SaveElePresenter>::OnStop();\r
+ if (container_ != nullptr) {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
}\r
+} // namespace OHOS\r