修复定时器bug 1864/2 1864/head
authorxue <2144439972@qq.com>
Wed, 18 Jun 2025 09:48:47 +0000 (17:48 +0800)
committerxue <2144439972@qq.com>
Wed, 18 Jun 2025 09:48:47 +0000 (17:48 +0800)
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPModel.cpp

index 020a31a..b6acce8 100644 (file)
@@ -50,8 +50,6 @@ namespace OHOS
 {
     static constexpr uint16_t PROGRESS_VALUE_MIN = 0;
     static constexpr uint16_t PROGRESS_VALUE_MAX = 10;
-    static uint16_t passflag = 0;  //第几次校准成功标志位
-
 
     static BPMainPresenter *g_pBPMainPresenter;
 
@@ -84,9 +82,9 @@ namespace OHOS
 
     void BPMainPresenter::OnResume(void) {}
 
-    void BPMainPresenter::OnStop(void) 
+    void BPMainPresenter::OnStop(void)
     {
-        //重置状态
+        // 重置状态
         BPModel::GetInstance()->BP_Control(BPState::BP_NORMAL);
     }
 
@@ -120,6 +118,7 @@ namespace OHOS
 
     bool BPMainPresenter::OnClick(UIView &view, const ClickEvent &event)
     {
+        static int16_t passflag = 0; // 第几次校准成功标志位
         std::string viewId = view.GetViewId();
 
         std::map<std::string, std::pair<int16_t, int16_t>> viewIdMap = {
@@ -143,7 +142,7 @@ namespace OHOS
             BPModel::GetInstance()->BP_Control(BPState::BP_CALIBRATING_FIRSTTIME);
             BPMainView::GetInstance()->ChangeView(BPCALPOSREQVIEW, BPUNDERCALIBRATIONVIEW);
         }
-        else if (strcmp(view.GetViewId(),CALIBRATIONBUTTON) == 0)  // 上次校准时间界面到二次校准界面
+        else if (strcmp(view.GetViewId(), CALIBRATIONBUTTON) == 0) // 上次校准时间界面到二次校准界面
         {
             BPModel::GetInstance()->BP_Control(BPState::BP_CALIBRATING_SECONDTIME);
             BPMainView::GetInstance()->ChangeView(BPLASTCALIBRATIONTIME, BPSECUNDERCALIBRATIONVIEW);
@@ -153,56 +152,59 @@ namespace OHOS
             BPModel::GetInstance()->BP_Control(BPState::BP_CALIBRATING_ANGLYSIS);
             BPMainView::GetInstance()->ChangeView(BPVALUEVIEW, BPRESULTANALYSISVIEW);
         }
-        else if (strcmp(view.GetViewId(), PASSCAECKBUTTON) == 0) //校准成功界面
+        else if (strcmp(view.GetViewId(), PASSCAECKBUTTON) == 0) // 校准成功界面
         {
-            if(passflag == 0)
+            if (passflag == 0)
             {
-             BPMainView::GetInstance()->ChangeView(BPCALIBRATIONPASSVIEW, BPLASTCALIBRATIONTIME);
-             passflag = 1;
+                BPMainView::GetInstance()->ChangeView(BPCALIBRATIONPASSVIEW, BPLASTCALIBRATIONTIME);
+                passflag = 1;
             }
             else
             {
                 //退出
-             passflag = 0;
+                //passflag = 0;
             }
-
         }
         else if (strcmp(view.GetViewId(), "SBPLeft") == 0)
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SBPLeft_BP");
-            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::SBP,false);
-            if(BPValueView::GetInstance()){
-             BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::SBP);
+            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::SBP, false);
+            if (BPValueView::GetInstance())
+            {
+                BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::SBP);
             }
         }
         else if (strcmp(view.GetViewId(), "SBPRight") == 0)
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SBPRight");
-            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::SBP,true);
-            if(BPValueView::GetInstance()){
-             BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::SBP);
+            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::SBP, true);
+            if (BPValueView::GetInstance())
+            {
+                BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::SBP);
             }
         }
         else if (strcmp(view.GetViewId(), "DBPLeft") == 0)
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DBPLeft");
-            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::DBP,false);
-            if(BPValueView::GetInstance()){
-             BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::DBP);
+            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::DBP, false);
+            if (BPValueView::GetInstance())
+            {
+                BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::DBP);
             }
         }
         else if (strcmp(view.GetViewId(), "DBPRight") == 0)
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DBPRight");
-            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::DBP,true);
-            if(BPValueView::GetInstance()){
-             BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::DBP);
+            BPModel::GetInstance()->BP_SetValue(BP_VALUE_TYPE::DBP, true);
+            if (BPValueView::GetInstance())
+            {
+                BPValueView::GetInstance()->UpDateVauleText(BP_VALUE_TYPE::DBP);
             }
         }
         else if (strcmp(view.GetViewId(), CALIBRATIONLATTERBUTTON) == 0)
         {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CALIBRATIONLATTERBUTTON");
-            //退出
+            // 退出
         }
         return true;
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BPPresenter::OnClick");
index ca12659..6c37bc6 100644 (file)
@@ -192,7 +192,7 @@ static uint16 CalibrationFlag = 0;
     // 倒计时
     Time--;
     // 提前检查无效时间
-    if (Time < 0)
+    if (Time <= 0)
     {
       BPModel::GetInstance()->BP_StopTimer();
       BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
@@ -212,7 +212,7 @@ static uint16 CalibrationFlag = 0;
         else
           CalibrationFlag = 0;
       }
-      else if (BPMainView::GetInstance() && BPSecUnderCalibrationView::GetInstance() && CalibrationFlag == 2) // 第二次校准完
+      else if (BPMainView::GetInstance() && CalibrationFlag == 2) // 第二次校准完
       {
         BPMainView::GetInstance()->ChangeView(BPSECUNDERCALIBRATIONVIEW, BPCALIBRATIONMINDVIEW);
         CalibrationFlag++;