增加血压检测SOSUI
authorCaisking <Casiking@zhihuishixun.com>
Tue, 17 Jun 2025 01:47:52 +0000 (09:47 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Tue, 17 Jun 2025 01:47:52 +0000 (09:47 +0800)
37 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPDetectSOSView.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPDetectionView.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPDetectSOSView.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPDetectionPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPDetectionView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_01.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_02.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_03.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_04.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_05.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_06.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_07.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_08.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_09.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_10.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_11.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_12.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_13.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_14.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_15.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_16.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_17.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_18.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_19.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_20.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_21.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_22.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_23.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_24.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_25.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_26.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_27.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_28.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_29.bin [new file with mode: 0644]
code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_30.bin [new file with mode: 0644]

index a91107c..4bbb6a1 100644 (file)
@@ -234,6 +234,7 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPDetectionView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPDetectionPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPDetectFirstView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPDetectSOSView.cpp
 
 
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bluetooth/src/BluetoothDeviceCaseListAdapter.cpp
index bbde3ce..b9d63e7 100644 (file)
@@ -437,6 +437,39 @@ namespace OHOS
     static constexpr const char *PNG_TRAINING_WIN_IMAGE_92 = APP_RES_PATH "/Training/training_GIF/win/92.bin";  
     static constexpr const char *PNG_TRAINING_WIN_IMAGE_93 = APP_RES_PATH "/Training/training_GIF/win/93.bin";  
     static constexpr const char *PNG_TRAINING_WIN_IMAGE_94 = APP_RES_PATH "/Training/training_GIF/win/94.bin";
+
+    /*血压动画 30张*/
+    static constexpr const char *PNG_BP_SOS_IMAGE_01 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_01.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_02 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_02.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_03 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_03.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_04 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_04.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_05 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_05.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_06 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_06.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_07 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_07.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_08 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_08.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_09 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_09.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_10 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_10.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_11 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_11.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_12 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_12.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_13 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_13.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_14 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_14.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_15 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_15.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_16 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_16.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_17 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_17.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_18 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_18.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_19 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_19.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_20 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_20.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_21 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_21.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_22 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_22.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_23 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_23.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_24 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_24.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_25 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_25.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_26 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_26.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_27 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_27.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_28 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_28.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_29 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_29.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_30 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_30.bin";      
+
     /* -------------------------------------------------------------------------- */
     static constexpr const char *PNG_ALIPAY_BIND_FAILURE = APP_RES_PATH "/alipay/ALIPAY_BIND_FAILURE.bin";
     static constexpr const char *PNG_ALIPAY_BIND_SUCCESS = APP_RES_PATH "/alipay/ALIPAY_BIND_SUCCESS.bin";
diff --git a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPDetectSOSView.h b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPDetectSOSView.h
new file mode 100644 (file)
index 0000000..bb95cb5
--- /dev/null
@@ -0,0 +1,44 @@
+/***
+ * @Date: 2024-07-29 15:38:56
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-29 15:42:12
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BPDetectSOSView.cpp
+ */
+/*
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
+ * Description: BPDetectSOS view
+ * Author:
+ * Create: 2021-08-01
+ */
+
+#ifndef BP_DETECTION_SOS_VIEW_H
+#define BP_DETECTION_SOS_VIEW_H
+
+#include "View.h"
+#include "BaseView.h"
+#include "wearable_log.h"
+#include "UiConfig.h"
+
+#include "components/ui_image_animator.h"
+
+#define STOP_SOS "stop_sos"
+
+namespace OHOS
+{
+    class BPDetectSOSView
+    {
+    public:
+        BPDetectSOSView();
+        virtual ~BPDetectSOSView();
+        static BPDetectSOSView *GetInstance(void);
+
+        UIViewGroup *BPDetectSOSInit();
+        UIImageAnimatorView *GetImageAnimator();
+
+    private:
+        UIImageAnimatorView *imageAnimator{nullptr};
+        UIViewGroup *group{nullptr};
+    };
+}
+
+#endif // 血氧主界面
\ No newline at end of file
index ee5b1e3..9ac3ad3 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "bloodpressure/include/BPDetectionPresenter.h"
 #include "bloodpressure/include/BPDetectFirstView.h"
+#include "bloodpressure/include/BPDetectSOSView.h"
 
 #define CLICK_BLOOD_PRESSURE "click_bloodpressure"
 namespace OHOS {
@@ -44,6 +45,10 @@ typedef enum : uint8_t {
   UNDER_CALIBRATION_BPVIEW,
   //结果界面
   RESULT_BPVIEW,
+  //检测异常界面
+  CALIBRATION_EXCEPTION_BPVIEW,
+  //sos求救界面
+  SOS_BPVIEW,
   MAX_BPDECETVIEW,
 } BPDETECTVIEWID;
 
@@ -66,10 +71,12 @@ public:
   void ChangeView(int16_t hideView, int16_t showView);
   
   bool ChangeBPDetectFirstView(int16_t thisView);
+  bool ChangeBPDetectSOSView(int16_t thisView);
 
 private:
   UIViewGroup *group[MAX_BPDECETVIEW]{nullptr};
   BPDetectFirstView *g_pBPDetectFirstView = nullptr;
+  BPDetectSOSView *g_pBPDetectSOSView = nullptr;
 };
 } // namespace OHOS
 
diff --git a/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPDetectSOSView.cpp b/code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPDetectSOSView.cpp
new file mode 100644 (file)
index 0000000..5a02381
--- /dev/null
@@ -0,0 +1,116 @@
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-31 14:36:25
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230/nativeapp/nativeui/bloodpressure/src/BPDetectSOSView.cpp
+ */
+
+#include "ui_resource_image.h"
+#include "UiConfig.h"
+#include "wearable_log.h"
+#include "uicomponents/UIComponents.h"
+#include "bloodpressure/include/BPDetectionPresenter.h"
+#include "bloodpressure/include/BPDetectSOSView.h"
+#include "bloodpressure/include/BPModel.h"
+namespace OHOS
+{
+    // 动态刷新设置
+    static constexpr uint16_t IMAGE_SIZE = 466;
+    static constexpr uint16_t IMAGE_POSITION_Y = 0;
+    static constexpr uint16_t IMAGE_POSITION_X = 0;
+    static constexpr uint16_t BP_SOS_IMAGE_SIZE = 30;
+    static constexpr uint16_t BP_SOS_IMAGE_SPEED = 40;
+
+    static ImageAnimatorInfo g_imageAnimatorInfo_blood[30] = {
+    {PNG_BP_SOS_IMAGE_01, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_02, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_03, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_04, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_05, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_06, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_07, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_08, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_09, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_10, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_11, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_12, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_13, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_14, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_15, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_16, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_17, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_18, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_19, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_20, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_21, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_22, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_23, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_24, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_25, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_26, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_27, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_28, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_29, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    {PNG_BP_SOS_IMAGE_30, {IMAGE_POSITION_X, IMAGE_POSITION_Y}, IMAGE_SIZE, IMAGE_SIZE, IMG_SRC_FILE_PATH},
+    };
+
+    static BPDetectSOSView *g_pBPDetectSOSView{nullptr};
+
+    BPDetectSOSView::BPDetectSOSView()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BPDetectSOSView::BPDetectSOSView");
+        g_pBPDetectSOSView = this;
+    }
+    BPDetectSOSView::~BPDetectSOSView()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BPDetectSOSView::~BPDetectSOSView");
+        if(group)
+        {
+            group->RemoveAll(); 
+            if(imageAnimator)
+            {
+                imageAnimator->Stop();
+                delete imageAnimator;
+                imageAnimator = nullptr;   
+            }
+        }
+        delete group;
+        group = nullptr;
+        g_pBPDetectSOSView = nullptr;
+    }
+
+    BPDetectSOSView *BPDetectSOSView::GetInstance()
+    {
+        return g_pBPDetectSOSView;
+    }
+
+    /***
+     * @description:
+     * @return 是否初始化成功
+     */
+    UIViewGroup *BPDetectSOSView::BPDetectSOSInit()
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bool BPDetectSOSView::InitView()");
+        group = new UIViewGroup();
+        group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
+
+        imageAnimator = new UIImageAnimatorView();
+        imageAnimator->SetImageAnimatorSrc(g_imageAnimatorInfo_blood, BP_SOS_IMAGE_SIZE, BP_SOS_IMAGE_SPEED);
+        imageAnimator->SetRepeat(true);
+        group->Add(imageAnimator);
+
+        // if (imageAnimator != nullptr)
+        // {
+        //     imageAnimator->Start();
+        // }
+        
+        return group;
+    }
+
+    UIImageAnimatorView *BPDetectSOSView::GetImageAnimator()
+    {
+        return imageAnimator;
+    }
+
+    
+}
index da80306..7c8791c 100644 (file)
@@ -80,7 +80,9 @@ namespace OHOS
     {
         if (strcmp(view.GetViewId(), CLICK_BLOOD_PRESSURE) == 0)
         {
-            NavigateBack();
+            // NavigateBack();
+            //切换到sos界面 test
+            BPDetectionView::GetInstance()->ChangeView(MAIN_BPVIEW,SOS_BPVIEW);
         }
         return true;
     }
index caebd06..b7d8b04 100644 (file)
@@ -39,6 +39,12 @@ namespace OHOS
             g_pBPDetectFirstView = nullptr;
          }   
 
+         if(g_pBPDetectSOSView)
+         {
+            delete g_pBPDetectSOSView;
+            g_pBPDetectSOSView = nullptr;
+         }
+
          
         for(int i = 0; i < MAX_BPDECETVIEW; ++i)
         {
@@ -122,6 +128,32 @@ namespace OHOS
         return true;
     }
 
+    bool BPDetectionView::ChangeBPDetectSOSView(int16_t thisView)
+    {
+        // 检查视图是否已初始化,避免重复创建
+        if (group[thisView] == nullptr)
+        {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodPressureView::ChangeBPDetectSOSView");
+            // 创建首次校准视图实例
+            g_pBPDetectSOSView = new BPDetectSOSView();
+            if (g_pBPDetectSOSView == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                "BloodPressureView::ChangeBPDetectSOSView new BPDetectSOSView fail");
+                return false;
+            }
+            // 初始化视图并添加到视图组
+            group[thisView] = g_pBPDetectSOSView->BPDetectSOSInit();
+            if(group[thisView] != nullptr)
+            {
+                //开启动画
+                g_pBPDetectSOSView->GetImageAnimator()->Start();
+            }
+            container_->Add(group[thisView]);
+        }
+        return true;
+    }
+
 
     /**
      * 视图映射结构体 - 将视图ID映射到对应的视图切换函数
@@ -134,6 +166,7 @@ namespace OHOS
 
     static const BPViewMapper ViewMapper[] = {
         {MAIN_BPVIEW, &BPDetectionView::ChangeBPDetectFirstView},
+        {SOS_BPVIEW, &BPDetectionView::ChangeBPDetectSOSView},
     };
 
     bool BPDetectionView::ClickFunc(int16_t interface)
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_01.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_01.bin
new file mode 100644 (file)
index 0000000..fa4e9b3
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:83fcaadae9035f5f4d006d3c29020075c9a5a7966a0b7d081c6223988923f8a7
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_02.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_02.bin
new file mode 100644 (file)
index 0000000..a3b4958
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b38d23bf3ab173969c36c7ab44ba6ae06c1867789519f23f0199f80839dfe205
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_03.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_03.bin
new file mode 100644 (file)
index 0000000..4d7c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6f4aae9de3927a93111b6447e193bac9fcfb2f29733731b91fc4bcd4ef60477f
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_04.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_04.bin
new file mode 100644 (file)
index 0000000..f991d66
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8fce636263482afcc5f229f54ea95a05a32ff7c044975cc16932b5373cf24e45
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_05.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_05.bin
new file mode 100644 (file)
index 0000000..f213668
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:83cdbba952a53e838cd06baa83680ee6f7d3c879a4b6276952f5d3413458670c
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_06.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_06.bin
new file mode 100644 (file)
index 0000000..c569a3c
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:36702e2f79e745800b2bc1950898300da19bdb1dba67e67324c931c6582b70ee
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_07.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_07.bin
new file mode 100644 (file)
index 0000000..f793481
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f170d2afc2d17765382f8bf8586610843ba4830af93dea625fcf712c2deb8e7c
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_08.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_08.bin
new file mode 100644 (file)
index 0000000..6b13f5e
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dd289a43c72c6f770fcc1a978e1f4210aaa2367d9e43638105bfe09c5cd484fc
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_09.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_09.bin
new file mode 100644 (file)
index 0000000..0145739
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8ca930d48523024e1effe76771df328dfc49b1ac749660f21876f22dc2fb009f
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_10.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_10.bin
new file mode 100644 (file)
index 0000000..39f34b4
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c80759bccb268b91a51f452856b04942b165dd37acb50c006fb419aebe3b6dc7
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_11.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_11.bin
new file mode 100644 (file)
index 0000000..bf3fbea
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7c0b9a46748301b191f91746d858c060e6943cee92572f6c06f20dcc1bb7a031
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_12.bin
new file mode 100644 (file)
index 0000000..dc2588a
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d076c30fe0f8578cb6ef4b7b5f6934e4336423061a6748c827a7549d541b3371
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_13.bin
new file mode 100644 (file)
index 0000000..7ba12f9
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:47524cd271531853440ff560f77121cf6ecb9d31e464670f00011e3eb8678e4f
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_14.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_14.bin
new file mode 100644 (file)
index 0000000..ca203a3
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3987784b840628c400fec1156f13673c80c74fbe20631814098730db482c7223
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_15.bin
new file mode 100644 (file)
index 0000000..9c1a73d
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d6ed1af052a38af890b069c382816042a4315e48ef1ac39bae34d620c5bf0ea1
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_16.bin
new file mode 100644 (file)
index 0000000..6f4ad23
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a8a70c2ed36901450624b5e4dc084e8383716e1ce3f78694e38c5994803d7441
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_17.bin
new file mode 100644 (file)
index 0000000..3fcd86b
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d206e58355e1b867fd7efe6b30f98e1024025326748e26a4430bcb0d39335af3
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_18.bin
new file mode 100644 (file)
index 0000000..93a9c27
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3ff25fe7a651b6eba0827b8dbc39059feab22af2eb784c1fa88f125dcbbeccf
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_19.bin
new file mode 100644 (file)
index 0000000..c6460b3
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7b2c52310660f8968020f7b8a1873ccf6a94014fbc882bb65f46d42114f62b0c
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_20.bin
new file mode 100644 (file)
index 0000000..cc631ef
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e43f14c063722bd721203344f2654e25a6f3bcd8e326fb9f5f9e9e7ff2a7681c
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_21.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_21.bin
new file mode 100644 (file)
index 0000000..2b25e71
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0cb327f12875e0a0729718caaa90387c6a2a42993a08787ad2b7f983019c680c
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_22.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_22.bin
new file mode 100644 (file)
index 0000000..12baa00
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b6b05168ccec33dae5138cdb23111702f2fc8604db7508121f9a0f1319cfa8d8
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_23.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_23.bin
new file mode 100644 (file)
index 0000000..e38d3eb
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:488f9f2043b4862fb332f3cb4ad3c3c114a6fbadc0a16e7f6ac597d07fd77d44
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_24.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_24.bin
new file mode 100644 (file)
index 0000000..88c2b99
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:76913841c7a6e51ea7c316f231ca85e764976a234d5cbe0e870d9871d4027db5
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_25.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_25.bin
new file mode 100644 (file)
index 0000000..d8fc16c
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:37d90905f9d76a368a20aa2909b2c7a2c02e0e53c89e5d61a4f491e4280034d6
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_26.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_26.bin
new file mode 100644 (file)
index 0000000..d9f0af0
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fa0bdb8ca0b143a5ad9392f331cd5a75beca38f3b48326f5b60e681de2e0cfc
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_27.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_27.bin
new file mode 100644 (file)
index 0000000..4b08c57
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6f9c63b0a3724d6ae6bc2dfc264c28d3d2c9595e6b6253b89691ffd73898a9f1
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_28.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_28.bin
new file mode 100644 (file)
index 0000000..9cbc4c0
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:de2bd2daf72389655f37c2f573fd2ef74c5d68346ae7dd45a2f0506aebf6cd6f
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_29.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_29.bin
new file mode 100644 (file)
index 0000000..a384b34
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:907f9f8af9f05d1e24832a76e38a6dac62fa9b3e0bfa52dbc1b85d912846ca78
+size 146040
diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_30.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/w9/fs/user/res/BPCalibration/BP_GIF/bp_sos/bp_sos_30.bin
new file mode 100644 (file)
index 0000000..76cffb6
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:001324be5d0c0408d6853ea801d40f7202da6f02d48baf875dfe1ed105201ede
+size 146040