From: Caisking <3449750381@qq.com> Date: Thu, 19 Sep 2024 09:55:45 +0000 (+0800) Subject: 心率:心率动画的关闭 X-Git-Tag: release_V1.2.70_20241020_135402~459 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=5a3ce5dbcfd9e34aa2c006e3170a221262988dc8;p=mirrors%2FFD230.git 心率:心率动画的关闭 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartChartView.h b/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartChartView.h index ae4c9691b..ab9809f5e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartChartView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartChartView.h @@ -49,8 +49,9 @@ public: void OnTearDownView() override; void OnStart() override; static HeartChartView *GetInstance(void); - UIImageAnimatorView *GetImageAnimator(void); + void HeartbeatImageAnimatorStart(); + void HeartbeatImageAnimatorStop(); bool HeartViewInit(); void InitChartView(void); @@ -85,7 +86,7 @@ private: UILabelExt *lastheart_{nullptr}; UILabelExt *minheart_{nullptr}; UILabelExt *maxheart_{nullptr}; - + UILabelExt *maxheart_dynamic_{nullptr}; UILabelExt *maxheart_dynamic_3_{nullptr}; UILabelExt *maxheart_dynamic_2_{nullptr}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp index 6584bba87..998938959 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp @@ -197,9 +197,9 @@ HeartChartView::~HeartChartView() { delete heartIconView_; heartIconView_ = nullptr; - // imageAnimator->Stop(); - // delete imageAnimator; - // imageAnimator = nullptr; + imageAnimator->Stop(); + delete imageAnimator; + imageAnimator = nullptr; heartchart->ClearDataSerial(); delete heartSerial; @@ -213,6 +213,13 @@ HeartChartView *HeartChartView::GetInstance(void) { return g_pHeartCheckView; } /* 更新显示数据 */ void HeartChartView::UpdateShowHeart() { + + if (displayheart_ == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, + "HeartChartView::UpdateShowHeart is error"); + return; + } + // 获取当前心率 uint16_t heart_ = HeartModel::GetInstance()->GetShowHeartdata(); std::string heartrateStr = @@ -222,28 +229,6 @@ void HeartChartView::UpdateShowHeart() { if (displayheart_ != nullptr) { displayheart_->SetText(heartrateStr.c_str()); } - - // 获取最大心率 - uint16_t heartmax_ = HeartModel::GetInstance()->GetShowMaxHeartdata(); - std::string heartmaxStr = - (heartmax_ == 0) ? "--" - : (heartmax_ < 50 ? "--" : std::to_string(heartmax_)); - - // 更新最大心率显示 - if (maxheart_ != nullptr) { - maxheart_->SetText(heartmaxStr.c_str()); - } - - // 获取最小心率 - uint16_t heartmin_ = HeartModel::GetInstance()->GetShowMinHeartdata(); - std::string heartminStr = - (heartmin_ == 0) ? "--" - : (heartmin_ < 50 ? "--" : std::to_string(heartmin_)); - - // 更新最小心率显示 - if (minheart_ != nullptr) { - minheart_->SetText(heartminStr.c_str()); - } } void HeartChartView::Update_data_Chart(int serialIndex) { if (heartchart == nullptr) { @@ -270,6 +255,10 @@ void HeartChartView::Update_data_Chart(int serialIndex) { //更新为刚刚检测 SetLastHeart(); + + //更新最大最小值 + SetDataTopAndBottom(); + } void HeartChartView::CleanAllDataView() { if (heartchart == nullptr || maxheart_ == nullptr || minheart_ == nullptr) { @@ -358,7 +347,7 @@ void HeartChartView::HeartImageAnimator() { HEARTBEAT_DELAY); imageAnimator->SetRepeat(true); container_->Add(imageAnimator); - imageAnimator->Start(); + // imageAnimator->Start(); } /*初始化心率曲线*/ void HeartChartView::InitChartView(void) { @@ -540,6 +529,18 @@ void HeartChartView::SetLastHeart() { std::string lastStr = HeartModel::GetInstance()->GetCheckString(); lastheart_->SetText(lastStr.c_str()); } + +void HeartChartView::HeartbeatImageAnimatorStart() { + if (imageAnimator != nullptr) { + imageAnimator->Start(); + } +} + +void HeartChartView::HeartbeatImageAnimatorStop() { + if (imageAnimator != nullptr) { + imageAnimator->Stop(); + } +} /*初始化检测界面*/ bool HeartChartView::HeartViewInit() { @@ -559,12 +560,14 @@ UIViewGroup *HeartChartView::GetchartGroup() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartChartView::InitHeartView fail"); } - // HeartImageAnimator(); 暂时屏蔽 + HeartImageAnimator(); //暂时屏蔽 InitChartView(); // UpdateChartConfig(); 屏蔽动态适配 SetDataChart(); SetLastHeart(); SetDataTopAndBottom(); + HeartbeatImageAnimatorStart(); + return container_; } void HeartChartView::OnStart() { @@ -586,6 +589,7 @@ void HeartChartView::OnStart() { SetDataChart(); SetLastHeart(); SetDataTopAndBottom(); + HeartbeatImageAnimatorStart(); SetContainerView(container_); container_->SetDraggable(true); diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp index aa044d279..06499a2d1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp @@ -354,7 +354,9 @@ void HeartModel::RefreshHeartRateScreen(uint16_t perSec, uint16_t rest, } /*applist心率刷新心率数据*/ if (HeartChartView::GetInstance() != nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartChartView::GetInstance() start"); HeartChartView::GetInstance()->UpdateShowHeart(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartChartView::GetInstance() end"); } } /* ---------------------------------- 状态检测 @@ -605,6 +607,7 @@ void HeartModel::UpHeartdata(uint16_t heart) { "[heart data update displayheart %d displayheart_max %d " "displayheart_min %d]", displayheart, displayheart_max, displayheart_min); + GraphicService::GetInstance()->PostGraphicEvent( std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance(), displayheart, 0, displayheart_max, displayheart_min)); diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateCardView.cpp index b85a86986..3f5412870 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateCardView.cpp @@ -22,6 +22,9 @@ void HeartRateCardView::ClearAll(void) { if (viewiInitStatus == true) { RemoveAll(); if (heartRateGroupView != nullptr) { + heartRateCardView->HeartbeatImageAnimatorStop(); + delete heartRateCardView; + heartRateCardView = nullptr; delete heartRateGroupView; heartRateGroupView = nullptr; }