From 7118d9fbfd01f2e7c11732cbd4d9bda4eec4c504 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Fri, 5 Jul 2024 18:15:58 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E5=B9=B6=E4=B8=94=E4=BC=98?= =?utf8?q?=E5=8C=96=E8=A1=A8=E7=9B=98=E6=A0=B7=E5=BC=8FSlice?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativelauncher/include/AppViewIDs.h | 31 ++-- .../nativelauncher/include/NativeLauncher.h | 1 + .../nativelauncher/src/NativeLauncher.cpp | 15 ++ .../nativeui/applist/src/ApplistModel.cpp | 71 ++++---- .../include/SetDialStylePresenter.h | 48 +++-- .../set_dial_style/include/SetDialStyleView.h | 1 + .../set_dial_style/src/SetDialStyleModel.cpp | 59 +++--- .../src/SetDialStylePresenter.cpp | 73 +++++--- .../set_dial_style/src/SetDialStyleView.cpp | 169 +++++++++++------- 9 files changed, 287 insertions(+), 181 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h index 3ef50537c..a9b255ad2 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h @@ -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, // 正常训练开始界面(除骑行,健走,跑步外) diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h index cb8cd11c3..a5503e367 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h @@ -76,6 +76,7 @@ namespace OHOS void InitTakePhotosSlice(void); void InitSleepSlice(void); void InitSetHeartSlice(void); + void InitSetDialStyleSlice(void); /* ----------------------------------- 训练 ----------------------------------- */ void InitTraingSlice(void); void InitTraingNomalSlice(void); diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index b9a1a8c71..3b9c2386b 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -244,6 +244,8 @@ #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; + if (setDialStyleView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "setDialStyleView"); + return; + } + NativeAbility::GetInstance().AddSliceProxy(VIEW_SET_DIAL_STYLE, setDialStyleView); + } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp index 0030ebed9..c00655aee 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp @@ -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; } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h index fda918ece..ab2959c33 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStylePresenter.h @@ -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 @@ -11,27 +17,31 @@ #include "components/ui_view.h" #include "Presenter.h" -namespace OHOS { -class SetDialStyleModel; -class SetDialStyleView; -class SetDialStylePresenter : public Presenter, - 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, + 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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleView.h b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleView.h index 3b1a93221..ff888d75a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleView.h @@ -29,6 +29,7 @@ public: void OnClick(UIView &view); private: + UILabel labelTitle_; UILabel labelCover_; UILabel labelRoller_; UIToggleButton btnCover_; diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp index 81d833aef..6cc5e0196 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleModel.cpp @@ -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 @@ -8,36 +14,41 @@ #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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp index 6dbc2837a..1a8854f99 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStylePresenter.cpp @@ -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 @@ -8,34 +14,53 @@ #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(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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp index 86901f059..47e3bf48b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/src/SetDialStyleView.cpp @@ -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 @@ -9,85 +21,110 @@ #include "SetDialStyleModel.h" #include "SetDialStylePresenter.h" -namespace OHOS { -SetDialStyleView::SetDialStyleView() +namespace OHOS { -} - -SetDialStyleView::~SetDialStyleView() -{ -} + SetDialStyleView::SetDialStyleView() + { + } -void SetDialStyleView::OnStart() -{ - View::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::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::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::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::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(&view); - if (ptr == nullptr) { - return; + void SetDialStyleView::OnStop() + { + View::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(&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 -- 2.17.1