/***
+ * @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
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;
#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
return &instance;
}
/* ---------------------------------- 状态检测 ---------------------------------- */
- // 重新初始化
- void BloodOxygenModel::ReInit()
+
+ void BloodOxygenModel::ClearDisplayData()
{
currentspo2 = 0;
timestamp_ms = 0;
}
// 更新SPO2数据
-
void BloodOxygenModel::UpSPO2data(uint8_t spo2)
{
displayspo2 = spo2;
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();
+ }
+ }
}
-/***
+/***
* @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>
/* -------------------------------------------------------------------------- */
void BloodResultView::UpSPO2Text()
{
+ if (bloodLabel == nullptr || timeLabel == nullptr)
+ return;
+
// 更新血氧数据
uint16_t spo2 = BloodOxygenModel::GetInstance()->GetSPO2data();
if (spo2 != 0) // 判断是否为默认数据
/* -------------------------------------------------------------------------- */\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