}
#endif
/* ------------------------------- ConfigModel ------------------------------ */
- ConfigModel::GetInstance()->LoadJsonData();
+ ConfigModel::GetInstance()->Init();
/* -------------------------------------------------------------------------- */
// 初始化所有预加载slice
ClassicBlueToothModel::ClassicBlueToothModel()\r
{\r
ConfigModel *p_ConfigModel = ConfigModel::GetInstance();\r
- TradionalBlueToothToggleButtonState = (p_ConfigModel->ReadJsonData<bool>(p_ConfigModel->GetcJSON(), "TradionalBlueToothToggleButtonState"));\r
+ TradionalBlueToothToggleButtonState = p_ConfigModel->GetTradionalBlueToothToggleButtonState();\r
}\r
\r
ClassicBlueToothModel::~ClassicBlueToothModel() {}\r
#include <iostream>
#include <fstream>
#include <filesystem>
-#include "cJSON.h"
+#include "../../../../../../open_source/openharmony/third_party/cJSON/cJSON.h"
#include "wearable_log.h"
namespace OHOS
T ReadJsonData(const cJSON *json_obj, const char *field_name);
template <class T>
void WriteJsonData(cJSON *json_obj, const char *field_name, T data);
-
+ void ShowReadJsonData(void);
+ void Init(void);
+ /* -------------------------------- set与get方法 ------------------------------- */
+ void SetRaiseToBrightnessCheckBoxButtonState(void);
+ bool GetRaiseToBrightnessCheckBoxButtonState(void);
+ void SetScreenBrightnessValue(void);
+ unsigned GetScreenBrightnessValue(void);
+ void SetScreenDurationRadioButtonSlectValue(void);
+ unsigned int GetScreenDurationRadioButtonSlectValue(void);
+ void SetTradionalBlueToothToggleButtonState(void);
+ bool GetTradionalBlueToothToggleButtonState(void);
+ void SetHeartRateOrBloodOxygenQuickAccessSwitch(void);
+ int GetHeartRateOrBloodOxygenQuickAccessSwitch(void);
+ /* -------------------------------------------------------------------------- */
private:
ConfigModel(); // 私有构造函数,确保无法在外部实例化
ConfigModel(const ConfigModel &) = delete; // 禁止拷贝构造
private:
const std::string filePath = "/user/res/ConfigModel/ConfigModel.json";
cJSON *cjson_json{nullptr};
- int RaiseToBrightnessCheckBoxButtonState;
+ /* ------------------------------- json中要读取的键 ------------------------------- */
+ bool RaiseToBrightnessCheckBoxButtonState{false}; // 抬腕按钮状态 ,默认补选中
+ unsigned char ScreenBrightnessValue{255}; // 亮度值 ,默认最大亮度
+ unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏
+ bool TradionalBlueToothToggleButtonState{false}; // 用来记录蓝牙开关状态,默认关闭状态
+ int HeartRateOrBloodOxygenQuickAccessSwitch{0}; // 心率或血氧快速访问开关,默认快速访问血氧打开
+ /* -------------------------------------------------------------------------- */
};
/// @brief 通用的读取数据函数,根据字段名称从 JSON 对象中读取对应值
FILE *file = fopen(filePath.c_str(), "wb");
if (file)
{
- fputs(jsonString, file);
- //fwrite(jsonString, 1, strlen(jsonString), file); // 将 JSON 字符串写入文件
+ if (fputs(jsonString, file) != EOF) // 将 JSON 字符串写入文件
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WriteJsonData success\n");
+ }
fclose(file);
}
free(jsonString);
}
return false;
}
+
+ void ConfigModel::Init(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init");
+ /* -------------------------------- 1.加载json文件 -------------------------------- */
+ LoadJsonData();
+
+ /* ---------------------------- 2.从加载的json文件读取数据初始化 --------------------------- */
+ SetRaiseToBrightnessCheckBoxButtonState();
+ SetScreenBrightnessValue();
+ SetScreenDurationRadioButtonSlectValue();
+ SetHeartRateOrBloodOxygenQuickAccessSwitch();
+ SetHeartRateOrBloodOxygenQuickAccessSwitch();
+ /* ------------------------------ 3.显示读取到的json数据 ------------------------------ */
+ ShowReadJsonData();
+ }
+
+ /// @brief 显示读取到的json数据
+ void ConfigModel::ShowReadJsonData(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------- JsonData: ------------------------------- */\n");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButtonState:%d", RaiseToBrightnessCheckBoxButtonState);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenBrightnessValue:%d", ScreenBrightnessValue);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationRadioButtonSlectValue:%d", ScreenDurationRadioButtonSlectValue);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TradionalBlueToothToggleButtonState:%d", TradionalBlueToothToggleButtonState);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateOrBloodOxygenQuickAccessSwitch:%d", HeartRateOrBloodOxygenQuickAccessSwitch);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------------------------------------------------- */\n");
+ }
+
+ /* -------------------------------- set与get方法 ------------------------------- */
+ void ConfigModel::SetRaiseToBrightnessCheckBoxButtonState()
+ {
+ RaiseToBrightnessCheckBoxButtonState = ReadJsonData<bool>(GetcJSON(), "RaiseToBrightnessCheckBoxButtonState");
+ }
+
+ /// @brief 获取抬腕按钮状态
+ bool ConfigModel::GetRaiseToBrightnessCheckBoxButtonState(void)
+ {
+ return RaiseToBrightnessCheckBoxButtonState;
+ }
+
+ void ConfigModel::SetScreenBrightnessValue()
+ {
+ ScreenBrightnessValue = static_cast<unsigned char>(ReadJsonData<int>(GetcJSON(), "ScreenBrightnessValue"));
+ }
+
+ /// @brief 获取亮度值
+ unsigned ConfigModel::GetScreenBrightnessValue(void)
+ {
+ return ScreenBrightnessValue;
+ }
+
+ void ConfigModel::SetScreenDurationRadioButtonSlectValue()
+ {
+ ScreenDurationRadioButtonSlectValue = static_cast<unsigned int>(ReadJsonData<int>(GetcJSON(), "ScreenDurationRadioButtonSlectValue"));
+ }
+
+ /// @brief 获取亮屏时长三个单选框选中状况,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏
+ unsigned int ConfigModel::GetScreenDurationRadioButtonSlectValue(void)
+ {
+ return ScreenDurationRadioButtonSlectValue;
+ }
+
+ void ConfigModel::SetTradionalBlueToothToggleButtonState(void)
+ {
+ TradionalBlueToothToggleButtonState = (ReadJsonData<bool>(GetcJSON(), "TradionalBlueToothToggleButtonState"));
+ }
+
+ /// @brief 获取蓝牙开关状态
+ bool ConfigModel::GetTradionalBlueToothToggleButtonState(void)
+ {
+ return TradionalBlueToothToggleButtonState;
+ }
+
+ void ConfigModel::SetHeartRateOrBloodOxygenQuickAccessSwitch(void)
+ {
+ HeartRateOrBloodOxygenQuickAccessSwitch = (ReadJsonData<int>(GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch"));
+ }
+
+ /// @brief 获取“心率或血氧”快速访问开关
+ int ConfigModel::GetHeartRateOrBloodOxygenQuickAccessSwitch(void)
+ {
+ return HeartRateOrBloodOxygenQuickAccessSwitch;
+ }
}
\ No newline at end of file
bool RaiseToBrightnessCheckBoxButtonState{false}; // 抬腕按钮状态 ,默认补选中\r
unsigned char ScreenBrightnessValue{255}; // 亮度值 ,默认最大亮度\r
unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,1对应10秒后熄屏\r
- unsigned int ScreenDurationTime;\r
+ unsigned int ScreenDurationTime{10000};\r
};\r
}\r
\r
DisplayBrightnessModel::DisplayBrightnessModel()
{
ConfigModel *p_ConfigModel = ConfigModel::GetInstance();
- RaiseToBrightnessCheckBoxButtonState = p_ConfigModel->ReadJsonData<bool>(p_ConfigModel->GetcJSON(), "RaiseToBrightnessCheckBoxButtonState");
- ScreenBrightnessValue = static_cast<unsigned char>(p_ConfigModel->ReadJsonData<int>(p_ConfigModel->GetcJSON(), "ScreenBrightnessValue"));
- ScreenDurationRadioButtonSlectValue = static_cast<unsigned char>(p_ConfigModel->ReadJsonData<int>(p_ConfigModel->GetcJSON(), "ScreenDurationRadioButtonSlectValue"));
+ RaiseToBrightnessCheckBoxButtonState = p_ConfigModel->GetRaiseToBrightnessCheckBoxButtonState();
+ ScreenBrightnessValue = p_ConfigModel->GetScreenBrightnessValue();
+ ScreenDurationRadioButtonSlectValue =p_ConfigModel->GetScreenDurationRadioButtonSlectValue();
}
DisplayBrightnessModel::~DisplayBrightnessModel() {}
SecondaryFunctionModel::SecondaryFunctionModel()
{
ConfigModel *p_ConfigModel = ConfigModel::GetInstance();
- HeartRateOrBloodOxygenQuickAccessSwitch = (p_ConfigModel->ReadJsonData<bool>(p_ConfigModel->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch"));
+ HeartRateOrBloodOxygenQuickAccessSwitch = p_ConfigModel->GetHeartRateOrBloodOxygenQuickAccessSwitch();
}
SecondaryFunctionModel::~SecondaryFunctionModel() {}