From: Caisking <3449750381@qq.com> Date: Wed, 17 Apr 2024 12:42:14 +0000 (+0800) Subject: 增加训练目标以及训练目标类型接口 X-Git-Tag: release_V1.2.70_20241020_135402~1174^2~5 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=442eed4f3abb3421dcc36c672c1c568af946ac8f;p=mirrors%2FFD230.git 增加训练目标以及训练目标类型接口 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h index f37743c69..7455ced96 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -145,6 +145,13 @@ namespace OHOS EXTREME, OTHER }; + // 训练目标类型 + enum class ExerciseTag + { + Duration, + Calories, + Distance + }; struct SportData { uint64 starttime; // 开始时间时间戳 @@ -157,11 +164,13 @@ namespace OHOS 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() { @@ -175,11 +184,13 @@ namespace OHOS 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() @@ -233,6 +244,8 @@ namespace OHOS std::string AnalysisTimestamp(uint64_t timestamp); /*获取运动总时长*/ uint32_t GetTrainingTime(); + /*设置训练目标类型以及训练目标*/ + void SetSportTag(ExerciseTag tagtpye, int tag); std::string GetStartTiemStr(); std::string GetEndTiemStr(); @@ -247,10 +260,10 @@ namespace OHOS 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;*/ // 使用 std::unique_ptr 管理 SportData 对象 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index 78a8467f1..ac1c45373 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -373,12 +373,12 @@ namespace OHOS /*设置运动状态*/ void TraingModel::SetSportState(ExerciseState state) { - sportstate_ = state; + sportState_ = state; } /*获取运动状态*/ ExerciseState TraingModel::GetSportState() { - return sportstate_; + return sportState_; } void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo) { @@ -430,7 +430,7 @@ namespace OHOS 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) @@ -517,6 +517,12 @@ namespace OHOS int averageHeartRate = totalHeartRate / countHeartRate; // 计算平均心率 return averageHeartRate; } + /*设置训练目标类型以及训练目标*/ + void TraingModel::SetSportTag(ExerciseTag tagtpye, int tag) + { + sportTag_ = tagtpye; + tag_ = tag; + } /* -------------------------------------------------------------------------- */ #if TIMER /* 时间显示 */ diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetView.cpp index d15c3ab8a..bdb4ce208 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetView.cpp @@ -53,10 +53,10 @@ namespace OHOS // 初始化Lable UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent(); - TraingModel::GetInstance()->InitLabelExt(labeltitle, 173, 52, 120, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30); + TraingModel::GetInstance()->InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30); - TraingModel::GetInstance()->InitLabel(labeltime, 130, 150, 60, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30); - TraingModel::GetInstance()->InitLabel(labelKcal, 130, 270, 60, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30); + TraingModel::GetInstance()->InitLabel(labeltime, 100, 150, 150, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30); + TraingModel::GetInstance()->InitLabel(labelKcal, 100, 270, 150, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30); container_->Add(labeltitle); container_->Add(labeltime); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp index d606ff0de..31fa6f1ad 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp @@ -72,16 +72,6 @@ namespace OHOS bool TraingCardPresenter::OnDrag(UIView &view, const DragEvent &event) { - // uint8_t viewid = TraingCardView::GetInstance()->GetCurrentPage(); - // // const char *viewid = view.GetViewId(); - // if (viewid == Control_Card::DATA) - // { - // if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) - // { - // NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGDETAIL); - // } - // return true; - // } UNUSED(view); return true; } @@ -268,4 +258,5 @@ namespace OHOS } return true; } + }