From: SnickerSun Date: Thu, 11 Apr 2024 09:41:42 +0000 (+0800) Subject: 去除ConfigModel中的模板函数 X-Git-Tag: release_V1.2.70_20241020_135402~1210^2~2^2 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=940be744c8d2c2fea9a98ad120eb210e4d7c7998;p=mirrors%2FFD230.git 去除ConfigModel中的模板函数 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index 48693bd6d..913597963 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -31,10 +31,10 @@ namespace OHOS static ConfigModel *GetInstance(); cJSON *GetcJSON(void); bool LoadJsonData(void); - template - T ReadJsonData(const cJSON *json_obj, const char *field_name); - template - void WriteJsonData(cJSON *json_obj, const char *field_name, T data); + // template + // T ReadJsonData(const cJSON *json_obj, const char *field_name); + // template + // void WriteJsonData(cJSON *json_obj, const char *field_name, T data); /* -------------------------------------------------------------------------- */ std::string ReadJsonData_String(const cJSON *json_obj, const char *field_name); @@ -118,96 +118,96 @@ namespace OHOS /// @tparam T /// @param json_obj json 对象 field_name 字段名称 /// @return 读取到的对应值 - template - T ConfigModel::ReadJsonData(const cJSON *json_obj, const char *field_name) - { - const cJSON *field_item = cJSON_GetObjectItem(json_obj, field_name); - if (field_item != NULL) - { - if (cJSON_IsString(field_item)) - { - return T(field_item->string); - } - else if (cJSON_IsNumber(field_item)) - { - return T(field_item->valuedouble); - } - else if (cJSON_IsBool(field_item)) - { - return T(field_item->valueint); - } - else if (cJSON_IsArray(field_item)) - { - return T(cJSON_GetArraySize(field_item)); - } - else - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Unsupported data type"); - return T("Unsupported data type"); - } - } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Field not found"); - return T("Field not found"); - } + // template + // T ConfigModel::ReadJsonData(const cJSON *json_obj, const char *field_name) + // { + // const cJSON *field_item = cJSON_GetObjectItem(json_obj, field_name); + // if (field_item != NULL) + // { + // if (cJSON_IsString(field_item)) + // { + // return T(field_item->string); + // } + // else if (cJSON_IsNumber(field_item)) + // { + // return T(field_item->valuedouble); + // } + // else if (cJSON_IsBool(field_item)) + // { + // return T(field_item->valueint); + // } + // else if (cJSON_IsArray(field_item)) + // { + // return T(cJSON_GetArraySize(field_item)); + // } + // else + // { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Unsupported data type"); + // return T("Unsupported data type"); + // } + // } + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Field not found"); + // return T("Field not found"); + // } /// @brief 通用的写JSON数据函数 /// @tparam T /// @param json_obj json对象 /// @param field_name 字段名称 /// @param data 要写入的数据 - template - void ConfigModel::WriteJsonData(cJSON *json_obj, const char *field_name, T data) - { - if (json_obj == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "json_obj is nullptr!"); - return; - } - - cJSON *data_obj = cJSON_CreateNull(); - if constexpr (std::is_same::value || std::is_same::value || std::is_same::value) - { - data_obj = cJSON_CreateNumber(static_cast(data)); - } - else if constexpr (std::is_same::value || std::is_same::value) - { - data_obj = cJSON_CreateNumber(data); - } - else if constexpr (std::is_same::value) - { - data_obj = cJSON_CreateBool(data); - } - else if constexpr (std::is_same::value || std::is_same::value) - { - data_obj = cJSON_CreateString(data); - } - - if (data_obj != nullptr) - { - cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); - - char *jsonString = cJSON_Print(json_obj); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "有格式的方式打印Json:\n%s\n", jsonString); - if (jsonString != nullptr) - { - FILE *file = fopen(filePath.c_str(), "wb"); - if (file) - { - if (fputs(jsonString, file) != EOF) // 将 JSON 字符串写入文件 - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WriteJsonData success\n"); - } - fclose(file); - } - free(jsonString); - } - else - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jsonString is nullptr"); - return; - } - } - } + // template + // void ConfigModel::WriteJsonData(cJSON *json_obj, const char *field_name, T data) + // { + // if (json_obj == nullptr) + // { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "json_obj is nullptr!"); + // return; + // } + + // cJSON *data_obj = cJSON_CreateNull(); + // if constexpr (std::is_same::value || std::is_same::value || std::is_same::value) + // { + // data_obj = cJSON_CreateNumber(static_cast(data)); + // } + // else if constexpr (std::is_same::value || std::is_same::value) + // { + // data_obj = cJSON_CreateNumber(data); + // } + // else if constexpr (std::is_same::value) + // { + // data_obj = cJSON_CreateBool(data); + // } + // else if constexpr (std::is_same::value || std::is_same::value) + // { + // data_obj = cJSON_CreateString(data); + // } + + // if (data_obj != nullptr) + // { + // cJSON_ReplaceItemInObject(json_obj, field_name, data_obj); + + // char *jsonString = cJSON_Print(json_obj); + // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "有格式的方式打印Json:\n%s\n", jsonString); + // if (jsonString != nullptr) + // { + // FILE *file = fopen(filePath.c_str(), "wb"); + // if (file) + // { + // if (fputs(jsonString, file) != EOF) // 将 JSON 字符串写入文件 + // { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WriteJsonData success\n"); + // } + // fclose(file); + // } + // free(jsonString); + // } + // else + // { + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jsonString is nullptr"); + // return; + // } + // } + // } /* ------------------------------ ImageAnimator ----------------------------- */ /* * 图片动画类 diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp index cd4903bb1..095f69793 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp @@ -374,7 +374,7 @@ namespace OHOS /* -------------------------------- set与get方法 ------------------------------- */ void ConfigModel::SetRaiseToBrightnessCheckBoxButtonState() { - RaiseToBrightnessCheckBoxButtonState = ReadJsonData(GetcJSON(), "RaiseToBrightnessCheckBoxButtonState"); + RaiseToBrightnessCheckBoxButtonState = ReadJsonData_Bool(GetcJSON(), "RaiseToBrightnessCheckBoxButtonState"); } /// @brief 获取抬腕按钮状态 @@ -385,7 +385,7 @@ namespace OHOS void ConfigModel::SetScreenBrightnessValue() { - ScreenBrightnessValue = static_cast(ReadJsonData(GetcJSON(), "ScreenBrightnessValue")); + ScreenBrightnessValue = static_cast(ReadJsonData_Int(GetcJSON(), "ScreenBrightnessValue")); } /// @brief 获取亮度值 @@ -396,7 +396,7 @@ namespace OHOS void ConfigModel::SetScreenDurationRadioButtonSlectValue() { - ScreenDurationRadioButtonSlectValue = static_cast(ReadJsonData(GetcJSON(), "ScreenDurationRadioButtonSlectValue")); + ScreenDurationRadioButtonSlectValue = static_cast(ReadJsonData_Int(GetcJSON(), "ScreenDurationRadioButtonSlectValue")); } /// @brief 获取亮屏时长三个单选框选中状况,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏 @@ -407,7 +407,7 @@ namespace OHOS void ConfigModel::SetTradionalBlueToothToggleButtonState(void) { - TradionalBlueToothToggleButtonState = (ReadJsonData(GetcJSON(), "TradionalBlueToothToggleButtonState")); + TradionalBlueToothToggleButtonState = (ReadJsonData_Bool(GetcJSON(), "TradionalBlueToothToggleButtonState")); } /// @brief 获取蓝牙开关状态 @@ -418,7 +418,7 @@ namespace OHOS void ConfigModel::SetHeartRateOrBloodOxygenQuickAccessSwitch(void) { - HeartRateOrBloodOxygenQuickAccessSwitch = (ReadJsonData(GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch")); + HeartRateOrBloodOxygenQuickAccessSwitch = (ReadJsonData_Int(GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch")); } /// @brief 获取“心率或血氧”快速访问开关 @@ -440,7 +440,7 @@ namespace OHOS dial_config *ConfigModel::GetDialId() { // 读取json数据 - dialid_ = (ReadJsonData(GetcJSON(), "Dial_Id")); + dialid_ = (ReadJsonData_Int(GetcJSON(), "Dial_Id")); dialname_ = ReadJsonData_String(GetcJSON(), "Dial_Name"); dial_config *dial = new dial_config(); dial->dialid = dialid_; @@ -451,12 +451,12 @@ namespace OHOS void ConfigModel::SetLanguage(int language) { languageid_ = language; - WriteJsonData(GetcJSON(), "Language_Id", languageid_); + WriteJsonData_Int(GetcJSON(), "Language_Id", languageid_); } int ConfigModel::GetLanguage() { - languageid_ = (ReadJsonData(GetcJSON(), "Language_Id")); + languageid_ = (ReadJsonData_Int(GetcJSON(), "Language_Id")); return languageid_; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/BrightnessControlView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/BrightnessControlView.cpp index 491717b6e..6b8db084c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/BrightnessControlView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/BrightnessControlView.cpp @@ -31,7 +31,7 @@ namespace OHOS unsigned char value = BrightnessControlViewSlider->GetValue(); DisplayBrightnessModel::GetInstance()->KeepScreenBrightnessValues(value); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(),"ScreenBrightnessValue",value); + ConfigModel::GetInstance()->WriteJsonData_Int(ConfigModel::GetInstance()->GetcJSON(),"ScreenBrightnessValue",value); delete BrightnessControlViewSlider; BrightnessControlViewSlider = nullptr; diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp index c7dcd050c..32a70f2df 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessView.cpp @@ -64,12 +64,12 @@ namespace OHOS if (state == UICheckBox::UICheckBoxState::SELECTED) { DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(true); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(),"RaiseToBrightnessCheckBoxButtonState",true); + ConfigModel::GetInstance()->WriteJsonData_Bool(ConfigModel::GetInstance()->GetcJSON(),"RaiseToBrightnessCheckBoxButtonState",true); } else { DisplayBrightnessModel::GetInstance()->SetRaiseToBrightnessCheckBoxButtonStatus(false); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(),"RaiseToBrightnessCheckBoxButtonState",false); + ConfigModel::GetInstance()->WriteJsonData_Bool(ConfigModel::GetInstance()->GetcJSON(),"RaiseToBrightnessCheckBoxButtonState",false); } delete RaiseToBrightnessCheckBoxButton; diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp index 8306da8df..479c83d13 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/ScreenDurationView.cpp @@ -40,7 +40,7 @@ namespace OHOS } } DisplayBrightnessModel::GetInstance()->KeepScreenDurationRadioButtonSlectStatus(i); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(),"ScreenDurationRadioButtonSlectValue",i); + ConfigModel::GetInstance()->WriteJsonData_Int(ConfigModel::GetInstance()->GetcJSON(),"ScreenDurationRadioButtonSlectValue",i); delete ScreenDurationTitleLabel; ScreenDurationTitleLabel = nullptr; diff --git a/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/QuickAccessView.cpp b/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/QuickAccessView.cpp index 47122fe3a..2a05b1007 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/QuickAccessView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/QuickAccessView.cpp @@ -40,12 +40,12 @@ namespace OHOS if (QuickAccessRadioButton[0]->GetState() == UICheckBox::SELECTED) { SecondaryFunctionModel::GetInstance()->KeepHeartRateOrBloodOxygenQuickAccessRadioButtonSelectState(0); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch", 0); + ConfigModel::GetInstance()->WriteJsonData_Int(ConfigModel::GetInstance()->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch", 0); } else if (QuickAccessRadioButton[1]->GetState() == UICheckBox::SELECTED) { SecondaryFunctionModel::GetInstance()->KeepHeartRateOrBloodOxygenQuickAccessRadioButtonSelectState(1); - ConfigModel::GetInstance()->WriteJsonData(ConfigModel::GetInstance()->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch", 1); + ConfigModel::GetInstance()->WriteJsonData_Int(ConfigModel::GetInstance()->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch", 1); } // 循环删除 UIImageView 和 UIRadioButton指针数组