增加血氧数据的nextday清空以及UI更新
authorCaisking <3449750381@qq.com>
Thu, 5 Sep 2024 07:16:19 +0000 (15:16 +0800)
committerCaisking <3449750381@qq.com>
Thu, 5 Sep 2024 07:16:19 +0000 (15:16 +0800)
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BloodOxygenModel.h
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodOxygenModel.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodResultView.cpp
code/sdk/application/wearable/fd230app/nativeui/heart_blood/BloodCardView.cpp

index e43dcd1..339f0c0 100644 (file)
@@ -1,4 +1,10 @@
 /*** 
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-09-05 14:58:21
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BloodOxygenModel.h
+ */
+/***
  * @Date: 2024-04-15 10:55:58
  * @LastEditors: Caisking 3449750381@qq.com
  * @LastEditTime: 2024-07-31 10:38:26
@@ -52,10 +58,10 @@ namespace OHOS
         void Blood_Result(void);
 
         void Blood_Control(BloodState state);
-        void ReInit();
+        void ClearDisplayData();
+        void CleanAllData();
 
     private:
-
         uint16_t displayspo2;
         uint16_t currentspo2;
         uint32_t timestamp_ms;
index c6cf4d2..546f4ad 100644 (file)
@@ -13,6 +13,8 @@ extern "C" errcode_t uapi_get_timestamp_ms(uint32_t *tm);
 #include "AppViewIDs.h"
 #include "NativeAbility.h"
 #include "battery_hal.h"
+#include "heart_blood/BloodCardView.h"
+#include "MainViewSample.h"
 
 #define MAX_UNWARE_COUNT 30
 #define MAX_VALID_SPO2_COUNT 30
@@ -46,8 +48,8 @@ namespace OHOS
         return &instance;
     }
     /* ---------------------------------- 状态检测 ---------------------------------- */
-    // 重新初始化
-    void BloodOxygenModel::ReInit()
+
+    void BloodOxygenModel::ClearDisplayData()
     {
         currentspo2 = 0;
         timestamp_ms = 0;
@@ -232,7 +234,6 @@ namespace OHOS
     }
 
     // 更新SPO2数据
-
     void BloodOxygenModel::UpSPO2data(uint8_t spo2)
     {
         displayspo2 = spo2;
@@ -266,4 +267,20 @@ namespace OHOS
             Blood_Stop();
         }
     }
+
+    // 更新血氧数据
+    void BloodOxygenModel::CleanAllData(void)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Nextday!");
+        if (MainViewSample::GetInstance() != nullptr && BloodCardView::GetInstance() != nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新主界面血氧卡片");
+            BloodCardView::GetInstance()->UpSPO2Text();
+        }
+        if (BloodResultView::GetInstance() != nullptr)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新测量血氧卡片");
+            BloodResultView::GetInstance()->UpSPO2Text();
+        }
+    }
 }
index e59bdab..97fe087 100644 (file)
@@ -1,11 +1,10 @@
-/*** 
+/***
  * @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/fd230app/nativeui/bloodoxygen/src/BloodResultView.cpp
  */
 
-
 #include "common/image_cache_manager.h"
 #include "ui_resource_image.h"
 #include <ui_scroll_view.h>
@@ -48,6 +47,9 @@ namespace OHOS
     /* -------------------------------------------------------------------------- */
     void BloodResultView::UpSPO2Text()
     {
+        if (bloodLabel == nullptr || timeLabel == nullptr)
+            return;
+            
         // 更新血氧数据
         uint16_t spo2 = BloodOxygenModel::GetInstance()->GetSPO2data();
         if (spo2 != 0) // 判断是否为默认数据
index 8959d10..d10167b 100644 (file)
@@ -42,6 +42,9 @@ namespace OHOS
     /* -------------------------------------------------------------------------- */\r
     void BloodCardView::UpSPO2Text()\r
     {\r
+        if (bloodLabel == nullptr || timeLabel == nullptr)\r
+            return;\r
+            \r
         // 更新血氧数据\r
         uint16_t spo2 = BloodOxygenModel::GetInstance()->GetSPO2data();\r
         if (spo2 != 0) // 判断是否为默认数据\r