#include "wearable_log.h"
#include "components/ui_image_animator.h"
#include "vector"
+
+struct dial_config
+{
+ std::string dialname;
+ int dialid;
+};
+extern struct dial_config global_dial_config;
namespace OHOS
{
class ConfigModel
char *oper;
// uint8_t signal;
};
- struct dial_config
- {
- char *dialname;
- int dialid;
- };
public:
static ConfigModel *GetInstance();
void WriteJsonData_VectorInt(cJSON *json_obj, const char *field_name, const std::vector<int> &data);
void WriteJsonData_VectorDouble(cJSON *json_obj, const char *field_name, const std::vector<double> &data);
void WriteJsonData_VectorString(cJSON *json_obj, const char *field_name, const std::vector<std::string> &data);
-
+
void WriteJsonToFile(const char *json_string, const char *file_path);
/* -------------------------------------------------------------------------- */
void ShowReadJsonData(void);
bool TradionalBlueToothToggleButtonState{false}; // 用来记录蓝牙开关状态,默认关闭状态
int HeartRateOrBloodOxygenQuickAccessSwitch{0}; // 心率或血氧快速访问开关,默认快速访问血氧打开
int dialid_; // 表盘Id
- char *dialname_; // 表盘名称
+ std::string dialname_; // 表盘名称
int languageid_; // 语言状态
char *imei_str = NULL;
char *pyVer = NULL;
return HeartRateOrBloodOxygenQuickAccessSwitch;
}
+ /* --------------------------------- 表盘信息操作 --------------------------------- */
void ConfigModel::SetDialId(dial_config *dial)
{
dialid_ = dial->dialid;
dialname_ = dial->dialname;
- WriteJsonData<int>(GetcJSON(), "Dial_Id", dialid_);
- WriteJsonData<char *>(GetcJSON(), "Dial_Name", dialname_);
+ // 写入json数据
+ WriteJsonData_Int(GetcJSON(), "Dial_Id", dialid_);
+ WriteJsonData_String(GetcJSON(), "Dial_Name", dialname_.c_str());
}
dial_config *ConfigModel::GetDialId()
{
+ // 读取json数据
dialid_ = (ReadJsonData<int>(GetcJSON(), "Dial_Id"));
- dialname_ = (ReadJsonData<char *>(GetcJSON(), "Dial_Name"));
+ dialname_ = ReadJsonData_String(GetcJSON(), "Dial_Name");
dial_config *dial = new dial_config();
dial->dialid = dialid_;
dial->dialname = dialname_;
return dial;
}
-
+ /* -------------------------------------------------------------------------- */
void ConfigModel::SetLanguage(int language)
{
languageid_ = language;
virtual ~DialUpdateModel();
std::string dialConfigPath = "user/res/dialupdate/dial_config.json"; // JSON文件路径
uint8_t Current_dial; // 目前表盘
+ std::string Current_dialname; // 表盘名称
bool readstaust{false};
};
}
*/
uint8_t DialUpdateModel::GetDialConfigPath()
{
- // 避免多次访问
if (!readstaust)
{
read_dial();
readstaust = true;
}
+
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetDialConfigPath:%d", Current_dial);
+
dial_config *dial = ConfigModel::GetInstance()->GetDialId();
- char *Current_dialname = dial.dialname;
- Current_dial = dial.dialid;
- if (strcmp(dialInfo_1[Current_dial].title, Current_dialname) != 0)
+ Current_dialname = dial->dialname;
+ Current_dial = dial->dialid;
+
+ if (strcmp(dialInfo_1[Current_dial].title, Current_dialname.c_str()) != 0)
{
for (int i = 0; i < dial_num; i++)
{
- if (strcmp(Current_dialname, dialInfo_1[i].title) == 0)
+ if (strcmp(Current_dialname.c_str(), dialInfo_1[i].title) == 0)
{
Current_dial = i;
break;
}
}
}
+
+ delete dial; // 释放动态分配的内存
+
return Current_dial;
}
if (dialpathid != Current_dial)
{
Current_dial = dialpathid; // 更新表盘Id
- char *Current_dialname = dialInfo_1[Current_dial].title;
+ Current_dialname = dialInfo_1[Current_dial].title;
dial_config *dial = new dial_config();
dial->dialid = Current_dial;
dial->dialname = Current_dialname;
ConfigModel::GetInstance()->SetDialId(dial);
+ delete dial; // 释放动态分配的内存
}
}
static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_Y = 0;
static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_W = 466;
static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_H = 466;
- static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 36; // 图片帧数
+ static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 30; // 图片帧数
static constexpr int16_t SHUTDOWN_IMAGE_ANIMATOR_TIME = 150; // 图片更新间隔
static constexpr char *ShutDownPaths = "/user/res/RebootAndShutDown/ShutDown/"; //关机图片路径
class ShutDownAnimatorView
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_BALL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_OTHER_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器
{
p_TraingRestListAdapter->AddItem(item);
}
- void TraingRestView::InitView()
+ void TraingRestView::InitView()
{
if (scrollView == nullptr)
{
/* -------------------------------------------------------------------------- */
// 初始化Lable
- TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ TraingModel::GetInstance()->InitLabelExt(title, 125, 52, 200, 60, "label1", STR_RECREATIONAL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
scrollView->Add(title);
// UIList 的适配器