增加电池服务
authorCaisking <Casiking@zhihuishixun.com>
Thu, 17 Jul 2025 09:33:12 +0000 (17:33 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Thu, 17 Jul 2025 09:33:12 +0000 (17:33 +0800)
14 files changed:
code/sdk/application/wearable/fd230/nativeapp/nativeui/bloodoxygen/src/BloodOxygenModel.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/bloodoxygen/src/BloodResultPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/clock/src/MainClockView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/health/CheckAbnormalPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/heartrate/include/HeartResultPresenter.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/heartrate/src/HeartModel.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/heartrate/src/HeartResultPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainViewSample.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/saveele/src/SaveBatPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/system/src/SystemView.cpp
code/sdk/zhihui/services/ble_service/bleservice/bleANCS.c
code/sdk/zhihui/services/ble_service/bleservice/bleEvent.c
code/sdk/zhihui/services/ble_service/bleservice/bleService.c

index 5b4b144..b0fdf85 100644 (file)
@@ -183,7 +183,7 @@ void BloodOxygenModel::Blood_Result() {
     healthState.checkType = BLOOD_CHECK;
     healthState.resultStatus = LOW;
     healthState.checkResult = MiniBlood;
-    // HealthService::GetInstance()->SetHealthCurrent(healthState);
+    HealthService::GetInstance()->SetHealthCurrent(healthState);
     //保存异常数据
     Blood_Save();
     NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID);
index a4c41a3..a37656b 100644 (file)
@@ -44,7 +44,7 @@
 #include "cywee_service.h"
 #endif
 
-// #include "battery_hal.h"
+#include "battery_hal.h"
 
 #include "health/health_service/health_service.h"
 
@@ -139,18 +139,18 @@ namespace OHOS
     {
         if (strcmp(view.GetViewId(), CLICK_BLOOD) == 0)
         {
-            // // 如果正在充电进入提醒界面
-            // if (get_charge_stat())
-            // {
-            //     HealthState highHealthState;
-            //     highHealthState.checkType = CHARGE;
-            //     HealthService::GetInstance()->SetHealthCurrent(highHealthState);
-            //     NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID, TransitionType::TRANSITION_BACK_TO_HEXAGONS);
-            // }
-            // else
-            // {
+            // 如果正在充电进入提醒界面
+            if (get_charge_stat())
+            {
+                HealthState highHealthState;
+                highHealthState.checkType = CHARGE;
+                HealthService::GetInstance()->SetHealthCurrent(highHealthState);
+                NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID, TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+            }
+            else
+            {
                 NativeAbility::GetInstance().EnterSlice(VIEW_BLOOD_CHECK, TransitionType::TRANSITION_BACK_TO_HEXAGONS);
-            // }
+            }
         }
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodPresenter::OnClick");
         return true;
index 7ac83e0..140458b 100644 (file)
@@ -15,7 +15,7 @@
  #include "MainModel.h"
  #include "MainPresenterSample.h"
  #include "SetDialModel.h"
-//  #include "battery_hal.h"
+ #include "battery_hal.h"
  #include "common/image_cache_manager.h"
  #include "components/ui_label.h"
  #include "custom_runtime.h"
index 8a38efc..63c1cae 100644 (file)
@@ -53,7 +53,7 @@
 #include "MainModel.h"
 #include "health/health_service/health_service.h"
 
-// #include "battery_hal.h"
+#include "battery_hal.h"
 
 #include "NativeRegisterManager.h"
 
@@ -100,8 +100,7 @@ namespace OHOS
         if (strcmp(view.GetViewId(), CLICK_BLOOD_RE) == 0)
         {
             // 检测过程中充电 失败可以弹窗
-            // bool isCharging = get_charge_stat(); // 获取充电状态
-            bool isCharging = false;
+            bool isCharging = get_charge_stat(); // 获取充电状态
 
             if (isCharging)
             {
index b40370b..1eeb5eb 100644 (file)
@@ -199,10 +199,9 @@ void HeartModel::ClearHeartData(void) {
   }\r
   SetAveHeartRateCount(0);\r
   // GraphicService::GetInstance()->PostGraphicEvent(\r
-  //     std::bind(&HeartModel::RefreshHeartRateScreen,\r
-  //     HeartModel::GetInstance(),\r
-  //               healthDatas.heartRatePerSec,healthDatas.heartRateRest,\r
-  //               healthDatas.heartRateMax.y,healthDatas.heartRateMin.y));\r
+  //     std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance(),\r
+  //               healthDatas.heartRatePerSec, healthDatas.heartRateRest,\r
+  //               healthDatas.heartRateMax.y, healthDatas.heartRateMin.y));\r
 }\r
 \r
 HeartModel::HeartModel() {\r
@@ -334,10 +333,9 @@ void HeartModel::HeartRatePros(HeartDatas *heartInfo) {
   }\r
 \r
   // GraphicService::GetInstance()->PostGraphicEvent(\r
-  //     std::bind(&HeartModel::RefreshHeartRateScreen,\r
-  //     HeartModel::GetInstance(),\r
-  //               healthDatas.heartRatePerSec,healthDatas.heartRateRest,\r
-  //               healthDatas.heartRateMax.y,healthDatas.heartRateMin.y));\r
+  //     std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance(),\r
+  //               healthDatas.heartRatePerSec, healthDatas.heartRateRest,\r
+  //               healthDatas.heartRateMax.y, healthDatas.heartRateMin.y));\r
 }\r
 \r
 uint16_t HeartModel::GetAveHeartRateCount(void) { return aveCount; }\r
@@ -418,7 +416,7 @@ void HeartModel::Heart_Control(HeartState state, HeartCheck check) {
   }\r
 \r
   if (state == HeartState::End && heartstate == true) {\r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartState End");\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartState End");\r
     //状态数全部清空\r
     valid_counter_ = 0;\r
     disvalid_counter_ = 0;\r
@@ -457,9 +455,8 @@ void HeartModel::Heart_Control(HeartState state, HeartCheck check) {
       WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "充电不能检测");\r
       return;\r
     }\r
-\r
-#ifdef SUPPORT_PPG_SERVICE\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartState Start");\r
+#ifdef SUPPORT_PPG_SERVICE\r
     uint8_t md = PPG_SERVICE_CMD_TYPE_DO_PPG_TEST;\r
     send_ppg_cmd_msg(md);\r
 #endif\r
@@ -1056,12 +1053,14 @@ static void heart_data_timer_callback(int data) {
       std::bind(heart_data_callbackProc, data));\r
 }\r
 void HeartModel::heart_data_timer(uint32_t interval) {\r
-  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,  "HeartModel::heart_start_screen60s_timer");\r
+  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
+                "HeartModel::heart_start_screen60s_timer");\r
   if (g_data_timer != nullptr) {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");\r
     return;\r
   }\r
-  g_data_timer = osTimerNew((osTimerFunc_t)heart_data_timer_callback,  osTimerPeriodic, nullptr, nullptr);\r
+  g_data_timer = osTimerNew((osTimerFunc_t)heart_data_timer_callback,\r
+                            osTimerPeriodic, nullptr, nullptr);\r
   if (g_data_timer == nullptr) {\r
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer create failed!!");\r
     return;\r
@@ -1069,7 +1068,8 @@ void HeartModel::heart_data_timer(uint32_t interval) {
   int tick = osMs2Tick(interval);\r
   osStatus_t ret = osTimerStart(g_data_timer, tick);\r
   if (ret != osOK) {\r
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!",  ret);\r
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!",\r
+                  ret);\r
     if (g_data_timer != nullptr) {\r
       ret = osTimerDelete(g_data_timer);\r
     }\r
index 78a32f0..2869783 100644 (file)
@@ -43,7 +43,7 @@
 #include "cywee_service.h"
 #endif
 
-// #include "battery_hal.h"
+#include "battery_hal.h"
 
 #include "health/health_service/health_service.h"
 #include "NativeRegisterManager.h"
@@ -142,8 +142,8 @@ namespace OHOS
         if (strcmp(view.GetViewId(), CLICK_HEART) == 0)
         {
             // 如果正在充电进入提醒界面
-            // bool isCharging = get_charge_stat();
-            bool isCharging = false;
+            bool isCharging = get_charge_stat();
+            // bool isCharging = false;
             if (isCharging)
             {
                 HealthState highHealthState;
index e0466d5..355d8ad 100644 (file)
 #include "heartrate/include/HeartModel.h"
 #include "gfx_utils/mem_check.h"
 #include "custom_utils.h"
-// #include "traing/training_card/include/Training_CardView.h"
-// #include "dnotdisturb/include/DnotDisturbModel.h"
+#include "traing/training_card/include/Training_CardView.h"
+#include "dnotdisturb/include/DnotDisturbModel.h"
 #include "weather/include/WeatherModel.h"
 #include "health/health_service/health_service.h"
 #include "sleep/include/SleepControlView.h"
 #include "sleep/include/SleepCardView.h"
 #include "sleep/include/SleepModel.h"
 #include "MainModel.h"
-// #include "custom_runtime.h"
-// #include "rebootandshutdown/include/RebootAndShutdownModelC.h"
+#include "custom_runtime.h"
+#include "rebootandshutdown/include/RebootAndShutdownModelC.h"
 
 #if USE_OFFLINE_DIAL
 #include "DialViewGroup.h"
@@ -182,13 +182,13 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
             return false;
         }
 
-        // /*发生点击进入密码锁*/
-        // if (uapi_dev_runtime_get_lock_status())
-        // {
-        //     /*进入密码锁*/
-        //     NativeAbility::GetInstance().ChangeSlice(VIEW_CODED_LOCK);
-        //     return true;
-        // }
+        /*发生点击进入密码锁*/
+        if (uapi_dev_runtime_get_lock_status())
+        {
+            /*进入密码锁*/
+            NativeAbility::GetInstance().ChangeSlice(VIEW_CODED_LOCK);
+            return true;
+        }
 
         if (curViewId == CONNECTEDSTATUSBACKGROUNDBUTTON)
         {
@@ -208,13 +208,13 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
             MainModel::GetInstance().SetFromSetCardView(true);
             MainModel::GetInstance().SetFromCardId(BLOODOXGEN);
             // 如果正在充电进入提醒界面
-            // if (get_charge_stat())
-            // {
-            //     HealthState highHealthState;
-            //     highHealthState.checkType = CHARGE;
-            //     HealthService::GetInstance()->SetHealthCurrent(highHealthState);
-            //     NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID, TransitionType::TRANSITION_ZOOM);
-            // }
+            if (get_charge_stat())
+            {
+                HealthState highHealthState;
+                highHealthState.checkType = CHARGE;
+                HealthService::GetInstance()->SetHealthCurrent(highHealthState);
+                NativeAbility::GetInstance().ChangeSlice(VIEW_CHECK_INVALID, TransitionType::TRANSITION_ZOOM);
+            }
         }
         // 设置卡片管理进入
          if (curViewId == MAIN_CLICK_SETCARD)
@@ -245,16 +245,16 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
         */
         if (cardId == WATCH_FACE)
         {
-            // if (uapi_dev_runtime_get_lock_status())
-            // {
-            //     /*进入密码锁*/
-            //     NativeAbility::GetInstance().ChangeSlice(VIEW_CODED_LOCK);
-            // }
-            // else
-            // {
+            if (uapi_dev_runtime_get_lock_status())
+            {
+                /*进入密码锁*/
+                NativeAbility::GetInstance().ChangeSlice(VIEW_CODED_LOCK);
+            }
+            else
+            {
                 /*进入表盘设置*/
                 NativeAbility::GetInstance().ChangeSlice(VIEW_SET_DIAL);
-            // }
+            }
         }
         return true;
     }
@@ -340,7 +340,7 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
 
     void MainPresenterSample::SetCircleProgress()
     {
-        #if 0
+        #if 1
         PlayersView *playersView = dynamic_cast<PlayersView *>(view_->GetViewById(MUSIC_PLAYER));
         if (playersView == nullptr)
         {
@@ -466,7 +466,7 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
             break;
 
         case MUSIC_PLAYER:
-            // PlayersModel::GetInstance()->SetCircleProgress();
+            PlayersModel::GetInstance()->SetCircleProgress();
             break;
 
         case WATCH_FACE:
@@ -535,11 +535,13 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
     /*心率卡片*/
     void MainPresenterSample::StartHeartRateDetection()
     {
-    // HeartModel::GetInstance()->Heart_Control(HeartState::End, HeartCheck::PASSIVITY);
+        HeartModel::GetInstance()->Heart_Control(HeartState::End, HeartCheck::PASSIVITY);
 #if HEART_RATE_CHECK_TIMEOUT
-    HeartModel::GetInstance()->Heart_Control(HeartState::Start,HeartCheck::CARDCHECK);
+        HeartModel::GetInstance()->Heart_Control(HeartState::Start,HeartCheck::CARDCHECK);
 #else
-    // HeartModel::GetInstance()->Heart_Start(HeartCheck::CARDCHECK);
+        HeartModel::GetInstance()->Heart_Start(HeartCheck::CARDCHECK);
+        // 更新显示值
+        GraphicService::GetInstance()->PostGraphicEvent(std::bind(&HeartModel::RefreshHeartRateScreen, HeartModel::GetInstance()));
 #endif
     }
     /*主表盘*/
@@ -572,8 +574,8 @@ if (ConfigModel::GetInstance()->GetisFirstTimeStart() == true) {
     /*睡眠*/
     void MainPresenterSample::UpdateSleep()
     {
-        // GraphicService::GetInstance()->PostGraphicEvent(
-        //     std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance()));
+        GraphicService::GetInstance()->PostGraphicEvent(
+            std::bind(&OHOS::SleepModel::UpdateSleepView, &OHOS::SleepModel::GetInstance()));
     }
 
     /*天气*/
index bb5f686..02a3647 100644 (file)
@@ -237,19 +237,19 @@ namespace OHOS
         mainSwipeGroup->SetLoopState(false);             // 主界面循环
         mainSwipeGroup->EnableScreenCap(true);           // 主界面截屏滑动
         mainSwipeGroup->RegisterSwipeCallback(callback); // 主界面动画回调
-        // /*密码锁上锁*/
-        // if (uapi_dev_runtime_get_lock_status())
-        // {
-        //     // 回到表盘
-        //     SwitchToClockPage();
-        //     // printf("密码锁\r\n");
-        //     mainClockView->SetIntercept(true);
-        //     mainSwipeGroup->SetDraggable(false);
-        //     mainSwipeGroup->SetOnSwipeListener(nullptr);
-        //     mainSwipeGroup->SetOnClickListener(presenter_);
-        // }
-        // else
-        // {
+        /*密码锁上锁*/
+        if (uapi_dev_runtime_get_lock_status())
+        {
+            // 回到表盘
+            SwitchToClockPage();
+            // printf("密码锁\r\n");
+            mainClockView->SetIntercept(true);
+            mainSwipeGroup->SetDraggable(false);
+            mainSwipeGroup->SetOnSwipeListener(nullptr);
+            mainSwipeGroup->SetOnClickListener(presenter_);
+        }
+        else
+        {
             // 判断是否为从主界面前往的其他Slice
             if (presenter_->IsFromSetCardView())
             {
@@ -263,7 +263,7 @@ namespace OHOS
                 // 回到表盘
                 SwitchToClockPage();
             }
-        // }
+        }
 
 #ifdef XTS_SUPPORT
         /* ----------------------------------- XTS ---------------------------------- */
index a78300a..c8594f1 100644 (file)
@@ -5,7 +5,7 @@
 #include "NativeAbility.h"\r
 #include "common/key_code.h"\r
 #include "cmsis_os.h"\r
-//#include "battery_hal.h"\r
+#include "battery_hal.h"\r
 #include "custom_utils.h"\r
 #include "saveele/include/SaveBatPresenter.h"\r
 #include "saveele/include/SaveBatView.h"\r
index 779e1dc..9e5796d 100644 (file)
@@ -7,8 +7,7 @@
 #include "bleService.h"\r
 #endif\r
 \r
-// #include "battery_hal.h"\r
-// extern uint8_t battery_get_voltage(float *voltage);\r
+#include "battery_hal.h"\r
 \r
 #include "UiConfig.h"\r
 \r
index 23ddbe8..7faafd8 100644 (file)
@@ -24,7 +24,7 @@
 #include "bts_le_gap.h"
 #include "bts_br_gap.h"
 
-// #include "battery_hal.h"
+#include "battery_hal.h"
 
 #include "bleService.h"
 #include "alipay_feature.h"
index e6062d6..54b4097 100644 (file)
@@ -23,7 +23,7 @@ extern "C" {
 #include "stdbool.h"\r
 #include "bts_br_gap.h"\r
 \r
-// #include "battery_hal.h"\r
+#include "battery_hal.h"\r
 \r
 #include "bleService.h"\r
 #include "alipay_feature.h"\r
index b9cba49..a9dc4af 100644 (file)
@@ -25,7 +25,7 @@ extern "C" {
 \r
 #include "bts_le_gap.h"\r
 #include "bts_br_gap.h"\r
-// #include "battery_hal.h"\r
+#include "battery_hal.h"\r
 #include "bleService.h"\r
 #include "alipay_feature.h"\r
 #ifdef AILPAY_SUPPORT\r