修复二轮校准不切换bug 1863/target/3 1870/1 1870/head
authorxue <2144439972@qq.com>
Thu, 19 Jun 2025 09:43:07 +0000 (17:43 +0800)
committerxue <2144439972@qq.com>
Thu, 19 Jun 2025 09:43:07 +0000 (17:43 +0800)
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainView.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPModel.cpp

index 357f7a9..25815fc 100644 (file)
@@ -54,6 +54,7 @@ public:
   static BPModel *GetInstance();
   //获取第几次校准
   int16_t GetCalibrationFlag();
+  void SetCalibrationFlag(int value);
   //获取当前时间年月日时分字符串
   std::string GetCurrentTimeStr();
   //当前状态管理
index 09a3c21..3649106 100644 (file)
@@ -117,6 +117,7 @@ namespace OHOS
 
         else
         {
+            BPModel::GetInstance()->SetCalibrationFlag(2);
             ChangeView(MAX_BPVIEW, BPLASTCALIBRATIONTIME);
             BPMainPresenter::GetInstance()->SetPassflag(1); // 校准成功按钮标志位
         }
index 50f46ce..6c4de65 100644 (file)
@@ -59,6 +59,7 @@ namespace OHOS
     return &instance;
   }
   int16_t BPModel::GetCalibrationFlag() { return CalibrationFlag; }
+  void BPModel::SetCalibrationFlag(int value) {  CalibrationFlag = value; }
 
   // 获取当前时间戳字符串
   std::string BPModel::GetCurrentTimeStr()
@@ -206,10 +207,10 @@ namespace OHOS
       BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
       if (BPMainView::GetInstance() && CalibrationFlag == 0) // 第一次校准完
       {
-        BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW, BPCALIBRATIONMINDVIEW);
+        BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW,BPCALIBRATIONMINDVIEW);
         CalibrationFlag++;
       }
-      else if (BPMainView::GetInstance() && (CalibrationFlag == 1 || CalibrationFlag == 3)) // 分析完
+      else if (BPMainView::GetInstance() &&(CalibrationFlag == 1 || CalibrationFlag == 3)) // 分析完
       {
         // 校准成功
         BPMainView::GetInstance()->ChangeView(BPRESULTANALYSISVIEW, BPCALIBRATIONPASSVIEW);
@@ -219,6 +220,7 @@ namespace OHOS
           CalibrationFlag++;
         else
           CalibrationFlag = 0;
+           WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CalibrationFlag:%d",CalibrationFlag);
       }
       else if (BPMainView::GetInstance() && CalibrationFlag == 2) // 第二次校准完
       {