From: Caisking <3449750381@qq.com> Date: Mon, 2 Sep 2024 08:58:50 +0000 (+0800) Subject: 修复自定义表盘读取配置异常bug X-Git-Tag: release_V1.2.70_20241020_135402~540^2~14 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=ce771f8ea3e246f8df783136920183ec6e54131d;p=mirrors%2FFD230.git 修复自定义表盘读取配置异常bug --- 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 0367f9a36..0f9c7301d 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 @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -579,8 +580,7 @@ namespace OHOS */ bool SetDialModel::loadDialConfig(int Id, DialLayout &layout) { - std::string filename = std::string(APP_CUSTOM_DIAL_PATH) + "/" + std::to_string(Id) + ".bin"; - + std::string filename = GetSaveDir(Id) + "/" + std::to_string(Id) + ".bin"; // 打开文件 std::ifstream configFile(filename, std::ios::binary); if (!configFile.is_open()) @@ -590,12 +590,12 @@ namespace OHOS } // 读取配置 - char settings[3]; // 读取3个字节 - configFile.read(settings, sizeof(settings)); - if (configFile.gcount() != sizeof(settings)) + std::array settings; + configFile.read(settings.data(), settings.size()); + + if (configFile.gcount() != settings.size()) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read config file or insufficient file content!"); - configFile.close(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read configuration: %s", filename.c_str()); return false; // 读取失败 } @@ -605,7 +605,6 @@ namespace OHOS layout.colorTypeSet = static_cast(settings[2]); // 字体颜色 // 关闭文件 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read config file or insufficient file content!"); configFile.close(); return true; // 成功读取配置 }