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";
--- /dev/null
+/***
+ * @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;
+ }
+
+
+}