EXTREME,
OTHER
};
+ // 训练目标类型
+ enum class ExerciseTag
+ {
+ Duration,
+ Calories,
+ Distance
+ };
struct SportData
{
uint64 starttime; // 开始时间时间戳
int intensity; // 训练强度 (0:较低强度 1:中等强度 2:高等强度 3:超高强度)
int heart; // 运动心率
int avgheart; // 训练平均心率
+ int tag; // 训练目标
std::string start_date; // 训练开始日期
std::string start_time; // 训练开始时间
std::string end_time; // 训练结束时间
Exercisetype sportType; // 训练类型
UIResourceTextId sportId; // 训练Id
+ ExerciseTag sportTag; // 训练目标类型
void Initialize()
{
intensity = 1;
heart = 0;
avgheart = 0;
+ tag = 0;
start_date = nullptr;
start_time = nullptr;
end_time = nullptr;
sportType = Exercisetype::FITNESS;
sportId = UIResourceTextId::STR_EXTREME_SPORTS;
+ sportTag = ExerciseTag::Duration;
}
void Reset()
std::string AnalysisTimestamp(uint64_t timestamp);
/*获取运动总时长*/
uint32_t GetTrainingTime();
+ /*设置训练目标类型以及训练目标*/
+ void SetSportTag(ExerciseTag tagtpye, int tag);
std::string GetStartTiemStr();
std::string GetEndTiemStr();
std::string motionDuration; // 显示训练时长
UIResourceTextId sportId_ = STR_EXTREME_SPORTS; // 训练项目
Exercisetype sportType_ = Exercisetype::FITNESS; // 训练类型
- ExerciseState sportstate_ = ExerciseState::General; // 训练状态
- // std::string startdate_{nullptr};
- // std::string starttime_{nullptr};
- // std::string endtime_{nullptr};
+ ExerciseState sportState_ = ExerciseState::General; // 训练状态
+ ExerciseTag sportTag_ = ExerciseTag::Distance; // 训练目标类型
+
+ int tag_ = 0; // 训练目标
int totalHeartRate = 0;
int countHeartRate = 0;
/*std::unique_ptr<SportData> sportdata;*/ // 使用 std::unique_ptr 管理 SportData 对象
/*设置运动状态*/
void TraingModel::SetSportState(ExerciseState state)
{
- sportstate_ = state;
+ sportState_ = state;
}
/*获取运动状态*/
ExerciseState TraingModel::GetSportState()
{
- return sportstate_;
+ return sportState_;
}
void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo)
{
ExerciseState currentState = GetSportState(); // 获取当前运动状态
if (currentState == ExerciseState::Start)
{
- sportdata->Reset();//重置结构体
+ sportdata->Reset(); // 重置结构体
sportdata->starttime = time;
char *start_date = (char *)malloc(9 * sizeof(char)); // 分配内存给start_date
if (uapi_get_YYMMDD_Time(start_date, '/') != ERRCODE_SUCC)
int averageHeartRate = totalHeartRate / countHeartRate; // 计算平均心率
return averageHeartRate;
}
+ /*设置训练目标类型以及训练目标*/
+ void TraingModel::SetSportTag(ExerciseTag tagtpye, int tag)
+ {
+ sportTag_ = tagtpye;
+ tag_ = tag;
+ }
/* -------------------------------------------------------------------------- */
#if TIMER
/* 时间显示 */
\r
// 初始化Lable\r
UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent();\r
- TraingModel::GetInstance()->InitLabelExt(labeltitle, 173, 52, 120, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ TraingModel::GetInstance()->InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
- TraingModel::GetInstance()->InitLabel(labeltime, 130, 150, 60, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- TraingModel::GetInstance()->InitLabel(labelKcal, 130, 270, 60, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ TraingModel::GetInstance()->InitLabel(labeltime, 100, 150, 150, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ TraingModel::GetInstance()->InitLabel(labelKcal, 100, 270, 150, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
container_->Add(labeltitle);\r
container_->Add(labeltime);\r
\r
bool TraingCardPresenter::OnDrag(UIView &view, const DragEvent &event)\r
{\r
- // uint8_t viewid = TraingCardView::GetInstance()->GetCurrentPage();\r
- // // const char *viewid = view.GetViewId();\r
- // if (viewid == Control_Card::DATA)\r
- // {\r
- // if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)\r
- // {\r
- // NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGDETAIL);\r
- // }\r
- // return true;\r
- // }\r
UNUSED(view);\r
return true;\r
}\r
}\r
return true;\r
}\r
+\r
}\r