From 2e562d0c3b38f729d5f7d6e008ecc10f6b7473ca Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Mon, 1 Jul 2024 19:21:47 +0800 Subject: [PATCH] =?utf8?q?=E8=A1=A8=E7=9B=98map=E5=A2=9E=E5=8A=A0=E8=AF=AF?= =?utf8?q?=E5=88=A4=E6=96=AD=EF=BC=8C=E9=81=BF=E5=85=8D=E9=94=99=E8=AF=AFi?= =?utf8?q?d=E5=9B=A0=E4=B8=BA=E4=B8=8D=E5=BD=93=E6=93=8D=E4=BD=9C=E6=B3=A8?= =?utf8?q?=E5=86=8C=E8=BF=9B=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/set_dial/src/SetDialModel.cpp | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp index 770037a22..f2e4e1af0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial/src/SetDialModel.cpp @@ -172,7 +172,10 @@ namespace OHOS /* 获取当前表盘Id */ uint16_t SetDialModel::GetCurrentDialID() { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "currentDialID is %d,name is %s", currentDialID, registeredDials[currentDialID].c_str()); + if (registeredDials.find(currentDialID) != registeredDials.end()) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "currentDialID is %d,name is %s", currentDialID, registeredDials[currentDialID].c_str()); + } return currentDialID; } /* 获取所有表盘Id 每个表盘Id 2个字节 拼接为字符串 */ @@ -240,25 +243,28 @@ namespace OHOS /*更新表盘*/ void SetDialModel::UpdateDialSetting(uint16_t ID) { - std::string dialname = registeredDials[ID]; // 根据ID找到对应的表盘名称 - // 在dialInfoList中查找同名表盘 - for (size_t i = 0; i < dialInfoList.size(); i++) + if (registeredDials.find(ID) != registeredDials.end()) { - if (dialInfoList[i].dialName == dialname) + std::string dialname = registeredDials[ID]; // 根据ID找到对应的表盘名称 + // 在dialInfoList中查找同名表盘 + for (size_t i = 0; i < dialInfoList.size(); i++) { - DialSetting diagSetting; - SetDialInfo &info = dialInfoList[i]; - diagSetting.dialFlag = info.dialFlag; - diagSetting.dialId = info.id; - diagSetting.dialFullName = info.dialFullName; - MainModel::GetInstance().AddDialSetting(diagSetting); // 更新表盘设置 - currentDialID = ID; // 更新当前表盘Id - NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); - return; // 更新成功后直接返回 + if (dialInfoList[i].dialName == dialname) + { + DialSetting diagSetting; + SetDialInfo &info = dialInfoList[i]; + diagSetting.dialFlag = info.dialFlag; + diagSetting.dialId = info.id; + diagSetting.dialFullName = info.dialFullName; + MainModel::GetInstance().AddDialSetting(diagSetting); // 更新表盘设置 + currentDialID = ID; // 更新当前表盘Id + NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); + return; // 更新成功后直接返回 + } } + NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialModel UpdateDialSetting: Cannot find dial with name %s", dialname.c_str()); } - NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetDialModel UpdateDialSetting: Cannot find dial with name %s", dialname.c_str()); } /*加载所有表盘*/ -- 2.17.1