From 9f2daaddd09464889bbcb8c5d759cb832cf07475 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Thu, 26 Sep 2024 11:30:41 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8D=E9=BB=98=E8=AE=A4=E8=A1=A8?= =?utf8?q?=E7=9B=98=E4=B8=BA=E9=BB=91=E8=80=80=E8=A1=A8=E7=9B=98114?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../fd230app/nativeui/main/src/MainModel.cpp | 43 +++++++++++++++++-- .../nativeui/set_dial/include/SetDialModel.h | 18 ++++++++ .../nativeui/set_dial/src/SetDialModel.cpp | 27 +++--------- 3 files changed, 63 insertions(+), 25 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp index 448cfaec3..3a4e3e877 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp @@ -15,6 +15,7 @@ #include #include "MainViewSample.h" #include "ui_service.h" +#include "SetDialModel.h" namespace OHOS { static const int CARD_SETTING_VALUE_LEN = 32; @@ -55,6 +56,9 @@ namespace OHOS {DIAL_CLOCK_4, "Custom_4", CUSTOM_CLOCK4_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 4 {DIAL_CLOCK_5, "Custom_5", CUSTOM_CLOCK5_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 4 }; + //默认表盘 + static const char* DEFAULT_CUSTOM_DIAL_PATH = "/user/dial/obsidianrhythm.bin"; + //卡片map const CardInfo printfMap[] = { {HEART_RATE, "心率卡片"}, {COMPASS, "指南针"}, @@ -389,6 +393,15 @@ namespace OHOS void MainModel::InitDialSettingDefault(int id) { + //黑耀表盘 + if(id == DEFAULT_DIAL_ID) + { + dialSetting.dialFlag = 1; + dialSetting.dialId = id; + dialSetting.dialFullName = DEFAULT_CUSTOM_DIAL_PATH; + return; + } + //自定义表盘 if (id < DIAL_CLOCK || id >= DIAL_MAX) id = DIAL_CLOCK; @@ -417,7 +430,15 @@ namespace OHOS if (len < 0) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Failed to retrieve dial settings. Initializing to default settings.\r\n"); - InitDialSettingDefault(DIAL_CLOCK); + //判断黑耀表盘是否存在 + if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) + { + InitDialSettingDefault(DEFAULT_DIAL_ID); + } + else + { + InitDialSettingDefault(DIAL_CLOCK); + } return; } @@ -435,7 +456,15 @@ namespace OHOS else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: First value is empty. Initializing to default settings.\r\n"); - InitDialSettingDefault(DIAL_CLOCK); + //判断黑耀表盘是否存在 + if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) + { + InitDialSettingDefault(DEFAULT_DIAL_ID); + } + else + { + InitDialSettingDefault(DIAL_CLOCK); + } return; } @@ -449,7 +478,15 @@ namespace OHOS else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Second value is empty. Initializing to default settings.\r\n"); - InitDialSettingDefault(DIAL_CLOCK); + //判断黑耀表盘是否存在 + if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) + { + InitDialSettingDefault(DEFAULT_DIAL_ID); + } + else + { + InitDialSettingDefault(DIAL_CLOCK); + } return; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h b/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h index 42556841d..7c7a395a8 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h @@ -19,6 +19,24 @@ namespace OHOS uint8_t timeDisplay; // 时间位置 [0:上 1:下] uint8_t colorTypeSet; // 颜色配置 [0:白 1:黑 2:灰 3:绿 4:橙 5:蓝] }DialLayout; + + // 定义特殊Id + constexpr uint16_t DEFAULT_DIAL_ID = 114; + constexpr uint16_t DEFAULT_DIAL_ID_0 = 1028; + constexpr uint16_t DEFAULT_DIAL_ID_1 = 111; + constexpr uint16_t DEFAULT_DIAL_ID_2 = 112; + constexpr uint16_t DEFAULT_DIAL_ID_3 = 113; + constexpr uint16_t MAX_DEFAULT_DIAL_ID = 115; + // 定义自定义表盘 + constexpr uint16_t CUSTOM_DIAL_ID_1 = 1; + constexpr uint16_t CUSTOM_DIAL_ID_2 = 2; + constexpr uint16_t CUSTOM_DIAL_ID_3 = 3; + constexpr uint16_t CUSTOM_DIAL_ID_4 = 4; + constexpr uint16_t CUSTOM_DIAL_ID_5 = 5; + #define DIAL_ID_LENGTH 2 + #define DIAL_NAME_LENGTH 50 + #define DIAL_ID_PATH "user/userdata/dial_id.bin" + class SetDialModel { public: diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp index 92d248de6..c1704bd73 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp @@ -21,38 +21,21 @@ #include #include namespace OHOS { -// 定义特殊Id -constexpr uint16_t DEFAULT_DIAL_ID_0 = 1028; -constexpr uint16_t DEFAULT_DIAL_ID_1 = 111; -constexpr uint16_t DEFAULT_DIAL_ID_2 = 112; -constexpr uint16_t DEFAULT_DIAL_ID_3 = 113; -constexpr uint16_t DEFAULT_DIAL_ID_4 = 114; -constexpr uint16_t MAX_DEFAULT_DIAL_ID = 115; -// 定义自定义表盘 -constexpr uint16_t CUSTOM_DIAL_ID_1 = 1; -constexpr uint16_t CUSTOM_DIAL_ID_2 = 2; -constexpr uint16_t CUSTOM_DIAL_ID_3 = 3; -constexpr uint16_t CUSTOM_DIAL_ID_4 = 4; -constexpr uint16_t CUSTOM_DIAL_ID_5 = 5; - -#define DIAL_ID_LENGTH 2 -#define DIAL_NAME_LENGTH 50 -#define DIAL_ID_PATH "user/userdata/dial_id.bin" // 表盘map[Id--dialname] 前5个ID固定 std::unordered_map registeredDials{ #ifdef CUSTOM_Z1 {DEFAULT_DIAL_ID_0, "Z1"}, #else - {DEFAULT_DIAL_ID_0, "KUMI"}, // 为了预防显示 - {DEFAULT_DIAL_ID_4, "obsidianrhythm"}, //默认表盘修改为 黑耀律动 TODO:ID需要更改 DEFAULT_DIAL_ID_3 + {DEFAULT_DIAL_ID_0, "KUMI"}, // 为了预防显示 + {DEFAULT_DIAL_ID, "obsidianrhythm"}, // 默认表盘修改为 黑耀律动 #endif {DEFAULT_DIAL_ID_1, "satellite"}, // 卫星表盘 {DEFAULT_DIAL_ID_2, "birdie"}, // 飞鸟表盘 /* TODO:增加表盘 - {DEFAULT_DIAL_ID_4, "smart_payment"}, // 智能支付表盘 + {DEFAULT_DIAL_ID_3, "smart_payment"}, // 智能支付表盘 {MAX_DEFAULT_DIAL_ID, "kumi_point"}, // kumi指针表盘 */ @@ -355,12 +338,12 @@ bool SetDialModel::UninstallDial(uint16_t ID) { if (registeredDials.find(ID) != registeredDials.end()) { // 默认表盘不删除 switch (ID) { + case DEFAULT_DIAL_ID: case MAX_DEFAULT_DIAL_ID: + case DEFAULT_DIAL_ID_0: case DEFAULT_DIAL_ID_1: case DEFAULT_DIAL_ID_2: case DEFAULT_DIAL_ID_3: - case DEFAULT_DIAL_ID_4: - case DEFAULT_DIAL_ID_0: // TODO: 后续修改 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UninstallDial: Default dial %d cannot be uninstalled", ID); return false; -- 2.17.1