// static char *JSON_F_buf=NULL;
HealthService::HealthService() {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HealthService::HealthService");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HealthService::HealthService");
g_pHealthService = this;
}
HealthService::~HealthService() { g_pHealthService = nullptr; }
buffer << inFile.rdbuf();
std::string jsonDataString = buffer.str();
const char *jsonData = jsonDataString.c_str();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jsonData: %s", jsonData);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "jsonData: %s", jsonData);
// 关闭文件
inFile.close();
buffer << inFile.rdbuf();
std::string jsonDataString = buffer.str();
const char *jsonData = jsonDataString.c_str();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jsonData: %s", jsonData);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "jsonData: %s", jsonData);
// 关闭文件
inFile.close();
if (jsonDataString.empty()) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "jsonDataString is empty");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "jsonDataString is empty");
return nullptr;
}
cJSON_Delete(heart_root);
free(jsonData);
outFile.close();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateHealthData Heart JSON is ok");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateHealthData Heart JSON is ok");
// 写入文件到当天历史数据
UpdateHourlyHeartRate(data.timestamp, data.Heart);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateHourlyHeartRate is ok");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateHourlyHeartRate is ok");
if (!SaveDailyHeartRate()) // 进行心率历史数据文件存储
{
HeartModel::GetInstance()->ClearDisplayData();
// BloodOxygenModel::GetInstance()->ClearDisplayData();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CleanHealthData is ok");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CleanHealthData is ok");
return true;
}
return true; // 成功读取
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadDailyHeartRate is not today");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LoadDailyHeartRate is not today");
return false; // 不是今日
}
}
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveDailyHeartRate is ok");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SaveDailyHeartRate is ok");
return true; // 成功保存
}
return false;
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveHeartMaxMin is ok max %d, min %d",
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SaveHeartMaxMin is ok max %d, min %d",
max, min);
return true;
}
return;
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LoadHeartMaxMin is ok max %d, min %d",
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "LoadHeartMaxMin is ok max %d, min %d",
max, min);
}
uint16_t index_ = HeartModel::GetInstance()->GetIndex();\r
HeartDatas *heartInfo = (HeartDatas *)malloc(sizeof(HeartDatas));\r
if (heartInfo == NULL) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[Notify] malloc fail");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[Notify] malloc fail");\r
return;\r
}\r
\r
}\r
\r
if (state == HeartState::End && heartstate == true) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartState End");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartState End");\r
//状态数全部清空\r
valid_counter_ = 0;\r
disvalid_counter_ = 0;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "充电不能检测");\r
return;\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartState Start");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartState Start");\r
uint8_t md = PPG_SERVICE_CMD_TYPE_DO_PPG_TEST;\r
send_ppg_cmd_msg(md);\r
heartstate = true;\r
//被动\r
if (checkstate == HeartCheck::PASSIVITY) {\r
uapi_dev_runtime_set_hrs_passivity(1);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"uapi_dev_runtime_set_hrs_passivity(1)");\r
}\r
}\r
Heart_Control(HeartState::Start, check);\r
// ScreenTurnOn(60 * 1000); // 亮屏操作 600000ms 60秒关闭\r
sensorstate = true;\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "开始心率检测");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "开始心率检测");\r
// 设置runtime\r
if (uapi_dev_runtime_get_heartrate_detect_status() == 0) {\r
uapi_dev_runtime_set_heartrate_detect_status(1);\r
//重置传感器状态\r
sensorstate = false;\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "本次心率检测结束");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "本次心率检测结束");\r
}\r
}\r
// 保存检测数据\r
#else\r
HealthService::GetInstance()->send_heart_save();\r
#endif\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "保存的心率数据:%d%ld",\r
+ // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "保存的心率数据:%d%ld",\r
// currentheart,data.timestamp);\r
}\r
\r
if (thresholdState == 0 && currentheart < thresholdValue) {\r
// 当前心率低于阈值\r
heartresult_ = HeartResult::LOW_RESULT;\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"检测结果:低结果情况,currentheart=%d,ThresholdValue=%d",\r
currentheart, thresholdValue);\r
} else if (thresholdState == 1 && currentheart > thresholdValue) {\r
// 当前心率高于阈值\r
heartresult_ = HeartResult::HIGH_RESULT;\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"检测结果:高结果情况,currentheart=%d,ThresholdValue=%d",\r
currentheart, thresholdValue);\r
}\r
void HeartModel::handleHeartResult() {\r
switch (heartresult_) {\r
case HeartResult::SUCCESS:\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:成功");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:成功");\r
Heart_Save();\r
// 更新曲线\r
GraphicService::GetInstance()->PostGraphicEvent(\r
break;\r
\r
default:\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:未知状态");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:未知状态");\r
break;\r
}\r
}\r
(result == HeartResult::NOT_WORN)\r
? "未佩戴状态"\r
: (result == HeartResult::TIMEOUT) ? "超时" : "无效数据";\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:%s情况", resultMsg);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:%s情况", resultMsg);\r
NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_ABNORMAL);\r
}\r
// 处理低心率情况\r
void HeartModel::handleLowHeartRate() {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:低结果情况");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:低结果情况");\r
HealthState lowHealthState = {BLOOD_CHECK, LOW, thresholdValue};\r
HealthService::GetInstance()->SetHealthCurrent(lowHealthState);\r
NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID);\r
}\r
// 处理高心率情况\r
void HeartModel::handleHighHeartRate() {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:高结果情况");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:高结果情况");\r
HealthState highHealthState = {BLOOD_CHECK, HIGH, thresholdValue};\r
HealthService::GetInstance()->SetHealthCurrent(highHealthState);\r
NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID);\r
// 设置佩戴状态\r
void HeartModel::SetWearStatus() {\r
\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "佩戴状态 %d %d",\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "佩戴状态 %d %d",\r
uapi_dev_runtime_get_heartrate_detect_status(),\r
unwear_counter_);\r
\r
max_valid_count = MAX_DISVALID_HRS_COUNT;\r
\r
if (disvalid_counter_ >= max_valid_count) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"检测结果:无效数达标 disvalid_counter:%d", disvalid_counter_);\r
SetResult(HeartResult::INVALID_DATA); // 标记为无效数据\r
Heart_Stop();\r
\r
// 检查有效计数器是否达标\r
if (valid_counter_ >= MAX_VALID_HRS_COUNT) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"检测结果:成功 valid_counter:%d currentheart:%d",\r
valid_counter_, currentheart);\r
SetResult(HeartResult::SUCCESS); // 标记为成功检测\r
}\r
\r
// 刷新心率显示\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"[heart data update displayheart%d displayheart_max%d "\r
"displayheart_min%d]",\r
displayheart, displayheart_max, displayheart_min);\r
}\r
\r
void HeartModel::Heart_Update_View(void) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新心率界面");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "更新心率界面");\r
int hour = HealthService::GetInstance()->GetCurrentHour();\r
if (HeartRateView::GetInstance() != nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新主界面卡片");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "更新主界面卡片");\r
HeartRateView::GetInstance()->Update_data_Chart(hour);\r
}\r
if (HeartChartView::GetInstance() != nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新测量心率卡片");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "更新测量心率卡片");\r
HeartChartView::GetInstance()->Update_data_Chart(hour);\r
}\r
}\r
\r
void HeartModel::CleanAllData(void) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Nextday!");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Nextday!");\r
if (MainViewSample::GetInstance() != nullptr &&\r
HeartRateView::GetInstance() != nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新主界面心率卡片");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "更新主界面心率卡片");\r
HeartRateView::GetInstance()->CleanAllDataView();\r
}\r
if (HeartChartView::GetInstance() != nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新测量心率卡片");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "更新测量心率卡片");\r
HeartChartView::GetInstance()->CleanAllDataView();\r
}\r
}\r
\r
// 打印动态心率数据\r
for (int i = 0; i < 5; i++) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dynamic_heartrate[%d]=%d", i,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "dynamic_heartrate[%d]=%d", i,\r
dynamic_heartrate[i]);\r
}\r
}\r
// 获取检测数据\r
if (currentheart == 0) {\r
check_string = "暂无检测数据";\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测数据:%s",\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测数据:%s",\r
check_string.c_str()); // 打印无检测数据信息\r
return check_string; // 直接返回,无需继续处理\r
}\r
uint32_t currentTime;\r
if (uapi_get_timestampe_ss(¤tTime) != ERRCODE_SUCC) {\r
check_string = "获取当前时间戳失败"; // 如果获取时间戳失败,返回相应的信息\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"获取当前时间戳失败"); // 打印错误信息\r
return check_string; // 直接返回,无法进行后续计算\r
}\r
// 检查时间戳是否有效\r
if (timestamp_ms == 0) {\r
check_string = std::to_string(currentheart) + " " + "时间戳无效,无法检测";\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "时间戳无效,无法检测:%s",\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "时间戳无效,无法检测:%s",\r
check_string.c_str());\r
return check_string; // 直接返回,无需继续处理\r
}\r
uint32_t diff_min = diff / 60; // 计算分钟差\r
uint32_t diff_hour = diff_min / 60; // 计算小时差\r
\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "当前时间:%d,上次检测时间:%d",\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "当前时间:%d,上次检测时间:%d",\r
currentTime, timestamp_ms); // 打印时间信息\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"时间差(秒):%d,时间差(分钟):%d,时间差(小时):%d", diff, diff_min,\r
diff_hour); // 打印时间差信息\r
\r
check_string = std::to_string(currentheart) + "次/分 " + "超过一个小时前";\r
}\r
\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果:%s",\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:%s",\r
check_string.c_str()); // 打印最终检测结果\r
return check_string;\r
}\r
static uint16_t SCREEN_60S_TIME = 60;\r
\r
static void heart_start_screen60s_timer_callbackProc(int data) {\r
- WEARABLE_LOGE(\r
+ WEARABLE_LOGD(\r
WEARABLE_LOG_MODULE_APP,\r
"HeartModel::heart_start_screen60s_timer_callbackProc,time = %d",\r
SCREEN_60S_TIME);\r
SCREEN_60S_TIME -= 30;\r
- WEARABLE_LOGE(\r
+ WEARABLE_LOGD(\r
WEARABLE_LOG_MODULE_APP,\r
"HeartModel::heart_start_screen60s_timer_callbackProc,time = %d",\r
SCREEN_60S_TIME);\r
HeartModel::GetInstance()->heart_stop_screen60s_timer();\r
// 取消常亮屏\r
ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heart_stop_screen60s_timer");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "heart_stop_screen60s_timer");\r
}\r
}\r
static void heart_start_screen60s_timer_callback(int data) {\r
std::bind(heart_start_screen60s_timer_callbackProc, data));\r
}\r
void HeartModel::heart_start_screen60s_timer(uint32_t interval) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"HeartModel::heart_start_screen60s_timer");\r
/* -------------------------- 1.检查定时器是否已经存在,如果存在则返回\r
* ------------------------- */\r
if (g_screen60s_timer != nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");\r
return;\r
}\r
/* --------------------------------- 2.创建定时器\r
// 计算行数
int totalChars = messageStr.size();
int lines = (totalChars / maxCharsPerLine) + (totalChars % maxCharsPerLine ? 1 : 0);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateShowConfig lines %d", lines);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateShowConfig lines %d", lines);
// 小于等于2行时,无需更新
if (lines <= 2)
deleteButton->SetPosition(43, 157 + updatedRectWidth + 20, 380, 100);
/*加载空白*/
- CreateLine(background, 43, 157 + updatedRectWidth + 20 + 50, 380, 100,
+ CreateLine(background, 43, deleteButton->GetY() + deleteButton->GetHeight() + 40, 380, 100,
"line");
background->SetVisible(false);
container_->Add(background);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "updatedRectWidth %d updatedLabelWidth %d lines %d \r\n", updatedRectWidth, updatedLabelWidth, lines);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "updatedRectWidth %d updatedLabelWidth %d lines %d \r\n", updatedRectWidth, updatedLabelWidth, lines);
}
void MessageShowView::InitView()
{
title = new UILabel();
if (title == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "title:: new UILabel fail");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "title:: new UILabel fail");
return; // 内存分配失败,返回
}
title->SetPosition(83, 60, 300, 35);
time = new UILabel();
if (time == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time:: new UILabel fail");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "time:: new UILabel fail");
return; // 内存分配失败,返回
}
time->SetPosition(73, 104, 320, 33);
container_->Add(messageButton);
container_->Add(deleteButton);
/* -------------------------------------------------------------------------- */
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitView is ok!");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitView is ok!");
// UpdateMessage();
}
void MessageShowView::UpdateMessage()
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateMessage");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateMessage");
MessageData *data = MessageModel::GetInstance().GetCurrentMessageData();
if (data == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateMessage is error");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateMessage is error");
return;
}
titleStr = data->labelTitle;
container_ = new UIScrollView();
if (container_ == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "container_ new fail");
return;
}
container_->SetPosition(0, 0);