修复卡片显示 337/1 337/head 338/target/1
authorCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 13:35:03 +0000 (21:35 +0800)
committerCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 13:35:03 +0000 (21:35 +0800)
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp

index a23a831..2d0aacf 100644 (file)
@@ -100,14 +100,20 @@ namespace OHOS
         else\r
         {\r
             /* 使用默认card配置 */\r
-            cardSettings[index++] = SETCARD;\r
-            cardSettings[index++] = WATCH_FACE;\r
+            cardSettings[index] = SETCARD;\r
+          //  printf("InitCardSettings index:%d %d\r\n", index, SETCARD);\r
+            index++;\r
+            cardSettings[index] = WATCH_FACE;\r
+          //  printf("InitCardSettings index:%d %d\r\n", index, WATCH_FACE);\r
+            index++;\r
             /**遍历cardInfoMap 的默认visable选项,true的被设置进来 */\r
-            for (uint8_t i = WATCH_FACE + 2; i < MAX_CARD; i++)\r
+            for (uint8_t i = WATCH_FACE; i < MAX_CARD; i++)\r
             {\r
                 if (GetCardVisable((CardId)i) == true)\r
                 {\r
-                    cardSettings[index++] = (CardId)i;\r
+                    cardSettings[index] = (CardId)i;\r
+                    //printf("InitCardSettings index:%d %d\r\n", index, (CardId)i);\r
+                    index++;\r
                 }\r
             }\r
             cardSettingCount = index;\r
@@ -116,7 +122,7 @@ namespace OHOS
 \r
     void MainModel::DeleteCardSetting(uint8_t index)\r
     {\r
-        /**找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中删除   */\r
+        /**找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中删除  */\r
         char temp[CARD_SETTING_VALUE_LEN] = {0};\r
         for (uint8_t i = 0; i < cardSettingCount; i++)\r
         {\r
index 4c0c317..ece7d17 100644 (file)
@@ -30,14 +30,13 @@ namespace OHOS
     // 严格按照Id对应
     static const MainViewMapper CardMapper[] = {
         {WATCH_FACE, &MainViewSample::InitWatchFacePage},
+        {SETCARD, &MainViewSample::InitSetMainPage},
         {HEART_RATE, &MainViewSample::InitHeartRatePage},
         {COMPASS, &MainViewSample::InitCompassPage},
         {MUSIC_PLAYER, &MainViewSample::InitMusicPlayerPage},
         {BLOODOXGEN, &MainViewSample::InitBloodOxygenPage},
         {WEATHER, &MainViewSample::InitWeatherPage},
         {TRAINING, &MainViewSample::InitTrainingPage},
-        //{ACTIVITY, &MainViewSample::InitActivityPage},
-        {SETCARD, &MainViewSample::InitSetMainPage},
         {GOAL, &MainViewSample::InitGoalPage},
     };
     MainViewSample::MainViewSample()
@@ -229,15 +228,15 @@ namespace OHOS
             {
                 if (cardSettings[i] == CardMapper[j].id)
                 {
-                    recordCard[j] = (this->*(CardMapper[j].func))();
-                    if (recordCard[j] == nullptr)
+                    recordCard[i] = (this->*(CardMapper[j].func))();
+                    if (recordCard[i] == nullptr)
                     {
                         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
                                       "MainViewSample:: recordCard %d error", j);
                         return false;
                     }
                     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
-                                  "MainViewSample:: recordCard[%d]:%p", j, recordCard[j]);
+                                  "MainViewSample:: recordCard [%d]: cardId %d", i, cardSettings[i]);
                     break;
                 }
             }
@@ -257,11 +256,11 @@ namespace OHOS
         for (int16_t i = 0; i < cardSettingNum; i++)
         {
             CardId cardId = cardSettings[i];
-            if (recordCard[cardId] != nullptr)
+            if (recordCard[i] != nullptr)
             {
-                mainSwipeGroup->HorAdd(recordCard[cardId]);
+                mainSwipeGroup->HorAdd(recordCard[i]);
                 WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample:: HorViewLoad cardid = %d ViewIndex = %d",
-                              cardId, recordCard[cardId]->GetViewIndex());
+                              cardId, recordCard[i]->GetViewIndex());
             }
         }
     }
@@ -547,14 +546,20 @@ namespace OHOS
 
     void MainViewSample::SwitchToCard(uint8_t cardId)
     {
-        if ((cardId < MAX_CARD) && (recordCard[cardId] != nullptr))
-        {
-            SetPage(recordCard[cardId]->GetViewIndex());
-        }
-        else
+        uint8_t cardSettingNum = presenter_->GetCardSettingCount();
+        CardId *cardSettings = presenter_->GetCardSettings();
+        for (int16_t i = 0; i < cardSettingNum; i++)
         {
-            SwitchToClockPage();
+            if (cardId == cardSettings[i])
+            {
+                if ((cardId < MAX_CARD) && (recordCard[i] != nullptr))
+                {
+                    SetPage(recordCard[i]->GetViewIndex());
+                    return;
+                }
+            }
         }
+        SwitchToClockPage();
     }
 
 }