+/*** \r
+ * @Date: 2024-06-21 09:56:18\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-07-06 15:15:38\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainModel.h\r
+ */\r
/***\r
* @Date: 2024-06-21 09:56:18\r
* @LastEditors: Caisking 3449750381@qq.com\r
void AddCardSetting(uint8_t index);\r
const CardInfo *GetCardInfo(CardId card) const;\r
const DialInfo *GetDialInfo(DialId dial) const;\r
- void AddDialSetting(const DialSetting &setting);\r
+ void AddDialSetting(const DialSetting &setting, const int id);\r
void InitDialSettings(void);\r
DialSetting &GetDialSetting();\r
bool IsFromSetCardView(void) const;\r
}\r
return nullptr;\r
}\r
+\r
void MainModel::InitDialSettingDefault(void)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitDialSettingDefault");\r
dialSetting.dialId = DIAL_CLOCK;\r
dialSetting.dialFullName = "";\r
}\r
+\r
/*更新表盘设置*/\r
- void MainModel::AddDialSetting(const DialSetting &setting)\r
+ void MainModel::AddDialSetting(const DialSetting &setting, const int id)\r
{\r
std::string tmp;\r
- tmp += std::to_string(setting.dialFlag);\r
- tmp += ",";\r
- tmp += std::to_string(setting.dialId);\r
- tmp += ",";\r
- tmp += setting.dialFullName;\r
- tmp += ",";\r
+ tmp += std::to_string(setting.dialFlag) + ",";\r
+ tmp += std::to_string(setting.dialId) + ",";\r
+ tmp += setting.dialFullName + ",";\r
+\r
(void)UtilsSetValue("dial_setting", tmp.c_str());\r
+ (void)UtilsSetValue("dial_id", std::to_string(id).c_str());\r
}\r
/*加载kvstore里面的dial*/\r
void MainModel::InitDialSettings(void)\r
{
readDialfile();
LoadAllDial();
+ char idBuffer[10];
+ int len = UtilsGetValue("dial_id", idBuffer, sizeof(idBuffer));
+ if (len >= 0)
+ {
+ currentDialID = std::stoi(idBuffer); // 将字符串转换为整数
+ }
}
SetDialModel::~SetDialModel() {}
/* 注册表盘map */
void SetDialModel::RegisterDial(uint16_t ID, const char *dialname)
{
- if(ID==0 || strlen(dialname)==0)
- return;
+ if (ID == 0 || strlen(dialname) == 0)
+ return;
registeredDials[ID] = std::string(dialname); // 唯一性
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RegisterDial %d %s is ok!",ID, dialname);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RegisterDial %d %s is ok!", ID, dialname);
LoadAllDial();
saveDialfile();
-
}
/* 打印map */
void SetDialModel::PrintRegisteredDials(const std::unordered_map<uint16_t, std::string> &dials)
/* 获取当前表盘Id */
uint16_t SetDialModel::GetCurrentDialID()
{
- if (registeredDials.find(currentDialID) != registeredDials.end())
+ if (registeredDials.find(currentDialID) != registeredDials.end())
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "currentDialID is %d,name is %s", currentDialID, registeredDials[currentDialID].c_str());
}
registeredDials.erase(ID);
LoadAllDial();
-
-
return true;
}
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_delete_files the dial %d is false", ID);
diagSetting.dialFlag = info.dialFlag;
diagSetting.dialId = info.id;
diagSetting.dialFullName = info.dialFullName;
- MainModel::GetInstance().AddDialSetting(diagSetting); // 更新表盘设置
- currentDialID = ID; // 更新当前表盘Id
+ currentDialID = ID; // 更新当前表盘Id
+ MainModel::GetInstance().AddDialSetting(diagSetting, currentDialID); // 更新表盘设置
NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);
return; // 更新成功后直接返回
}
diagSetting.dialFlag = info.dialFlag;
diagSetting.dialId = info.id;
diagSetting.dialFullName = info.dialFullName;
- MainModel::GetInstance().AddDialSetting(diagSetting);
currentDialID = GetDialIdFromName(info.dialName); // 更新表盘Id
+ MainModel::GetInstance().AddDialSetting(diagSetting, currentDialID);
}
/*获取表盘的总数*/