【亮度调节】UI
authorCaisking <Casiking@zhihuishixun.com>
Mon, 28 Apr 2025 10:01:07 +0000 (18:01 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Mon, 28 Apr 2025 10:01:07 +0000 (18:01 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelPresenter.h [new file with mode: 0644]
code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelView.h [new file with mode: 0644]
code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelPresenter.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelView.cpp [new file with mode: 0644]

diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelPresenter.h b/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelPresenter.h
new file mode 100644 (file)
index 0000000..bec9317
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-04-16 14:37:08
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-04-16 16:08:41
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/brightnesslevel/include/BrightnessLevelPresenter.h
+ */
+
+#ifndef BRIGHTNESS_LEVEL_PRESENTER_H
+#define BRIGHTNESS_LEVEL_PRESENTER_H
+
+#include "Presenter.h"
+#include "View.h"
+#include "brightnesslevel/include/BrightnessLevelView.h"
+#include "brightnesslevel/include/BrightnessLevelPresenter.h"
+
+namespace OHOS
+{
+    class BrightnessLevelView;
+    class BrightnessLevelPresenter : public Presenter<BrightnessLevelView>,
+                                     public UIView::OnClickListener,
+                                     public RootView::OnKeyActListener,
+                                     public UIView::OnDragListener
+    {
+    public:
+        BrightnessLevelPresenter();
+        virtual ~BrightnessLevelPresenter();
+
+        void OnStart() override;
+        void OnPause() override;
+        void OnResume() override;
+        void OnStop() override;
+
+        static BrightnessLevelPresenter *GetInstance();
+
+    private:
+        bool OnClick(UIView &view, const ClickEvent &event) override;
+        bool OnDrag(UIView &view, const DragEvent &event) override;
+        bool OnDragEnd(UIView &view, const DragEvent &event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+    };
+}
+
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelView.h b/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/include/BrightnessLevelView.h
new file mode 100644 (file)
index 0000000..ec1aefe
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-04-16 14:37:15
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-18 15:30:17
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/brightnesslevel/include/BrightnessLevelView.h
+ */
+#ifndef BRIGHTNESS_LEVEL_VIEW_H
+#define BRIGHTNESS_LEVEL_VIEW_H
+
+
+#include "View.h"
+#include "displaybrightness/include/BrightnessControlView.h"
+#include "brightnesslevel/include/BrightnessLevelView.h"
+#include "brightnesslevel/include/BrightnessLevelPresenter.h"
+#include "components/ui_scroll_view.h"
+namespace OHOS
+{
+
+    class BrightnessLevelPresenter;
+    class BrightnessLevelView : public View<BrightnessLevelPresenter>
+    {
+
+    public:
+        BrightnessLevelView();
+        virtual ~BrightnessLevelView();
+        static BrightnessLevelView *GetInstance(void);
+        BrightnessControlView *GetBrightnessControlView(void)
+        {
+            return p_BrightnessControlView;
+        }
+
+        void OnStart() override;
+
+    private:
+        void BrightnessLevelViewInit(void);
+        void ClearAll(void);
+        UIScrollView *scorllView{nullptr};
+        BrightnessControlView *p_BrightnessControlView{nullptr};
+    };
+}
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelPresenter.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelPresenter.cpp
new file mode 100644 (file)
index 0000000..df24e68
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-04-16 14:36:45
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-18 15:19:37
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/brightnesslevel/src/BrightnessLevelPresenter.cpp
+ */
+#include "brightnesslevel/include/BrightnessLevelPresenter.h"
+#include "AppViewIDs.h"
+#include "NativeAbility.h"
+#include "common/key_code.h"
+#include <custom_utils.h>
+
+#include "NativeRegisterManager.h"
+
+namespace OHOS
+{
+    REGIST_SLICE(VIEW_BRIGHTNESSLEVEL, BrightnessLevelView, BrightnessLevelPresenter);
+
+    // 当前Presenter属性实例化的内存指针
+    static BrightnessLevelPresenter *g_pBrightnessLevelPresenter = nullptr;
+
+    BrightnessLevelPresenter::BrightnessLevelPresenter()
+    {
+        g_pBrightnessLevelPresenter = this;
+    }
+
+    BrightnessLevelPresenter::~BrightnessLevelPresenter()
+    {
+        g_pBrightnessLevelPresenter = nullptr;
+    }
+
+    BrightnessLevelPresenter *BrightnessLevelPresenter::GetInstance()
+    {
+        return g_pBrightnessLevelPresenter;
+    }
+
+    void BrightnessLevelPresenter::OnStart()
+    {
+        Presenter<BrightnessLevelView>::OnStart();
+    }
+
+    void BrightnessLevelPresenter::OnPause(void)
+    {
+        Presenter<BrightnessLevelView>::OnPause();
+    }
+
+    void BrightnessLevelPresenter::OnResume(void)
+    {
+        Presenter<BrightnessLevelView>::OnResume();
+    }
+
+    void BrightnessLevelPresenter::OnStop(void)
+    {
+        Presenter<BrightnessLevelView>::OnStop();
+    }
+
+    bool BrightnessLevelPresenter::OnClick(UIView &view, const ClickEvent &event)
+    {
+
+        return true;
+    }
+
+    bool BrightnessLevelPresenter::OnDrag(UIView &view, const DragEvent &event)
+    {
+        UNUSED(view);
+        UNUSED(event);
+        return true;
+    }
+
+    bool BrightnessLevelPresenter::OnDragEnd(UIView &view, const DragEvent &event)
+    {
+        UNUSED(view);
+        if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
+        {
+            NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+        }
+        return true;
+    }
+
+    bool BrightnessLevelPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件
+    {
+        UNUSED(view);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DisplayBrightnessPresenter::OnKeyAct");
+        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(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+        }
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelView.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/brightnesslevel/src/BrightnessLevelView.cpp
new file mode 100644 (file)
index 0000000..d569c73
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * @Author: luozheng 1732036298@qq.com
+ * @Date: 2024-04-16 14:36:13
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-06-18 15:28:04
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/brightnesslevel/src/BrightnessLevelView.cpp
+ */
+#include "brightnesslevel/include/BrightnessLevelView.h"
+#include "brightnesslevel/include/BrightnessLevelPresenter.h"
+#include "wearable_log.h"
+
+namespace OHOS
+{
+
+    static BrightnessLevelView *g_pBrightnessLevelView{nullptr};
+
+    BrightnessLevelView::BrightnessLevelView()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BrightnessLevelView::BrightnessLevelView");
+        g_pBrightnessLevelView = this;
+    }
+
+    BrightnessLevelView::~BrightnessLevelView()
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BrightnessLevelView::~BrightnessLevelView");
+        g_pBrightnessLevelView = nullptr;
+    }
+
+    BrightnessLevelView *BrightnessLevelView::GetInstance()
+    {
+        return g_pBrightnessLevelView;
+    }
+
+    void BrightnessLevelView::ClearAll(void)
+    {
+        if (p_BrightnessControlView != nullptr)
+        {
+            scorllView = nullptr;
+
+            delete p_BrightnessControlView;
+            p_BrightnessControlView = nullptr;
+        }
+    }
+
+    void BrightnessLevelView::BrightnessLevelViewInit(void)
+    {
+        p_BrightnessControlView = new BrightnessControlView();
+        if (p_BrightnessControlView == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[BrightnessLevelView::BrightnessLevelViewInit] p_BrightnessControlView is nullptr!!");
+            return;
+        }
+        scorllView = p_BrightnessControlView->BrightnessControlViewInit();
+        if (scorllView == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[BrightnessLevelView::BrightnessLevelViewInit] scorllView == nullptr");
+            return;
+        }
+    }
+
+    void BrightnessLevelView::OnStart()
+    {
+   
+
+        BrightnessLevelViewInit();
+        // 增加按键监听
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::BrightnessLevelPresenter::GetInstance();
+        //RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+
+        AddViewToRootContainer(scorllView);
+    }
+
+
+}
\ No newline at end of file