修复默认表盘为黑耀表盘114 1020/1 1020/head 1021/target/1 1022/target/1
authorCaisking <3449750381@qq.com>
Thu, 26 Sep 2024 03:30:41 +0000 (11:30 +0800)
committerCaisking <3449750381@qq.com>
Thu, 26 Sep 2024 03:30:41 +0000 (11:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/fd230app/nativeui/set_dial/include/SetDialModel.h
code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp

index 448cfae..3a4e3e8 100644 (file)
@@ -15,6 +15,7 @@
 #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
@@ -55,6 +56,9 @@ namespace OHOS
         {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
@@ -389,6 +393,15 @@ namespace OHOS
 \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
@@ -417,7 +430,15 @@ namespace OHOS
         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
@@ -435,7 +456,15 @@ namespace OHOS
         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
@@ -449,7 +478,15 @@ namespace OHOS
         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
index 4255684..7c7a395 100644 (file)
@@ -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:
index 92d248d..c1704bd 100644 (file)
 #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指针表盘
     */
 
@@ -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;