From: xue <2144439972@qq.com> Date: Tue, 8 Jul 2025 08:01:24 +0000 (+0800) Subject: 增加校准完成有效期与过期逻辑 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=62810b9eeacb4d296284c3fed675b4a632983281;p=mirrors%2FFD230.git 增加校准完成有效期与过期逻辑 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h index 0e14b19ce..639cf3962 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h @@ -172,7 +172,6 @@ namespace OHOS uint8_t CalibrationFlag = 0; LAST_CHECK_DATA lastData; // 上一次测量的数据 BPRESULT bp_resullt = BPRESULT::NOT_TESTED; // 测量状态 - bool NeedCalibrationFlag = ture; // 是否需要校准标志位 }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/detection/BPDetectionView.cpp b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/detection/BPDetectionView.cpp index 1ef124b68..b16a34b50 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/detection/BPDetectionView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/detection/BPDetectionView.cpp @@ -9,6 +9,7 @@ #include "bloodpressure/include/detection/BPDetectionView.h" #include "bloodpressure/include/BPModel.h" +#include "bloodpressure/include/BPMainView.h" #include "bloodpressure/include/detection/BPDetectionPresenter.h" #include "ui_image_animator.h" @@ -21,7 +22,7 @@ #endif namespace OHOS { - + static BPDetectionView *g_pBPCheckView = nullptr; BPDetectionView::BPDetectionView() @@ -32,58 +33,56 @@ namespace OHOS BPDetectionView::~BPDetectionView() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BPDetectionView::~BPDetectionView"); - #ifdef ENABLE_BN02 - do_bp_tcp_server_send_data(BP_TCP_SERVICE_CMD_SERVER_DEINIT,NULL,0); - #endif - if(container_) +#ifdef ENABLE_BN02 + do_bp_tcp_server_send_data(BP_TCP_SERVICE_CMD_SERVER_DEINIT, NULL, 0); +#endif + if (container_) container_->RemoveAll(); - if(g_pBPDetectFirstView) - { + if (g_pBPDetectFirstView) + { delete g_pBPDetectFirstView; g_pBPDetectFirstView = nullptr; - } + } - if(g_pBPDetectSOSView) - { + if (g_pBPDetectSOSView) + { delete g_pBPDetectSOSView; g_pBPDetectSOSView = nullptr; - } + } - if(g_pBPDetectBeginView) - { + if (g_pBPDetectBeginView) + { delete g_pBPDetectBeginView; g_pBPDetectBeginView = nullptr; - } + } - if(g_pBPDetectEndView) - { + if (g_pBPDetectEndView) + { delete g_pBPDetectEndView; g_pBPDetectEndView = nullptr; - } - - if(g_pBPDetectErrorView) - { + } + + if (g_pBPDetectErrorView) + { delete g_pBPDetectErrorView; g_pBPDetectErrorView = nullptr; - } + } - if(g_pBPDetectFailView) - { + if (g_pBPDetectFailView) + { delete g_pBPDetectFailView; g_pBPDetectFailView = nullptr; - } + } - - for(int i = 0; i < MAX_BPDECETVIEW; ++i) + for (int i = 0; i < MAX_BPDECETVIEW; ++i) { - if(group[i]) + if (group[i]) { group[i] = nullptr; } } - g_pBPCheckView = nullptr; } BPDetectionView *BPDetectionView::GetInstance(void) @@ -99,13 +98,22 @@ namespace OHOS SetContainerView(new UIViewGroup()); container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); - container_->SetDraggable(true); container_->SetTouchable(true); container_->SetOnDragListener(presenter_); // 切换到第一个界面 - ChangeView(MAX_BPDECETVIEW, MAIN_BPVIEW); + // 校准时间失效或者未校准则先进入校准界面 + if (BPModel::GetInstance()->needMeasure()) // 是否需要校准 + { + // 需要校准进入校准界面 + BPMainView::GetInstance()-> ChangeView(MAX_BPVIEW, BPCALPOSREQVIEW); + } + else + { + //不需要校准则进入测量界面 + ChangeView(MAX_BPDECETVIEW, MAIN_BPVIEW); + } // 增加按键监听 RootView::GetInstance()->SetOnKeyActListener(presenter_); @@ -168,14 +176,14 @@ namespace OHOS if (g_pBPDetectSOSView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "BloodPressureView::ChangeBPDetectSOSView new BPDetectSOSView fail"); + "BloodPressureView::ChangeBPDetectSOSView new BPDetectSOSView fail"); return false; } // 初始化视图并添加到视图组 group[thisView] = g_pBPDetectSOSView->BPDetectSOSInit(); - if(group[thisView] != nullptr) + if (group[thisView] != nullptr) { - //开启动画 + // 开启动画 g_pBPDetectSOSView->GetImageAnimator()->Start(); } container_->Add(group[thisView]); @@ -194,7 +202,7 @@ namespace OHOS if (g_pBPDetectBeginView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "BloodPressureView::ChangeBPDetectBeginView new BPDetectBeginView fail"); + "BloodPressureView::ChangeBPDetectBeginView new BPDetectBeginView fail"); return false; } // 初始化视图并添加到视图组 @@ -215,7 +223,7 @@ namespace OHOS if (g_pBPDetectEndView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "BloodPressureView::ChangeBPDetectEndView new BPDetectEndView fail"); + "BloodPressureView::ChangeBPDetectEndView new BPDetectEndView fail"); return false; } // 初始化视图并添加到视图组 @@ -236,7 +244,7 @@ namespace OHOS if (g_pBPDetectErrorView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "BloodPressureView::ChangeBPDetectErrorView new BPDetectErrorView fail"); + "BloodPressureView::ChangeBPDetectErrorView new BPDetectErrorView fail"); return false; } // 初始化视图并添加到视图组 @@ -257,7 +265,7 @@ namespace OHOS if (g_pBPDetectFailView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, - "BloodPressureView::ChangeBPDetectFailView new BPDetectFailView fail"); + "BloodPressureView::ChangeBPDetectFailView new BPDetectFailView fail"); return false; } // 初始化视图并添加到视图组 @@ -272,7 +280,7 @@ namespace OHOS */ struct BPViewMapper { - const int16_t viewId; // 视图ID + const int16_t viewId; // 视图ID bool (BPDetectionView::*func)(int16_t); // 对应的视图切换函数指针 };