增加训练睡眠否决
authorCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 03:24:22 +0000 (11:24 +0800)
committerCaisking <3449750381@qq.com>
Thu, 20 Jun 2024 03:24:22 +0000 (11:24 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp

index e1b5e41..c5ae60d 100644 (file)
@@ -27,6 +27,48 @@ extern "C"
 \r
 namespace OHOS\r
 {\r
+\r
+#ifdef __cplusplus\r
+    extern "C"\r
+    {\r
+#endif\r
+\r
+#include "pm_veto.h"\r
+#include "pm.h"\r
+        /*移除睡眠否决投票*/\r
+        void uapi_remove_sport_vote(void)\r
+        {\r
+            uint8_t cnt = pm_veto_get_id_cnt(PM_ID_HEART);\r
+            if (cnt == 1)\r
+            {\r
+                uapi_pm_remove_sleep_veto(PM_ID_HEART);\r
+            }\r
+            else\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU has delete pm_id_Sport vote");\r
+            }\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU SLEEP SUCCESS");\r
+        }\r
+\r
+        /*添加睡眠否决投票*/\r
+        void uapi_add_sport_vote(void)\r
+        {\r
+            uint8_t cnt = pm_veto_get_id_cnt(PM_ID_HEART);\r
+            if (cnt == 0)\r
+            {\r
+                uapi_pm_add_sleep_veto(PM_ID_HEART);\r
+            }\r
+            else\r
+            {\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU has got pm_id_Sport vote");\r
+            }\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU WAKEUP SUCCESS");\r
+        }\r
+\r
+#ifdef __cplusplus\r
+    }\r
+#endif\r
+\r
     static const uint16_t LABEL_FONT_SIZE = 200;\r
     static const uint32_t BACK_GROUND_COLOR = 0xfff6f6f6;\r
     static const uint32_t CARD_PAGE_COLOR = 0xffd0d0d0;\r
@@ -36,10 +78,11 @@ namespace OHOS
     TraingCardView::TraingCardView()\r
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView::TraingCardView");\r
-        g_pTraingCardView = this;\r
         InitTimer();                                                     // 开启计时器\r
         TraingModel::GetInstance()->SetSportState(ExerciseState::Start); // 设置运动状态为开始\r
         TraingModel::GetInstance()->SetTimestamp();\r
+        uapi_add_sport_vote(); // 保护进程\r
+        g_pTraingCardView = this;\r
     }\r
 \r
     TraingCardView::~TraingCardView()\r
@@ -48,6 +91,7 @@ namespace OHOS
         g_pTraingCardView = nullptr;\r
         DisableTimer(); // 关闭计时器\r
         TraingModel::GetInstance()->SetTimestamp();\r
+        uapi_remove_sport_vote(); // 移除\r
     }\r
 \r
     TraingCardView *TraingCardView::GetInstance()\r
@@ -385,7 +429,7 @@ namespace OHOS
         getView->SetDirection(1);\r
 \r
         // 初始化Lable\r
-        InitLabelExt(labeltitle, 83, 50, 300, 35, "label1",STR_GOAL_ACHIEVED, DEFAULT_VECTOR_FONT_FILENAME, 35);\r
+        InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", STR_GOAL_ACHIEVED, DEFAULT_VECTOR_FONT_FILENAME, 35);\r
         getView->Add(labeltitle);\r
         InitLabelExt(labelgettag, 103, 307, 200, 35, "label3", STR_ACCOMPLISH_GOAL, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         getView->Add(labelgettag);\r