增加并且优化表盘样式Slice
authorCaisking <3449750381@qq.com>
Fri, 5 Jul 2024 10:15:58 +0000 (18:15 +0800)
committerCaisking <3449750381@qq.com>
Fri, 5 Jul 2024 10:15:58 +0000 (18:15 +0800)
code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h
code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h
code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h
code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleView.h
code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp

index 3ef5053..a9b255a 100644 (file)
@@ -68,21 +68,22 @@ typedef enum : uint16_t
     VIEW_SET_DESKTOP,               // 显示方式
     VIEW_RECORD,
     /* ----------------------------------------------------------------------------- */
-    VIEW_DIAL,         // 切换表盘
-    VIEW_MESSAGE,      // 信息通知
-    VIEW_MESSAGE_SHOW, // 信息详细界面
-    VIEW_BLOOD,        // 血氧监测
-    VIEW_ROTATE,       // 模拟表冠
-    VIEW_BLOODOXY,     // 血氧饱和度界面
-    VIEW_HEART,        // 心率监测
-    VIEW_SAVEELE,      // 省电模式
-    VIEW_SAVEBAT,      // 省电模式界面
-    VIEW_TAKEPHOTOS,   // 拍照界面
-    VIEW_SLEEP,        // 睡眠界面
-    VIEW_SET_CARD,     // 卡片管理
-    VIEW_ADD_CARD,     // 添加卡片
-    VIEW_SET_DIAL,     // 切换表盘
-    VIEW_SET_HEART,    // 设置心率周期检测
+    VIEW_DIAL,           // 切换表盘
+    VIEW_SET_DIAL_STYLE, // 切换表盘样式
+    VIEW_MESSAGE,        // 信息通知
+    VIEW_MESSAGE_SHOW,   // 信息详细界面
+    VIEW_BLOOD,          // 血氧监测
+    VIEW_ROTATE,         // 模拟表冠
+    VIEW_BLOODOXY,       // 血氧饱和度界面
+    VIEW_HEART,          // 心率监测
+    VIEW_SAVEELE,        // 省电模式
+    VIEW_SAVEBAT,        // 省电模式界面
+    VIEW_TAKEPHOTOS,     // 拍照界面
+    VIEW_SLEEP,          // 睡眠界面
+    VIEW_SET_CARD,       // 卡片管理
+    VIEW_ADD_CARD,       // 添加卡片
+    VIEW_SET_DIAL,       // 切换表盘
+    VIEW_SET_HEART,      // 设置心率周期检测
     /* ----------------------------------- 训练 ----------------------------------- */
     VIEW_TRAINING,        // 训练
     VIEW_TRAININGNOMAL,   // 正常训练开始界面(除骑行,健走,跑步外)
index cb8cd11..a5503e3 100644 (file)
@@ -76,6 +76,7 @@ namespace OHOS
         void InitTakePhotosSlice(void);
         void InitSleepSlice(void);
         void InitSetHeartSlice(void);
+        void InitSetDialStyleSlice(void);
         /* ----------------------------------- 训练 ----------------------------------- */
         void InitTraingSlice(void);
         void InitTraingNomalSlice(void);
index b9a1a8c..3b9c238 100644 (file)
 #include "AddCardPresenter.h"
 #include "SetDialView.h"
 #include "SetDialPresenter.h"
+#include "SetDialStylePresenter.h"
+#include "SetDialStyleView.h"
 #ifdef JS_ENABLE
 #include "product_adapter.h"
 #endif
@@ -357,6 +359,8 @@ namespace OHOS
         {VIEW_SET_DIAL, &NativeLauncher::InitSetDialSlice},
         /*睡眠界面*/
         {VIEW_SLEEP, &NativeLauncher::InitSleepSlice},
+        /*设置表盘样式*/
+        {VIEW_SET_DIAL_STYLE, &NativeLauncher::InitSetDialStyleSlice},
     /*心率周期检测*/
     //{VIEW_SET_HEART, &NativeLauncher::InitSetHeartSlice},
     /* -------------------------------------------------------------------------- */
@@ -1323,5 +1327,16 @@ namespace OHOS
         }
         NativeAbility::GetInstance().AddSliceProxy(VIEW_SET_DIAL, setDialView);
     }
+    void NativeLauncher::InitSetDialStyleSlice(void)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitSetDialStyleSlice");
+        SliceProxy *setDialStyleView = new AbilitySliceProxy<SetDialStyleView, SetDialStylePresenter>;
+        if (setDialStyleView == nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "setDialStyleView");
+            return;
+        }
+        NativeAbility::GetInstance().AddSliceProxy(VIEW_SET_DIAL_STYLE, setDialStyleView);
+    }
 
 }
index 0030ebe..c00655a 100644 (file)
@@ -60,37 +60,37 @@ namespace OHOS
      * - 设置
      */
     const AppItem g_nativeAppList[] = {
-        {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG,"血氧", STR_BLOOD_OXYGEN, nullptr},
-        {VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG,"心率", STR_HEART_RATE, nullptr},
-        {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"训练", STR_TRAINING, nullptr},
-        {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG,"训练记录", STR_TRAINING_RECORD, nullptr},
-        {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG,"指南针", STR_COMPASS, nullptr},
-        {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE,PNG_APPLIST_DEFAULT_IMG,"电话", STR_PHONE, nullptr},
-        {VIEW_CALLER_LOG, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG,"常用联系人", STR_FAVORITE_CONTACTS, nullptr},
-        {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG,"天气", STR_WEATHER, nullptr},
-        {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"活动", STR_ACTIVITY, nullptr},
-        {VIEW_SET_DIAL, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"更换表盘", STR_WATCH_FACE, nullptr},
-        {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG,"显示方式", STR_DISPLAY_MODE, nullptr},
-        {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG,"卡片管理", STR_CARD_MANAGEMENT, nullptr},
-        {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG,"睡眠", STR_SLEEP, nullptr},
-        {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG,"录音", STR_RECORD, nullptr},
-        {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"呼吸训练", STR_BREATH_TRAINING, nullptr},
-        {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE,PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
+        {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
+        {VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr},
+        {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练", STR_TRAINING, nullptr},
+        {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练记录", STR_TRAINING_RECORD, nullptr},
+        {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr},
+        {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_PHONE, nullptr},
+        {VIEW_CALLER_LOG, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
+        {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr},
+        {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr},
+        {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr},
+        {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr},
+        {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
+        {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
+        {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr},
+        {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr},
+        {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
 #ifdef SUPPORT_ALIPAY_SEC
-        {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG,"支付宝", STR_ALIPAY, nullptr},
+        {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr},
 #endif
-        {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG,"计时器", STR_TIMER, nullptr},
-        {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE,PNG_APPLIST_DEFAULT_IMG,"闹钟", STR_ALARM, nullptr},
-        {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE,PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr},
-        {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"查找手机", STR_FIND_PHONE, nullptr},
-        {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
-        {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"声音", STR_SOUND, nullptr},
-        {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG,"蓝牙", STR_BLUETOOTH, nullptr},
-        {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG,"勿扰模式", STR_DO_NOT_DISTURB, nullptr},
-        {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
-        {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"省电模式", STR_POWER_SAVE_MODE, nullptr},
-        {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG,"手电筒", STR_FLASHLIGHT, nullptr},
-        {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"设置", STR_SETTINGS, nullptr},
+        {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计时器", STR_TIMER, nullptr},
+        {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr},
+        {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr},
+        {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr},
+        {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
+        {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
+        {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "蓝牙", STR_BLUETOOTH, nullptr},
+        {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
+        {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
+        {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr},
+        {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr},
+        {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr},
     //{VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"AI Voice", STR_AI_VOICE, nullptr},
 
 #if 0
@@ -179,7 +179,7 @@ namespace OHOS
                 applist[appLen].id = VIEW_EXTERN_APP;
                 applist[appLen].iconLarge = bundleInfos[len].smallIconPath;
                 applist[appLen].iconSmall = bundleInfos[len].smallIconPath;
-                               applist[appLen].iconHexagon = bundleInfos[len].bigIconPath;
+                applist[appLen].iconHexagon = bundleInfos[len].bigIconPath;
                 applist[appLen].label = bundleInfos[len].label;
                 applist[appLen].uid = bundleInfos[len].bundleName;
 
@@ -250,11 +250,16 @@ namespace OHOS
     AppListStyle ApplistModel::GetCurrentStyle(void)
     {
         uint8_t currenStyle = SetDesktopView::GetInstance()->GetCurrentSelectedStyle();
-        if (currenStyle == 1) { // 1: hexagons desktop style
+        if (currenStyle == 1)
+        { // 1: hexagons desktop style
             return HEXAGONS_STYLE;
-        } else if (currenStyle == 2) { // 2: football desktop style
+        }
+        else if (currenStyle == 2)
+        { // 2: football desktop style
             return FOOTBALL_STYLE;
-        } else {
+        }
+        else
+        {
             return APPLIST_STYLE;
         }
     }
index fda918e..ab2959c 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 18:02:47
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
  * Description: SetDialStylePresenter.h
 #include "components/ui_view.h"
 #include "Presenter.h"
 
-namespace OHOS {
-class SetDialStyleModel;
-class SetDialStyleView;
-class SetDialStylePresenter : public Presenter<SetDialStyleView, SetDialStyleModel>,
-                              public UIView::OnClickListener,
-                              public UIView::OnDragListener {
-public:
-    SetDialStylePresenter();
-    ~SetDialStylePresenter();
-    SetDialStylePresenter(const SetDialStylePresenter&) = delete;
-    SetDialStylePresenter& operator=(const SetDialStylePresenter&) = delete;
-    bool OnClick(UIView &view, const ClickEvent &event) override;
-    bool OnDrag(UIView& view, const DragEvent& event) override;
-    DialStyle GetCurrentStyle() const
+namespace OHOS
+{
+    class SetDialStyleModel;
+    class SetDialStyleView;
+    class SetDialStylePresenter : public Presenter<SetDialStyleView, SetDialStyleModel>,
+                                  public UIView::OnClickListener,
+                                  public RootView::OnKeyActListener,
+                                  public UIView::OnDragListener
     {
-        return curStyle_;
-    }
+    public:
+        SetDialStylePresenter();
+        ~SetDialStylePresenter();
+        SetDialStylePresenter(const SetDialStylePresenter &) = delete;
+        SetDialStylePresenter &operator=(const SetDialStylePresenter &) = delete;
+        bool OnClick(UIView &view, const ClickEvent &event) override;
+        bool OnDrag(UIView &view, const DragEvent &event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+        DialStyle GetCurrentStyle() const
+        {
+            return curStyle_;
+        }
 
-private:
-    DialStyle curStyle_ = DialStyle::COVERFLOW;
-};
+    private:
+        DialStyle curStyle_ = DialStyle::COVERFLOW;
+    };
 
 } // OHOS
 #endif
\ No newline at end of file
index 81d833a..6cc5e01 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 17:13:16
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
  * Description: SetDialStyleModel.cpp
 #include "SetDialStyleModel.h"
 #include "kv_store.h"
 
-namespace OHOS {
-void SetDialStyleModel::SetStyle(DialStyle style)
+namespace OHOS
 {
-    int len = sizeof(values_) / sizeof(values_[0]);
-    for (int i = 0; i < len; ++i) {
-        if (values_[i].style == style) {
-            UtilsSetValue(key_, values_[i].value);
-            break;
+    void SetDialStyleModel::SetStyle(DialStyle style)
+    {
+        int len = sizeof(values_) / sizeof(values_[0]);
+        for (int i = 0; i < len; ++i)
+        {
+            if (values_[i].style == style)
+            {
+                UtilsSetValue(key_, values_[i].value);
+                break;
+            }
         }
     }
-}
 
-DialStyle SetDialStyleModel::GetStyle()
-{
-    int len = sizeof(values_) / sizeof(values_[0]);
-    char temp[MAX_LEN];
-    UtilsGetValue(key_, temp, MAX_LEN);
-    for (int i = 0; i < len; ++i) {
-        if (strcmp(temp, values_[i].value) == 0) {
-            return values_[i].style;
+    DialStyle SetDialStyleModel::GetStyle()
+    {
+        int len = sizeof(values_) / sizeof(values_[0]);
+        char temp[MAX_LEN];
+        UtilsGetValue(key_, temp, MAX_LEN);
+        for (int i = 0; i < len; ++i)
+        {
+            if (strcmp(temp, values_[i].value) == 0)
+            {
+                return values_[i].style;
+            }
         }
+        return DialStyle::ROLLER;
     }
-    return DialStyle::COVERFLOW;
-}
 
-SetDialStyleModel::SetDialStyleModel()
-{
-}
+    SetDialStyleModel::SetDialStyleModel()
+    {
+    }
 
-SetDialStyleModel::~SetDialStyleModel()
-{
-}
+    SetDialStyleModel::~SetDialStyleModel()
+    {
+    }
 } // OHOS
\ No newline at end of file
index 6dbc283..1a8854f 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 17:48:47
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
  * Description: SetDialStylePresenter.cpp
 #include "SetDialStyleView.h"
 #include "SetDialStyleModel.h"
 #include "SetDialStylePresenter.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
 
-namespace OHOS {
-SetDialStylePresenter::SetDialStylePresenter()
-{
-    Attach(&SetDialStyleModel::GetInstance());
-}
 
-SetDialStylePresenter::~SetDialStylePresenter()
+namespace OHOS
 {
-}
+    SetDialStylePresenter::SetDialStylePresenter()
+    {
+        Attach(&SetDialStyleModel::GetInstance());
+    }
 
-bool SetDialStylePresenter::OnClick(UIView &view, const ClickEvent &event)
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnClick");
-    view_->OnClick(view);
-    return true;
-}
+    SetDialStylePresenter::~SetDialStylePresenter()
+    {
+    }
 
-bool SetDialStylePresenter::OnDrag(UIView& view, const DragEvent& event)
-{
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnDrag");
-    UNUSED(view);
-    if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&
-        (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnDrag ChangeSlice");
-        uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
-        NativeAbility::GetInstance().ChangeSlice(preSlice);
+    bool SetDialStylePresenter::OnClick(UIView &view, const ClickEvent &event)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnClick");
+        view_->OnClick(view);
+        return true;
+    }
+
+    bool SetDialStylePresenter::OnDrag(UIView &view, const DragEvent &event)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialStylePresenter::OnDrag");
+        UNUSED(view);
+        if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&
+            (event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY()))))
+        {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnDrag ChangeSlice");
+            uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();
+            NativeAbility::GetInstance().ChangeSlice(preSlice);
+        }
+        return true;
+    }
+
+    bool SetDialStylePresenter::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 == 0 && uapi_get_screen_state() == 0)
+        {
+            // 回退
+            NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+        }
+        return true;
     }
-    return true;
-}
 } // OHOS
\ No newline at end of file
index 86901f0..47e3bf4 100644 (file)
@@ -1,3 +1,15 @@
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 17:57:12
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp
+ */
+/***
+ * @Date: 2024-07-05 11:09:20
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-05 17:47:15
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.
  * Description: SetDialStyleView.cpp
 #include "SetDialStyleModel.h"
 #include "SetDialStylePresenter.h"
 
-namespace OHOS {
-SetDialStyleView::SetDialStyleView()
+namespace OHOS
 {
-}
-
-SetDialStyleView::~SetDialStyleView()
-{
-}
+    SetDialStyleView::SetDialStyleView()
+    {
+    }
 
-void SetDialStyleView::OnStart()
-{
-    View<SetDialStylePresenter>::OnStart();
-    SetContainerView(new UIViewGroup);
-    if (container_ == nullptr) {
-        return;
+    SetDialStyleView::~SetDialStyleView()
+    {
     }
-    container_->SetDraggable(true);
-    container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
-    container_->SetOnDragListener(presenter_);
-    container_->SetTouchable(true);
-}
 
-void SetDialStyleView::OnSetUpView()
-{
-    if (container_ == nullptr) {
-        return;
+    void SetDialStyleView::OnStart()
+    {
+        View<SetDialStylePresenter>::OnStart();
+        SetContainerView(new UIViewGroup);
+        if (container_ == nullptr)
+        {
+            return;
+        }
+        container_->SetDraggable(true);
+        container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+        container_->SetOnDragListener(presenter_);
+        // 增加按键监听
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)(presenter_);
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);
+        container_->SetTouchable(true);
     }
-    View<SetDialStylePresenter>::OnSetUpView();
-    labelCover_.SetPosition(96, 328, 200, 60);
-    labelCover_.SetText("Coverflow");
-    container_->Add(&labelCover_);
 
-    labelRoller_.SetPosition(305, 328, 200, 60);
-    labelRoller_.SetText("Roller");
-    container_->Add(&labelRoller_);
+    void SetDialStyleView::OnSetUpView()
+    {
+        if (container_ == nullptr)
+        {
+            return;
+        }
+        View<SetDialStylePresenter>::OnSetUpView();
+        labelTitle_.SetPosition(178, 38, 200, 60);
+        labelTitle_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        labelTitle_.SetText("表盘样式");
+        container_->Add(&labelTitle_);
+
+        labelCover_.SetPosition(83, 135, 200, 60);
+        labelCover_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        labelCover_.SetText("覆盖流样式");
+        container_->Add(&labelCover_);
 
-    btnCover_.SetPosition(47, 157, 148, 148);
-    container_->Add(&btnCover_);
-    btnRoller_.SetPosition(267, 157, 148, 148);
-    container_->Add(&btnRoller_);
+        labelRoller_.SetPosition(83, 285, 200, 60);
+        labelRoller_.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+        labelRoller_.SetText("滚筒样式");
+        container_->Add(&labelRoller_);
 
-    const DialStyle style = SetDialStyleModel::GetInstance().GetStyle();
-    int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
-    for (int i = 0; i < len; ++i) {
-        if (style == styleTable_[i].style) {
-            styleTable_[i].btn->SetState(true);
-        } else {
-            styleTable_[i].btn->SetState(false);
-        }
-    }
+        btnCover_.SetPosition(240, 75, 148, 148);
+        container_->Add(&btnCover_);
+        btnRoller_.SetPosition(240, 225, 148, 148);
+        container_->Add(&btnRoller_);
 
-    btnCover_.SetOnClickListener(presenter_);
-    btnRoller_.SetOnClickListener(presenter_);
-}
+        const DialStyle style = SetDialStyleModel::GetInstance().GetStyle();
+        int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
+        for (int i = 0; i < len; ++i)
+        {
+            if (style == styleTable_[i].style)
+            {
+                styleTable_[i].btn->SetState(true);
+            }
+            else
+            {
+                styleTable_[i].btn->SetState(false);
+            }
+        }
 
-void SetDialStyleView::OnStop()
-{
-    View<SetDialStylePresenter>::OnStop();
-    if (container_ != nullptr) {
-        container_->RemoveAll();
-        delete container_;
-        container_ = nullptr;
+        btnCover_.SetOnClickListener(presenter_);
+        btnRoller_.SetOnClickListener(presenter_);
     }
-}
 
-void SetDialStyleView::OnClick(UIView &view)
-{
-    const UIToggleButton *ptr = dynamic_cast<UIToggleButton*>(&view);
-    if (ptr == nullptr) {
-        return;
+    void SetDialStyleView::OnStop()
+    {
+        View<SetDialStylePresenter>::OnStop();
+        if (container_ != nullptr)
+        {
+            container_->RemoveAll();
+            delete container_;
+            container_ = nullptr;
+        }
     }
-    int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
-    for (int i = 0; i < len; ++i) {
-        if (ptr == styleTable_[i].btn) {
-            styleTable_[i].btn->SetState(true);
-            SetDialStyleModel::GetInstance().SetStyle(styleTable_[i].style);
-        } else {
-            styleTable_[i].btn->SetState(false);
+
+    void SetDialStyleView::OnClick(UIView &view)
+    {
+        const UIToggleButton *ptr = dynamic_cast<UIToggleButton *>(&view);
+        if (ptr == nullptr)
+        {
+            return;
+        }
+        int len = sizeof(styleTable_) / sizeof(styleTable_[0]);
+        for (int i = 0; i < len; ++i)
+        {
+            if (ptr == styleTable_[i].btn)
+            {
+                styleTable_[i].btn->SetState(true);
+                SetDialStyleModel::GetInstance().SetStyle(styleTable_[i].style);
+            }
+            else
+            {
+                styleTable_[i].btn->SetState(false);
+            }
         }
+        // 切换到切换表盘Slice
+        NativeAbility::GetInstance().ChangeSlice(VIEW_SET_DIAL);
     }
-}
 } // OHOS
\ No newline at end of file