From: Caisking <3449750381@qq.com> Date: Mon, 22 Apr 2024 03:59:18 +0000 (+0800) Subject: 优化训练蓝牙控制接口 X-Git-Tag: release_V1.2.70_20241020_135402~1156 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=b55568b6628053fe218dc26d52411e1268c79c9f;p=mirrors%2FFD230.git 优化训练蓝牙控制接口 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h index 604c5be2d..a8e0bf083 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h @@ -81,7 +81,7 @@ namespace OHOS void ShowGetTagView(); void ShowEndView(); bool RefreshEndView(); - UIView *GetTraingCrad(); + UICrossView *GetTraingCrad(); int GetCurrentPage(); void SetPopupViewStatus(PopupType type, bool status); UIImageAnimatorView *GetAnimator(); 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 5ce122822..fd78117d9 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 @@ -304,10 +304,19 @@ namespace OHOS default: break; } - + ExerciseState cmdState = static_cast(cmd->controlmd); + if (TraingCardView::GetInstance()->GetTraingCrad()->GetCurrentPageId() != Control_Card::CONTROL && cmdState != ExerciseState::Start) + { + // 跳转卡片界面 + TraingCardView::GetInstance()->GetTraingCrad()->SetHorCurrentPage(Control_Card::CONTROL); + } + + // 结束 if (cmdState == ExerciseState::End) { + TraingModel::GetInstance()->SetSportState(ExerciseState::End); + ControlSensor(ExerciseState::End); if (TraingCardView::GetInstance()->RefreshEndView()) { // 进行存储操作? @@ -317,8 +326,36 @@ namespace OHOS { NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE); } + return true; + } + // 暂停和恢复 + if (cmdState == ExerciseState::Continue || cmdState == ExerciseState::Pause) + { + // 开始状态 + if (TraingModel::GetInstance()->GetSportState() == ExerciseState::Start || TraingModel::GetInstance()->GetSportState() == ExerciseState::Continue) + { + TrainingControlView::GetInstance()->GetLabel()->SetText("ç»§ç»­"); + TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_CONTINUE_IMAGE, SPORT_CONTINUE_IMAGE); + // 设置为暂停状态 + TraingModel::GetInstance()->SetSportState(ExerciseState::Pause); + // 暂停计时器 + PauseTimer(); + // 暂停运动库 + ControlSensor(ExerciseState::Pause); + } + // 暂停状态 + if (TraingModel::GetInstance()->GetSportState() == ExerciseState::Pause) + { + TrainingControlView::GetInstance()->GetLabel()->SetText("暂停"); + TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE); + // 设置为继续状态 + TraingModel::GetInstance()->SetSportState(ExerciseState::Continue); + // 恢复计时器 + ResumeTimer(); + // 恢复运动库 + ControlSensor(ExerciseState::Continue); + } } - ControlSensor(static_cast(cmdState)); return true; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp index bb1c894e7..cd91f93ca 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp @@ -79,7 +79,7 @@ namespace OHOS // swipe_->HorAdd(DetailView); swipe_->VerAdd(DetailView, UICrossView::VPage::DOWN_PAGE); - swipe_->SetHorCurrentPage(Control_Card::CONTROL); + swipe_->SetHorCurrentPage(Control_Card::DATA); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView::InitPage over"); } @@ -444,7 +444,7 @@ namespace OHOS } /*获取卡片View单例*/ - UIView *TraingCardView::GetTraingCrad() + UICrossView *TraingCardView::GetTraingCrad() { return swipe_; }