修复卡片管理界面添加卡片点击失灵bug
authorCaisking <3449750381@qq.com>
Mon, 15 Jul 2024 06:22:51 +0000 (14:22 +0800)
committerCaisking <3449750381@qq.com>
Mon, 15 Jul 2024 06:22:51 +0000 (14:22 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp

index c6a9edd..a9cf3d0 100644 (file)
@@ -177,9 +177,6 @@ namespace OHOS
     {\r
         /*设置卡片类型为false cardsetting 重新遍历map里面为ture的卡片{表盘必须存在}*/\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
-        //  WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "删除卡片:cardSettings[%d] is %d \r\n", index + 1, cardSettings[index + 1]);\r
-        // printCardSettings();\r
-        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
 \r
         if (cardSettingCount > CARD_SETTING_COUNT_MAX)\r
         {\r
@@ -233,6 +230,7 @@ namespace OHOS
         cardSettingCount = mapindex;\r
 \r
         // 更新存储内容\r
+        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         for (uint8_t k = 0; k < cardSettingCount; k++)\r
         {\r
             (void)sprintf_s(temp + strlen(temp), CARD_SETTING_VALUE_LEN, "%d,", cardSettings[k]);\r
@@ -246,8 +244,7 @@ namespace OHOS
     void MainModel::AddCardSetting(uint8_t index)\r
     {\r
         /*设置卡片类型为ture cardsetting 重新遍历map里面为ture的卡片{表盘必须存在}*/\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
-        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddCardSetting");\r
 \r
         if (cardSettingCount > CARD_SETTING_COUNT_MAX)\r
         {\r
@@ -259,10 +256,22 @@ namespace OHOS
         {\r
             return;\r
         }\r
+        // 设置map里面的属性\r
+        int count = sizeof(cardInfoSet) / sizeof(cardInfoSet[0]);\r
+        for (uint8_t i = 0; i < count; i++)\r
+        {\r
+            // 需要被添加的卡片 因为添加是显示所有卡片,所以是使用map\r
+            if (cardInfoMap[index].id == cardInfoSet[i].id)\r
+            {\r
+                cardInfoSet[i].isVisible = true;\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "添加卡片:cardSettings[%d] is %d \r\n", index, cardInfoMap[index].id);\r
+                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "设置添加卡片属性:cardInfoSet[%d] is %d \r\n", i, cardInfoSet[i].isVisible);\r
+            }\r
+            WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardInfoSet[%d]:id%d\r\n", i, cardInfoSet[i].id);\r
+        }\r
 \r
         // 设置map里面的属性\r
         int mapindex = 0;\r
-\r
         for (uint8_t i = 0; i < (sizeof(cardInfoSet) / sizeof(cardInfoSet[0])); i++)\r
         {\r
             if (mapindex == 0)\r
@@ -270,13 +279,6 @@ namespace OHOS
                 /* 表盘卡片[不被卡片管理,必须设置] */\r
                 cardSettings[mapindex++] = WATCH_FACE;\r
             }\r
-            // 需要被添加的卡片 因为添加是显示所有卡片,所以是使用map\r
-            if (cardInfoMap[index].id == cardInfoSet[i].id)\r
-            {\r
-                cardInfoSet[i].isVisible = true;\r
-                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "添加卡片:cardSettings[%d] is %d \r\n", index, cardInfoMap[index].id);\r
-                WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "设置添加卡片属性:cardInfoSet[%d] is %d \r\n", i, cardInfoSet[i].isVisible);\r
-            }\r
             // 设置其他卡片\r
             if (cardInfoSet[i].isVisible)\r
             {\r
@@ -290,6 +292,7 @@ namespace OHOS
         cardSettingCount = mapindex;\r
 \r
         // 更新存储内容\r
+        char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         for (uint8_t j = 0; j < cardSettingCount; j++)\r
         {\r
             (void)sprintf_s(temp + strlen(temp), CARD_SETTING_VALUE_LEN, "%d,", cardSettings[j]);\r