From 7be1ce1fb3427fbf5682da7da11727526cac8fa7 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Fri, 27 Sep 2024 15:37:48 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=94=B9=E5=BF=83=E7=8E=87Slice?= =?utf8?q?=E7=9A=84=E6=9E=90=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../heartrate/src/HeartChartPresenter.cpp | 4 +- .../nativeui/heartrate/src/HeartChartView.cpp | 122 +++++++++++------- 2 files changed, 79 insertions(+), 47 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartPresenter.cpp index 49219fbee..730528b81 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartPresenter.cpp @@ -108,7 +108,6 @@ namespace OHOS return; } - HeartChartView::GetInstance()->UpdateShowHeart(); uint64_t current_time = osKernelGetTick2ms(); if ((startTime != 0) && (current_time - startTime >= HEART_KEEP_TIME)) { @@ -116,7 +115,10 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "检测结果: 超时处理 HEART_KEEP_TIME: %lld", current_time - startTime); HeartModel::GetInstance()->SetResult(HeartResult::TIMEOUT); HeartModel::GetInstance()->Heart_Stop(); + return; } + + HeartChartView::GetInstance()->UpdateShowHeart(); } // 增加按键事件 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 2f40a0180..da6966584 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp @@ -161,55 +161,85 @@ HeartChartView::HeartChartView() { } HeartChartView::~HeartChartView() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartChartView::~HeartChartView"); + if (container_) + container_->RemoveAll(); - UIViewGroup *tmpGroup = dynamic_cast(container_); - UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup); + if (displayheart_) { + delete displayheart_; + displayheart_ = nullptr; + } + if (maxheart_) { + delete maxheart_; + maxheart_ = nullptr; + } + if (minheart_) { + delete minheart_; + minheart_ = nullptr; + } + if (uheart_) { + delete uheart_; + uheart_ = nullptr; + } + if (lastheart_) { + delete lastheart_; + lastheart_ = nullptr; + } + if (maxheart_dynamic_) { + delete maxheart_dynamic_; + maxheart_dynamic_ = nullptr; + } + if (maxheart_dynamic_3_) { + delete maxheart_dynamic_3_; + maxheart_dynamic_3_ = nullptr; + } + if (maxheart_dynamic_2_) { + delete maxheart_dynamic_2_; + maxheart_dynamic_2_ = nullptr; + } + if (maxheart_dynamic_1_) { + delete maxheart_dynamic_1_; + maxheart_dynamic_1_ = nullptr; + } + if (minheart_dynamic_) { + delete minheart_dynamic_; + minheart_dynamic_ = nullptr; + } -#if 0 + if (maxRateIconView_) { + delete maxRateIconView_; + maxRateIconView_ = nullptr; + } + if (minRateIconView_) { + delete minRateIconView_; + minRateIconView_ = nullptr; + } + if (chartBackgroundView_) { + delete chartBackgroundView_; + chartBackgroundView_ = nullptr; + } + if (heartIconView_) { + delete heartIconView_; + heartIconView_ = nullptr; + } - container_->RemoveAll(); - - delete displayheart_; - displayheart_ = nullptr; - delete maxheart_; - maxheart_ = nullptr; - delete minheart_; - minheart_ = nullptr; - delete uheart_; - uheart_ = nullptr; - delete lastheart_; - lastheart_ = nullptr; - delete maxheart_dynamic_; - maxheart_dynamic_ = nullptr; - delete maxheart_dynamic_3_; - maxheart_dynamic_3_ = nullptr; - delete maxheart_dynamic_2_; - maxheart_dynamic_2_ = nullptr; - delete maxheart_dynamic_1_; - maxheart_dynamic_1_ = nullptr; - delete minheart_dynamic_; - minheart_dynamic_ = nullptr; - - delete maxRateIconView_; - maxRateIconView_ = nullptr; - delete minRateIconView_; - minRateIconView_ = nullptr; - delete chartBackgroundView_; - chartBackgroundView_ = nullptr; - delete heartIconView_; - heartIconView_ = nullptr; - - imageAnimator->Stop(); - delete imageAnimator; - imageAnimator = nullptr; - - heartchart->ClearDataSerial(); - delete heartSerial; - heartSerial = nullptr; - delete heartchart; - heartchart = nullptr; -#endif - g_pHeartCheckView = this; + if (imageAnimator) { + imageAnimator->Stop(); + delete imageAnimator; + imageAnimator = nullptr; + } + + if (heartSerial) { + heartchart->ClearDataSerial(); + delete heartSerial; + heartSerial = nullptr; + } + + if (heartchart) { + delete heartchart; + heartchart = nullptr; + } + + g_pHeartCheckView = nullptr; } HeartChartView *HeartChartView::GetInstance(void) { return g_pHeartCheckView; } -- 2.17.1