{DIAL_CLOCK_4, "Custom_4", CUSTOM_CLOCK4_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 4\r
{DIAL_CLOCK_5, "Custom_5", CUSTOM_CLOCK5_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 4\r
};\r
- //默认表盘\r
- static const char* DEFAULT_CUSTOM_DIAL_PATH = "/user/dial/res_dial/obsidianrhythm.bin";\r
//卡片map\r
const CardInfo printfMap[] = {\r
{HEART_RATE, "心率卡片"},\r
\r
void MainModel::InitDialSettingDefault(int id)\r
{\r
- //é»\91è\80\80表盘\r
+ //é»\98认表盘\r
if(id == DEFAULT_DIAL_ID)\r
{\r
dialSetting.dialFlag = 1;\r
dialSetting.dialId = id;\r
- dialSetting.dialFullName = DEFAULT_CUSTOM_DIAL_PATH; \r
- return;\r
+ dialSetting.dialFullName = SetDialModel::GetInstance().GetdialPath(id); \r
+ if(dialSetting.dialFullName == "")\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitDialSettingDefault is error");\r
+ // 默认情况下,如果找不到表盘路径,则设置为默认表盘\r
+ id = DIAL_CLOCK;\r
+ }\r
+ else\r
+ {\r
+ return;\r
+ }\r
}\r
//自定义表盘\r
if (id < DIAL_CLOCK || id >= DIAL_MAX)\r
if (len < 0)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Failed to retrieve dial settings. Initializing to default settings.\r\n");\r
- #if defined(BOARD_W9) || defined(BOARD_N9)\r
- InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘\r
+ #if defined(BOARD_W9)\r
+ InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
#else\r
//判断黑耀表盘是否存在\r
if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
else\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: First value is empty. Initializing to default settings.\r\n");\r
- #if defined(BOARD_W9) || defined(BOARD_N9)\r
- InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘\r
+ #if defined(BOARD_W9) \r
+ InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
#else\r
//判断黑耀表盘是否存在\r
if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
else\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Second value is empty. Initializing to default settings.\r\n");\r
- #if defined(BOARD_W9) || defined(BOARD_N9)\r
- InitDialSettingDefault(DIAL_CLOCK);//N9使用默认静态表盘\r
+ #if defined(BOARD_W9)\r
+ InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
#else\r
//判断黑耀表盘是否存在\r
if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
}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;
bool CheckFileExists(const std::string &filePath);
/*通过表盘名*/
std::string GetDialDescription(const std::string &dialName);
+ /*通过表盘Id查询名称*/
+ std::string GetdialPath(int Id);
/*获取自定义表盘名*/
std::string GetCustomName(int Id);
/*删除自定义表盘*/
#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
};
}
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()) {
加载默认表盘
*/
const std::vector<std::string> 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) {
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:9ace9e536770d4859a790ae29f3bb99066dd0129c86088fe373a784a64aff7ea
+size 219360
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:5ed963d2378b5a468f84a097ecddac89220627fac2a309067aae63aced83bdd1
+size 209180
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:697426bef753635d227ceb84566e355fdd75bdaa25107136d3dcd4cca01e356e
+size 208882
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:8768f5158aecb12152e1082c434087553674d7953542a02048bf14eb49f0e45d
+size 219360
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:f2d4f0cc23c9d3fe6e659a268802f9a2d4f7ec1bc556f925d59da4c4417c18d8
+size 724812