#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"
#endif
namespace OHOS
{
-
+
static BPDetectionView *g_pBPCheckView = nullptr;
BPDetectionView::BPDetectionView()
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)
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_);
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]);
if (g_pBPDetectBeginView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
- "BloodPressureView::ChangeBPDetectBeginView new BPDetectBeginView fail");
+ "BloodPressureView::ChangeBPDetectBeginView new BPDetectBeginView fail");
return false;
}
// 初始化视图并添加到视图组
if (g_pBPDetectEndView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
- "BloodPressureView::ChangeBPDetectEndView new BPDetectEndView fail");
+ "BloodPressureView::ChangeBPDetectEndView new BPDetectEndView fail");
return false;
}
// 初始化视图并添加到视图组
if (g_pBPDetectErrorView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
- "BloodPressureView::ChangeBPDetectErrorView new BPDetectErrorView fail");
+ "BloodPressureView::ChangeBPDetectErrorView new BPDetectErrorView fail");
return false;
}
// 初始化视图并添加到视图组
if (g_pBPDetectFailView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
- "BloodPressureView::ChangeBPDetectFailView new BPDetectFailView fail");
+ "BloodPressureView::ChangeBPDetectFailView new BPDetectFailView fail");
return false;
}
// 初始化视图并添加到视图组
*/
struct BPViewMapper
{
- const int16_t viewId; // 视图ID
+ const int16_t viewId; // 视图ID
bool (BPDetectionView::*func)(int16_t); // 对应的视图切换函数指针
};