From: Caisking Date: Tue, 8 Jul 2025 06:43:18 +0000 (+0800) Subject: 增加N9默认表盘 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=74fa93f1ccc06d5b8abd63586496f0867b42cd3d;p=mirrors%2FFD230.git 增加N9默认表盘 --- 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 5bc5ce5d4..942189d8d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp @@ -66,8 +66,6 @@ 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/res_dial/obsidianrhythm.bin"; //卡片map const CardInfo printfMap[] = { {HEART_RATE, "心率卡片"}, @@ -403,13 +401,22 @@ 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; + dialSetting.dialFullName = SetDialModel::GetInstance().GetdialPath(id); + if(dialSetting.dialFullName == "") + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitDialSettingDefault is error"); + // 默认情况下,如果找不到表盘路径,则设置为默认表盘 + id = DIAL_CLOCK; + } + else + { + return; + } } //自定义表盘 if (id < DIAL_CLOCK || id >= DIAL_MAX) @@ -440,8 +447,8 @@ namespace OHOS if (len < 0) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Failed to retrieve dial settings. Initializing to default settings.\r\n"); - #if defined(BOARD_W9) || defined(BOARD_N9) - InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘 + #if defined(BOARD_W9) + InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘 #else //判断黑耀表盘是否存在 if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) @@ -470,8 +477,8 @@ namespace OHOS else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: First value is empty. Initializing to default settings.\r\n"); - #if defined(BOARD_W9) || defined(BOARD_N9) - InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘 + #if defined(BOARD_W9) + InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘 #else //判断黑耀表盘是否存在 if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) @@ -496,8 +503,8 @@ namespace OHOS else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Second value is empty. Initializing to default settings.\r\n"); - #if defined(BOARD_W9) || defined(BOARD_N9) - InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘 + #if defined(BOARD_W9) + InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘 #else //判断黑耀表盘是否存在 if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID)) 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 bbb13b3e7..40184943c 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 @@ -21,12 +21,21 @@ namespace OHOS }DialLayout; // 定义特殊Id + #ifdef BOARD_N9 + constexpr uint16_t DEFAULT_DIAL_ID = 167; + constexpr uint16_t DEFAULT_DIAL_ID_0 = 1028; + constexpr uint16_t DEFAULT_DIAL_ID_1 = 137; + constexpr uint16_t DEFAULT_DIAL_ID_2 = 128; + constexpr uint16_t DEFAULT_DIAL_ID_3 = 185; + constexpr uint16_t MAX_DEFAULT_DIAL_ID = 190; + #else 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; + #endif // 定义自定义表盘 constexpr uint16_t CUSTOM_DIAL_ID_1 = 1; constexpr uint16_t CUSTOM_DIAL_ID_2 = 2; @@ -76,6 +85,8 @@ namespace OHOS bool CheckFileExists(const std::string &filePath); /*通过表盘名*/ std::string GetDialDescription(const std::string &dialName); + /*通过表盘Id查询名称*/ + std::string GetdialPath(int Id); /*获取自定义表盘名*/ std::string GetCustomName(int Id); /*删除自定义表盘*/ 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 8b9850aa3..4a88065f2 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 @@ -35,15 +35,17 @@ std::unordered_map registeredDials{ #ifdef CUSTOM_Z1 {DEFAULT_DIAL_ID_0, "Z1"}, #elif BOARD_N9 - {DEFAULT_DIAL_ID_0, "N9"}, + {DEFAULT_DIAL_ID_0, "N9"}, {DEFAULT_DIAL_ID, "lake"}, + {DEFAULT_DIAL_ID_1, "eagle"}, {DEFAULT_DIAL_ID_2, "vibrantnumber"}, + {DEFAULT_DIAL_ID_3, "distortion"}, {MAX_DEFAULT_DIAL_ID, "science"}, #elif BOARD_W9 - {DEFAULT_DIAL_ID_0, "W9"}, + {DEFAULT_DIAL_ID_0, "W9"}, #else - {DEFAULT_DIAL_ID_0, "KUMI"}, + {DEFAULT_DIAL_ID_0, "KUMI"}, {DEFAULT_DIAL_ID, "obsidianrhythm"}, // 默认表盘修改为 黑耀律动 - {DEFAULT_DIAL_ID_1, "satellite"}, // 卫星表盘 - {DEFAULT_DIAL_ID_2, "birdie"}, // 飞鸟表盘 - {DEFAULT_DIAL_ID_3, "dawninsight"}, // 晨曦智影 + {DEFAULT_DIAL_ID_1, "satellite"}, // 卫星表盘 + {DEFAULT_DIAL_ID_2, "birdie"}, // 飞鸟表盘 + {DEFAULT_DIAL_ID_3, "dawninsight"}, // 晨曦智影 {MAX_DEFAULT_DIAL_ID, "mirrorvoyager"}, // 镜影行者 #endif }; @@ -207,7 +209,18 @@ uint16_t SetDialModel::GetDialIdFromName(const std::string &dialName) { } return 0; // 如果未找到对应的表盘名称,返回0或者其他适当的默认值 } - +/*通过表盘Id查询名称*/ +std::string SetDialModel::GetdialPath(int Id) { + //判断Id是否在map中 + if (registeredDials.find(Id) != registeredDials.end()) { + // 先将第一个字符串字面量转换为std::string,后续拼接会自动兼容 + std::string path = std::string(APP_DEFAULT_DIAL_PATH) + "/" + registeredDials[Id] + ".bin"; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetdialPath is %s", path.c_str()); + return path; + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetdialPath is error"); + return ""; +} /* 获取当前表盘Id */ uint16_t SetDialModel::GetCurrentDialID() { if (registeredDials.find(currentDialID) != registeredDials.end()) { @@ -536,13 +549,18 @@ void SetDialModel::LoadAllDialFromFs() { 加载默认表盘 */ const std::vector defaultDials = { - "obsidianrhythm", "mirrorvoyager", "satellite", "dawninsight", "birdie"}; +#ifdef BOARD_N9 + "lake", "eagle", "vibrantnumber", "distortion", "science", +#else + "obsidianrhythm", "mirrorvoyager", "satellite", "dawninsight", "birdie", +#endif +}; void SetDialModel::LoadAllDialFromDefult(void) { - #ifdef BOARD_W9 - return;//暂时没有默认表盘 - #endif +#ifdef BOARD_W9 + return; // w9暂时没有默认表盘 +#endif DIR *dirp = opendir(APP_DEFAULT_DIAL_PATH); if (dirp == nullptr) { diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/distortion.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/distortion.bin new file mode 100644 index 000000000..766e7f466 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/distortion.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ace9e536770d4859a790ae29f3bb99066dd0129c86088fe373a784a64aff7ea +size 219360 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/eagle.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/eagle.bin new file mode 100644 index 000000000..497e98ad2 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/eagle.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ed963d2378b5a468f84a097ecddac89220627fac2a309067aae63aced83bdd1 +size 209180 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/lake.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/lake.bin new file mode 100644 index 000000000..6742a0d9e --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/lake.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:697426bef753635d227ceb84566e355fdd75bdaa25107136d3dcd4cca01e356e +size 208882 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/science.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/science.bin new file mode 100644 index 000000000..a13111429 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/science.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8768f5158aecb12152e1082c434087553674d7953542a02048bf14eb49f0e45d +size 219360 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/vibrantnumber.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/vibrantnumber.bin new file mode 100644 index 000000000..0d8839453 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/n9/fs/user/dial/res_dial/vibrantnumber.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2d4f0cc23c9d3fe6e659a268802f9a2d4f7ec1bc556f925d59da4c4417c18d8 +size 724812