{VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, "亮度调节", nullptr},
{VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, "省电模式", nullptr},
{VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, "消息通知", nullptr},
- {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr},
#ifdef SUPPORT_ALIPAY_SEC
{VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, "支付宝", nullptr},
#endif
+ {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr},
#if 0
{VIEW_LANGUAGE_SWITCH, PNG_CONNECT_PHONE_IMAGE, PNG_CONNECT_PHONE_IMAGE, "语言切换", nullptr},
{VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr},
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&
(event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))
{
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
+ NativeAbility::GetInstance().Back();
+ }
+ // 向下回到主界面
+ if (event.GetDragDirection() == DragEvent::DIRECTION_TOP_TO_BOTTOM)
+ {
+ NativeAbility::GetInstance().EnterSlice(VIEW_MAIN);
}
return true;
}
{
uint64 starttime; // 开始时间时间戳
uint64 endtime; // 结束时间时间戳
- uint64 duration; // 训练时长
+ int duration; // 训练时长
int goaldegree; // 目标完成度
int calories; // 训练卡路里
int steps; // 训练步数
/*解析时间戳*/
std::string AnalysisTimestamp(uint64_t timestamp);
/*获取运动总时长*/
- uint32_t GetTrainingTime();
+ std::string GetTrainingTime();
/*设置训练目标类型以及训练目标*/
void SetSportTag(ExerciseTag tagtpye, int tag);
/*获取训练目标*/
scrollView_->Add(labelsteps);
// 初始化button
- TraingModel::GetInstance()->InitButtonExt(buttonexit, 42, 1319 - 338, 380, 100, BUTTONBACK, STR_OFF, 30);
+ TraingModel::GetInstance()->InitButtonExt(buttonexit, 42, 1111, 380, 100, BUTTONBACK, STR_OFF, 30);
buttonexit->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingEnddataPresenter::GetInstance()));
scrollView_->Add(buttonexit);
}
labeltag->SetText(tagStr.c_str());
}
// 运动时长
- uint64_t time = TraingModel::GetInstance()->GetTrainingTime();
- std::string timeStr = TraingModel::GetInstance()->AnalysisTimestamp(time);
+ PRINT("duration:%d\r\n", enddata->duration);
+ std::string timeStr = TraingModel::GetInstance()->GetTrainingTime();
labeltime->SetText(timeStr.c_str());
// 运动距离
std::string heartStr = std::to_string(enddata->avgheart);
labelheart->SetText(heartStr.c_str());
+ // 步数
+ std::string stepStr = std::to_string(enddata->steps);
+ labelsteps->SetText(stepStr.c_str());
+
// 训练强度
UIResourceTextId intensityid = TraingModel::GetInstance()->GetIntensity();
labelstrong->SetTextId(intensityid);
sportdata->avgheart = CalculateAverageHeartRate(cyweeInfo->hrs); // 处理平均心率
}
// sportdata->duration = cyweeInfo->duration;
- PRINT("normal sportdata->calories[%d],sportdata->duration[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->duration, sportdata->heart);
+ PRINT("normal sportdata->calories[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->heart);
switch (type)
{
case ExerciseClass::OUTDOOR:
}
}
// 获取训练时长时间戳
- uint32_t TraingModel::GetTrainingTime()
+ std::string TraingModel::GetTrainingTime()
{
- return (sportdata->endtime - sportdata->starttime);
+ int hour = sportdata->duration / NUM_TIME_HOUR;
+ int min = (sportdata->duration % NUM_TIME_HOUR) / NUM_TIME_MIN;
+ int sec = (sportdata->duration % NUM_TIME_HOUR) % NUM_TIME_MIN;
+
+ std::ostringstream oss;
+ oss << std::setfill('0') << std::setw(2) << hour << ":" << std::setw(2) << min << ":" << std::setw(2) << sec;
+
+ std::string triningtime = oss.str();
+ return triningtime;
}
/*解析时间戳 返回例如:13:00:22*/
std::string TraingModel::AnalysisTimestamp(uint64_t timestamp)
break;
}
}
- /*获取对应的训练目标的值*/
int TraingModel::GetSportTagData()
{
if (sportTag_)
switch (sportdata->sportTagType)
{
case ExerciseTag::Duration:
- return sportdata->duration;
+ return int(sportdata->duration / 60); // 时间是秒需要转换为目标的分钟
break;
case ExerciseTag::Calories:
return sportdata->calories;
}
}
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Not set Sport_Tag!");
+ return 0; // 添加默认返回值
}
/*获取训练目标完成百分比*/
int TraingModel::GetGoaldegree()
data.tgt = static_cast<uint32_t>(sportdata->sportTagType);
data.tg = static_cast<uint32_t>(sportdata->tag);
data.pg = static_cast<uint32_t>(sportdata->goaldegree);
- data.du = static_cast<uint32_t>(sportdata->duration);
+ data.du = static_cast<uint32_t>((sportdata->duration) * 60);
data.ca = static_cast<uint32_t>(sportdata->calories);
data.di = static_cast<uint32_t>(sportdata->distance);
data.hr = static_cast<uint32_t>(sportdata->avgheart);
{
g_motionTimes = 0;
}
+ if (g_motionTimes != 0)
+ {
+ sportdata->duration = g_motionTimes; // 训练时长
+ PRINT("duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes);
+ }
int hour = g_motionTimes / NUM_TIME_HOUR;
int min = (g_motionTimes % NUM_TIME_HOUR) / NUM_TIME_MIN;
#define MAXSPORTID 176\r
\r
#define DEFAULT_DASH "--"\r
+#define DATATEST 0\r
\r
extern "C"\r
{\r
{\r
distanceStr = DEFAULT_DASH;\r
}\r
- std::string durationStr = std::to_string(sportdata->duration);\r
+ //std::string durationStr = std::to_string(sportdata->duration);\r
std::string heartStr = (sportdata->heart != 0) ? std::to_string(sportdata->heart) : DEFAULT_DASH;\r
std::string stepsStr = (sportdata->steps != 0) ? std::to_string(sportdata->steps) : DEFAULT_DASH;\r
std::string calorieStr = (sportdata->calories != 0) ? std::to_string(sportdata->calories) : DEFAULT_DASH;\r
{\r
TraingModel::GetInstance()->SetSportState(ExerciseState::End);\r
ControlSensor(ExerciseState::End);\r
+#ifdef DATATEST\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGENDDATA);\r
+#else\r
if (TraingModel::GetInstance()->GetMomentum())\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGENDDATA);\r
}\r
else\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);\r
+ // 训练量不足进入训练记录界面\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING_RECORD);\r
}\r
+#endif\r
}\r
// 返回按键\r
if (strcmp(view.GetViewId(), BUTTONBACK) == 0)\r
}\r
else\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);\r
+ // 训练量不足进入训练记录界面\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING_RECORD);\r
}\r
return true;\r
}\r