修改mianmodel配置 2131/1 2131/head 2132/target/1
authorCaisking <Casiking@zhihuishixun.com>
Fri, 22 Aug 2025 06:56:54 +0000 (14:56 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Fri, 22 Aug 2025 06:56:54 +0000 (14:56 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainModel.cpp

index b5cb320..138d5f5 100644 (file)
@@ -125,8 +125,12 @@ namespace OHOS
     const DialInfo dialInfoMap[] = {\r
 #ifdef CUSTOM_Z1\r
         {DIAL_CLOCK, "Z1", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD},\r
+#elif defined(BOARD_N9)\r
+        {DIAL_CLOCK, "N9", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD}, \r
+#elif defined(BOARD_W9)\r
+        {DIAL_CLOCK, "W9", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD}, \r
 #else\r
-        {DIAL_CLOCK, "KUMI", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 默认表盘 Id 0\r
+        {DIAL_CLOCK, "KUMI", DEFAULT_DIALPER_PATH, DEFAULT_TASK_PERIOD},\r
 #endif\r
         {DIAL_CLOCK_1, "Custom_1", CUSTOM_CLOCK1_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 1\r
         {DIAL_CLOCK_2, "Custom_2", CUSTOM_CLOCK2_DIALPER_PATH, DEFAULT_TASK_PERIOD}, // 表盘 Id 2\r
@@ -134,8 +138,6 @@ 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/res_dial/obsidianrhythm.bin";\r
     //卡片map\r
     const CardInfo printfMap[] = {\r
         {HEART_RATE, "心率卡片"},\r
@@ -204,7 +206,7 @@ namespace OHOS
         {\r
             if (card == cardInfoMap[i].id)\r
             {\r
-                WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "cardInfoMap[%d]:%d\n", i, cardInfoMap[i].id);\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardInfoMap[%d]:%d\n", i, cardInfoMap[i].id);\r
                 return &cardInfoMap[i];\r
             }\r
         }\r
@@ -217,7 +219,7 @@ namespace OHOS
     /*初始化卡片设置*/\r
     void MainModel::InitCardSettings(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
         char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         int len;\r
         int index = 0;\r
@@ -249,7 +251,7 @@ namespace OHOS
                 {\r
                     if (cardInfoSet[i].id == cardSettings[j])\r
                     {\r
-                        WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "CardSettings:cardInfoSet[%d] is set cardSettings[%d]\r\n", i, j);\r
+                        WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "CardSettings:cardInfoSet[%d] is set cardSettings[%d]\r\n", i, j);\r
                         visible = true;\r
                         break;\r
                     }\r
@@ -280,13 +282,13 @@ namespace OHOS
             cardSettingCount = index;\r
         }\r
 \r
-        printCardSettings();\r
+        // printCardSettings();\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
     }\r
     void MainModel::DeleteCardSetting(uint8_t index)\r
     {\r
         /*设置卡片类型为false cardsetting 重新遍历map里面为ture的卡片{表盘必须存在}*/\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
 \r
         if (cardSettingCount > CARD_SETTING_COUNT_MAX)\r
         {\r
@@ -304,7 +306,7 @@ namespace OHOS
         cardInfoSet[index].isVisible = false;\r
 #if 0\r
         int count = sizeof(cardInfoSet) / sizeof(cardInfoSet[0]);\r
-        WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "count:%d\r\n", count);\r
+        WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "count:%d\r\n", count);\r
         // 设置map里面的属性\r
         for (uint8_t i = 0; i < count; i++)\r
         {\r
@@ -312,10 +314,10 @@ namespace OHOS
             if (cardInfoMap[index].id == cardInfoSet[i].id)\r
             {\r
                 cardInfoSet[i].isVisible = false;\r
-                WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "删除卡片:cardSettings[%d] is %d \r\n", index + 1, cardSettings[index + 1]);\r
-                WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "设置删除卡片属性:cardInfoSet[%d] is %d \r\n", i, cardInfoSet[i].isVisible);\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "删除卡片:cardSettings[%d] is %d \r\n", index + 1, cardSettings[index + 1]);\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "设置删除卡片属性:cardInfoSet[%d] is %d \r\n", i, cardInfoSet[i].isVisible);\r
             }\r
-            WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "cardInfoSet[%d]:id%d\r\n", i, cardInfoSet[i].id);\r
+            WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardInfoSet[%d]:id%d\r\n", i, cardInfoSet[i].id);\r
         }\r
 #endif\r
         int mapindex = 0;\r
@@ -352,14 +354,14 @@ namespace OHOS
         }\r
         (void)UtilsSetValue("card_setting", temp);\r
 \r
-        printCardSettings();\r
+        // printCardSettings();\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
     }\r
 \r
     void MainModel::AddCardSetting(uint8_t index)\r
     {\r
         /*设置卡片类型为ture cardsetting 重新遍历map里面为ture的卡片{表盘必须存在}*/\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
 \r
         if (cardSettingCount > CARD_SETTING_COUNT_MAX)\r
         {\r
@@ -404,7 +406,7 @@ namespace OHOS
             if (cardInfoSet[i].isVisible)\r
             {\r
                 cardSettings[mapindex++] = cardInfoSet[i].id;\r
-                WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "set cardInfoSet[%d]\r\n", i);\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "set cardInfoSet[%d]\r\n", i);\r
             }\r
         }\r
         /*设置卡片[不被卡片管理,必须设置] */\r
@@ -421,7 +423,7 @@ namespace OHOS
         (void)UtilsSetValue("card_setting", temp);\r
 \r
         // printCardSettings();\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
     }\r
     uint8_t MainModel::GetCardSettingCount(void)\r
     {\r
@@ -473,19 +475,28 @@ namespace OHOS
 \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
             id = DIAL_CLOCK;\r
 \r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitDialSettingDefault");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitDialSettingDefault");\r
         dialSetting.dialFlag = 0;\r
         dialSetting.dialId = id;\r
         dialSetting.dialFullName.clear(); // 用 clear() 替代空字符串\r
@@ -511,11 +522,14 @@ namespace OHOS
     {\r
         char temp[DIAL_SETTING_VALUE_LEN] = {0}; // 创建一个临时字符数组用于存储拨号设置的字符串\r
         int len = UtilsGetValue("dial_setting", temp, DIAL_SETTING_VALUE_LEN);\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Attempting to load dial settings from kvstore. Length: %d\r\n", len);\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Attempting to load dial settings from kvstore. Length: %d\r\n", len);\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
+        #if defined(BOARD_W9)\r
+            InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
+        #else\r
             //判断黑耀表盘是否存在\r
             if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
             {\r
@@ -525,6 +539,7 @@ namespace OHOS
             {\r
                 InitDialSettingDefault(DIAL_CLOCK);\r
             }\r
+        #endif\r
             return;\r
         }\r
 \r
@@ -537,12 +552,15 @@ namespace OHOS
         if (setValue)\r
         {\r
             dialSetting.dialFlag = atoi(setValue); // 将字符串转换为整数\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Dial flag loaded: %d\r\n", dialSetting.dialFlag);\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Dial flag loaded: %d\r\n", dialSetting.dialFlag);\r
         }\r
         else\r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: First value is empty. Initializing to default settings.\r\n");\r
-             //判断黑耀表盘是否存在\r
+        #if defined(BOARD_W9) \r
+            InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
+        #else\r
+            //判断黑耀表盘是否存在\r
             if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
             {\r
                 InitDialSettingDefault(DEFAULT_DIAL_ID);\r
@@ -551,6 +569,7 @@ namespace OHOS
             {\r
                 InitDialSettingDefault(DIAL_CLOCK);\r
             }\r
+        #endif\r
             return;\r
         }\r
 \r
@@ -559,11 +578,14 @@ namespace OHOS
         if (setValue)\r
         {\r
             dialSetting.dialId = atoi(setValue); // 将字符串转换为整数\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Dial ID loaded: %d\r\n", dialSetting.dialId);\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Dial ID loaded: %d\r\n", dialSetting.dialId);\r
         }\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)\r
+            InitDialSettingDefault(DIAL_CLOCK);//W9使用默认静态表盘\r
+        #else\r
             //判断黑耀表盘是否存在\r
             if(SetDialModel::GetInstance().IsDialInstalled(DEFAULT_DIAL_ID))\r
             {\r
@@ -573,6 +595,7 @@ namespace OHOS
             {\r
                 InitDialSettingDefault(DIAL_CLOCK);\r
             }\r
+        #endif\r
             return;\r
         }\r
 \r
@@ -581,17 +604,17 @@ namespace OHOS
         if (setValue)\r
         {\r
             dialSetting.dialFullName = setValue; // 将完整名称赋值\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Dial full name loaded: %s\r\n", dialSetting.dialFullName.c_str());\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Dial full name loaded: %s\r\n", dialSetting.dialFullName.c_str());\r
 \r
             if (dialSetting.dialFullName.empty() || access(dialSetting.dialFullName.c_str(), F_OK) != 0)\r
             {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Dial full name is invalid or file does not exist. Initializing to default settings.\r\n");\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Error: Dial full name is invalid or file does not exist. Initializing to default settings.\r\n");\r
                 InitDialSettingDefault(dialSetting.dialId);\r
             }\r
         }\r
         else\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error: Third value is empty. Initializing to default settings.\r\n");\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Error: Third value is empty. Initializing to default settings.\r\n");\r
             InitDialSettingDefault(dialSetting.dialId);\r
         }\r
     }\r
@@ -615,11 +638,11 @@ namespace OHOS
     void MainModel::InitDialState(void) {  \r
         // 获取加锁状态  \r
         int lockstate = OHOS::ConfigModel::GetInstance()->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_PASSWORD_SWITCH);  \r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "lockstate = %d", lockstate);  \r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "lockstate = %d", lockstate);  \r
 \r
         // 判断加锁状态  \r
         if (lockstate == 1) {  \r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Device is locked (lock state == 1)");  \r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Device is locked (lock state == 1)");  \r
             uapi_dev_runtime_set_lock_status(1); // 上锁  \r
             dialstateInfo[static_cast<int>(DialState::LOCK)].active = true; // 设置锁定状态为真  \r
         }  \r
@@ -633,26 +656,26 @@ namespace OHOS
     // 接口 1: 设置某个状态的属性\r
     void MainModel::setDialState(DialState state, bool value)\r
     {\r
-        // // 将 state 转换为整数以进行比较\r
-        // int stateIndex = static_cast<int>(state);\r
-        // if (stateIndex >= 0 && stateIndex < STATE_COUNT) // 确保 index 在有效范围\r
-        // {\r
-        //     // 检查当前状态是否与要设置的状态一致\r
-        //     if (dialstateInfo[stateIndex].active != value)\r
-        //     {\r
-        //         dialstateInfo[stateIndex].active = value; // 使用转换后的索引\r
-        //         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Set dialstateInfo[%d].active = %d", stateIndex, value);\r
-        //         SendMsgToUIService(UI_UPDATE_DIALSTATE_DATA, 0, nullptr, 0); // 发送更新消息\r
-        //     }\r
-        //     else\r
-        //     {\r
-        //         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "State %d is unchanged, no update needed.", stateIndex);\r
-        //     }\r
-        // }\r
-        // else\r
-        // {\r
-        //     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "state %d is error", stateIndex);\r
-        // }\r
+        // 将 state 转换为整数以进行比较\r
+        int stateIndex = static_cast<int>(state);\r
+        if (stateIndex >= 0 && stateIndex < STATE_COUNT) // 确保 index 在有效范围\r
+        {\r
+            // 检查当前状态是否与要设置的状态一致\r
+            if (dialstateInfo[stateIndex].active != value)\r
+            {\r
+                dialstateInfo[stateIndex].active = value; // 使用转换后的索引\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Set dialstateInfo[%d].active = %d", stateIndex, value);\r
+                SendMsgToUIService(UI_UPDATE_DIALSTATE_DATA, 0, nullptr, 0); // 发送更新消息\r
+            }\r
+            else\r
+            {\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "State %d is unchanged, no update needed.", stateIndex);\r
+            }\r
+        }\r
+        else\r
+        {\r
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "state %d is error", stateIndex);\r
+        }\r
     }\r
 \r
     // 接口 2: 获取最高优先级为 true 的状态\r
@@ -662,11 +685,11 @@ namespace OHOS
         {\r
             if (dialstateInfo[i].active)\r
             {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "high dialstateInfo[%d].active", i);\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "high dialstateInfo[%d].active", i);\r
                 return dialstateInfo[i].state; // 返回活跃状态中优先级最高的\r
             }\r
         }\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "no have high dialstateInfo.active");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "no have high dialstateInfo.active");\r
         return DialState::INVALID; // 如果没有找到活跃状态,返回无效状态\r
     }\r
 \r
@@ -699,76 +722,6 @@ namespace OHOS
     void MainModel::setVideostate(bool state) {\r
       video_state = state;\r
     }\r
-\r
-\r
-#if 0\r
-    void MainModel::DeleteCardSetting(uint8_t index)\r
-    {\r
-        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
-        for (uint8_t i = 0; i < cardSettingCount; i++)\r
-        {\r
-            if (i == index + 1)\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "i:%d index:%d", i, index);\r
-                uint8_t j = i;\r
-                for (; j < cardSettingCount - 1; j++)\r
-                {\r
-                    cardSettings[j] = cardSettings[j + 1];\r
-                }\r
-                cardSettings[j] = MAX_CARD;\r
-                cardSettingCount--;\r
-            }\r
-        }\r
-\r
-        for (uint8_t i = 0; i < cardSettingCount; i++)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cardSettings[%d] = %d", i, cardSettings[i]);\r
-            (void)sprintf_s(temp + strlen(temp), CARD_SETTING_VALUE_LEN, "%d,", cardSettings[i]);\r
-        }\r
-        (void)UtilsSetValue("card_setting", temp);\r
-\r
-         WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "\r\n***************DeleteCardSetting********************\r\n");\r
-        printCardSettings();\r
-         WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "\r\n_____________________________________________________\r\n");\r
-    }\r
-\r
-    void MainModel::AddCardSetting(uint8_t index)\r
-    {\r
-        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
-        if (cardSettingCount >= CARD_SETTING_COUNT_MAX)\r
-        {\r
-            return;\r
-        }\r
-        for (int i = 0; i < cardSettingCount; i++)\r
-        {\r
-            if (cardSettings[i] == cardInfoMap[index].id)\r
-            {\r
-                return;\r
-            }\r
-        }\r
-        cardSettings[cardSettingCount++] = cardInfoMap[index].id;\r
-        for (uint8_t i = 0; i < cardSettingCount; i++)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cardSettings[%d] = %d", i, cardSettings[i]);\r
-            (void)sprintf_s(temp + strlen(temp), CARD_SETTING_VALUE_LEN, "%d,", cardSettings[i]);\r
-        }\r
-        (void)UtilsSetValue("card_setting", temp);\r
-\r
-         WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "\r\n***************AddCardSetting********************\r\n");\r
-        printCardSettings();\r
-        else\r
-        {\r
-            /* 使用默认card配置 */\r
-            cardSettings[index++] = WATCH_FACE;\r
-            cardSettings[index++] = HEART_RATE;\r
-            cardSettings[index++] = COMPASS;\r
-            cardSettings[index++] = MUSIC_PLAYER;\r
-            cardSettings[index++] = SETCARD; // 默认卡片增加设置卡片\r
-            cardSettingCount = index;\r
-        }\r
-    }\r
-#endif\r
-\r
  bool MainModel::IsAodEnabled()\r
     {\r
         char temp[DIAL_SETTING_VALUE_LEN] = { 0 };\r