From 5de4c9027c4ce8841a4ddef3ed7d815d38360d05 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Thu, 20 Jun 2024 21:35:03 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8D=E5=8D=A1=E7=89=87=E6=98=BE?= =?utf8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../fd230app/nativeui/main/src/MainModel.cpp | 16 ++++++--- .../nativeui/main/src/MainViewSample.cpp | 33 +++++++++++-------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp index a23a83112..2d0aacfb2 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp @@ -100,14 +100,20 @@ namespace OHOS else { /* 使用默认card配置 */ - cardSettings[index++] = SETCARD; - cardSettings[index++] = WATCH_FACE; + cardSettings[index] = SETCARD; + // printf("InitCardSettings index:%d %d\r\n", index, SETCARD); + index++; + cardSettings[index] = WATCH_FACE; + // printf("InitCardSettings index:%d %d\r\n", index, WATCH_FACE); + index++; /**遍历cardInfoMap 的默认visable选项,true的被设置进来 */ - for (uint8_t i = WATCH_FACE + 2; i < MAX_CARD; i++) + for (uint8_t i = WATCH_FACE; i < MAX_CARD; i++) { if (GetCardVisable((CardId)i) == true) { - cardSettings[index++] = (CardId)i; + cardSettings[index] = (CardId)i; + //printf("InitCardSettings index:%d %d\r\n", index, (CardId)i); + index++; } } cardSettingCount = index; @@ -116,7 +122,7 @@ namespace OHOS void MainModel::DeleteCardSetting(uint8_t index) { - /**找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中删除 */ + /**找到 cardInfoMap 中的 对应 CardId , 在 cardSettings中删除 */ char temp[CARD_SETTING_VALUE_LEN] = {0}; for (uint8_t i = 0; i < cardSettingCount; i++) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp index 4c0c31771..ece7d17a3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp @@ -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(); } } -- 2.17.1