From f592f5ce7e28a35b98324e5f27033dc72079138e Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Thu, 25 Apr 2024 12:55:06 +0000 Subject: [PATCH] Merge #85 into xts_origin from refs/changes/85/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from 袁清梦 * refs/changes/85/head: (2 commits squashed) - 训练目标同步设置 - Merge branch 'xts_origin' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into xts_origin Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/85 --- .../nativeui/traing/include/TraingModel.h | 2 +- .../nativeui/traing/src/TraingModel.cpp | 15 ++-- .../training_card/src/TraingCardPresenter.cpp | 75 ++++++++++--------- 3 files changed, 48 insertions(+), 44 deletions(-) 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 b8997df60..6edd1c60b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -137,8 +137,8 @@ namespace OHOS enum class ExerciseTag { Distance, - Duration, Calories, + Duration, STEP, UNKNOW, }; 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 342e56364..b408865a0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -33,6 +33,7 @@ #define TIMER 1 #define BLETEST 0 #define HARD_OFF 1 +#define READTEST 0 #define TRAINING_PATH "user/userdata/sport/TrainingData/" #define MAX_HEART_RATE 220 @@ -189,7 +190,7 @@ namespace OHOS TraingSubscribeTopic(TOPIC_EVENT_ACTIVITY_UPDATE); // 进行消息订阅 TraingSubscribeTopic(TOPIC_EVENT_BLE_TRAINING); } - /*设置运动类型*/ + /*设置运动类型*/ void TraingModel::SetSportType(Exercisetype type) { sportType_ = type; @@ -386,12 +387,12 @@ namespace OHOS free(end_time); // 释放内存 PRINT("sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str()); - +#if READTEST if (SaveSportData() == false) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SaveSportData error!"); } -#if 0 +#else /*存储正常数据[运动量达标]*/ if (MomentumFlag) { @@ -619,18 +620,20 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "write_Trainingdata_data is error!"); return false; } - /*test*/ +#if READTEST Trainingdata *readdata{nullptr}; int i = 0; - while (readdata = read_Trainingdata_data("2024_04_24", i)) + while (readdata = read_Trainingdata_data("2024_04_25", i)) { + if (readdata == NULL) + return; printTrainingData(*readdata); // delete readdata; free(readdata); i++; } - +#endif return true; // delete data; } 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 d85f1d2d9..d89bb687c 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 @@ -291,38 +291,46 @@ namespace OHOS return false; } + //命令为设置目标 + if (cmd->controlmd == 4) + { + TraingModel::GetInstance()->SetSportTag(static_cast(cmd->sportTagType), cmd->sportTag); + return true; //设置目标为单指令 + } + uapi_set_screen_on_api(); // 亮屏检测 if (TraingCardView::GetInstance() == nullptr) { NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD); // 切换Slice + //对训练项目的选择只进行一次判断 + switch (cmd->sportType) + { + // 室外走路 + case 0: + OpenSensor(ExerciseClass::FREE_TRAINING); + break; + // 室外跑步 + case 1: + OpenSensor(ExerciseClass::OUTDOOR); + break; + // 室外骑行 + case 2: + OpenSensor(ExerciseClass::FREE_TRAINING); + break; + default: + break; + } } // 增加打印 PRINT("cmd->sportType[%d],cmd->controlmd[%d],cmd->sportTagType[%d],cmd->sportTag[%d]\r\n", cmd->sportType, cmd->controlmd, cmd->sportTagType, cmd->sportTag); - switch (cmd->sportType) - { - // 室外走路 - case 0: - OpenSensor(ExerciseClass::FREE_TRAINING); - break; - // 室外跑步 - case 1: - OpenSensor(ExerciseClass::OUTDOOR); - break; - // 室外骑行 - case 2: - OpenSensor(ExerciseClass::FREE_TRAINING); - break; - default: - break; - } - ExerciseState cmdState = static_cast(cmd->controlmd); PRINT("ExerciseState::End [%d]\r\n", cmdState); - // 结束 - if (cmdState == ExerciseState::End) + switch (cmdState) + { + case ExerciseState::End: { PRINT("ExerciseState::End [%d]\r\n", cmdState); TraingModel::GetInstance()->SetSportState(ExerciseState::End); @@ -333,46 +341,39 @@ namespace OHOS } else { - // 训练量不足进入训练记录界面 NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING_RECORD); } - return true; + break; } - // 暂停和恢复 - if (cmdState == ExerciseState::Pause) + case ExerciseState::Pause: { PRINT("ExerciseState %d\r\n", cmdState); TraingModel::GetInstance()->SetSportState(cmdState); TrainingControlView::GetInstance()->GetLabel()->SetText("继续"); TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_CONTINUE_IMAGE, SPORT_CONTINUE_IMAGE); - // 设置为暂停状态 TraingModel::GetInstance()->SetSportState(ExerciseState::Pause); - // 暂停计时器 PauseTimer(); - // 暂停运动库 ControlSensor(ExerciseState::Pause); - return true; + break; } - if (cmdState == ExerciseState::Continue) + case ExerciseState::Continue: { - // 暂停状态 TrainingControlView::GetInstance()->GetLabel()->SetText("暂停"); TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE); - // 设置为继续状态 TraingModel::GetInstance()->SetSportState(ExerciseState::Continue); - // 恢复计时器 ResumeTimer(); - // 恢复运动库 ControlSensor(ExerciseState::Continue); - return true; + break; } - if (cmdState == ExerciseState::Start) + case ExerciseState::Start: { PRINT("ExerciseState::Start [%d]\r\n", cmdState); - // 开启运动 ControlSensor(cmdState); - // 设置APP开启运动 TraingModel::GetInstance()->SetSportOpenWay(true); + break; + } + default: + break; } return true; -- 2.17.1