#include <stdexcept>\r
#include "MainViewSample.h"\r
#include "ui_service.h"\r
+#include "SetDialModel.h"\r
namespace OHOS\r
{\r
static const int CARD_SETTING_VALUE_LEN = 32;\r
{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/obsidianrhythm.bin";\r
+ //卡片map\r
const CardInfo printfMap[] = {\r
{HEART_RATE, "心率卡片"},\r
{COMPASS, "指南针"},\r
\r
void MainModel::InitDialSettingDefault(int id)\r
{\r
+ //黑耀表盘\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
+ }\r
+ //自定义表盘\r
if (id < DIAL_CLOCK || id >= DIAL_MAX)\r
id = DIAL_CLOCK;\r
\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
- InitDialSettingDefault(DIAL_CLOCK);\r
+ //判断黑耀表盘是否存在\r
+ if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
+ {\r
+ InitDialSettingDefault(DEFAULT_DIAL_ID);\r
+ }\r
+ else\r
+ {\r
+ InitDialSettingDefault(DIAL_CLOCK);\r
+ }\r
return;\r
}\r
\r
else\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: First value is empty. Initializing to default settings.\r\n");\r
- InitDialSettingDefault(DIAL_CLOCK);\r
+ //判断黑耀表盘是否存在\r
+ if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
+ {\r
+ InitDialSettingDefault(DEFAULT_DIAL_ID);\r
+ }\r
+ else\r
+ {\r
+ InitDialSettingDefault(DIAL_CLOCK);\r
+ }\r
return;\r
}\r
\r
else\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Second value is empty. Initializing to default settings.\r\n");\r
- InitDialSettingDefault(DIAL_CLOCK);\r
+ //判断黑耀表盘是否存在\r
+ if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
+ {\r
+ InitDialSettingDefault(DEFAULT_DIAL_ID);\r
+ }\r
+ else\r
+ {\r
+ InitDialSettingDefault(DIAL_CLOCK);\r
+ }\r
return;\r
}\r
\r
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:
#include <sys/stat.h>
#include <unistd.h>
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<uint16_t, std::string> 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指针表盘
*/
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;