修复ble控制训练暂停和恢复
authorCaisking <3449750381@qq.com>
Wed, 24 Apr 2024 07:49:16 +0000 (15:49 +0800)
committerCaisking <3449750381@qq.com>
Wed, 24 Apr 2024 07:49:16 +0000 (15:49 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp

index 51e6df1..8c33cd2 100644 (file)
@@ -160,7 +160,7 @@ namespace OHOS
         default:\r
             break;\r
         }\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor--%d!!", state);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor[%d]!!", state);\r
         return true;\r
     }\r
 \r
@@ -252,9 +252,9 @@ namespace OHOS
         {\r
             TraingModel::GetInstance()->SetSportState(ExerciseState::End);\r
             ControlSensor(ExerciseState::End);\r
-#ifdef DATATEST\r
+#if DATATEST\r
             NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGENDDATA);\r
-#else\r
+#endif\r
             if (TraingModel::GetInstance()->GetMomentum())\r
             {\r
                 NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGENDDATA);\r
@@ -264,7 +264,6 @@ namespace OHOS
                 // 训练量不足进入训练记录界面\r
                 NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING_RECORD);\r
             }\r
-#endif\r
         }\r
         // 返回按键\r
         if (strcmp(view.GetViewId(), BUTTONBACK) == 0)\r
@@ -290,8 +289,13 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Invalid sport command");\r
             return false;\r
         }\r
-        uapi_set_screen_on_api();                                    // 亮屏检测\r
-        NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD); // 切换Slice\r
+\r
+        uapi_set_screen_on_api(); // 亮屏检测\r
+        if (TraingCardView::GetInstance() == nullptr)\r
+        {\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD); // 切换Slice\r
+        }\r
+\r
         // 增加打印\r
         PRINT("cmd->sportType[%d],cmd->controlmd[%d],cmd->sportTagType[%d],cmd->sportTag[%d]\r\n", cmd->sportType, cmd->controlmd, cmd->sportTagType, cmd->sportTag);\r
 \r
@@ -301,19 +305,20 @@ namespace OHOS
         case 0:\r
             OpenSensor(ExerciseClass::FREE_TRAINING);\r
             break;\r
-        // 室外骑行\r
+        // 室外跑步\r
         case 1:\r
-            OpenSensor(ExerciseClass::FREE_TRAINING);\r
+            OpenSensor(ExerciseClass::OUTDOOR);\r
             break;\r
-        // 室外跑步\r
+        // 室外骑行\r
         case 2:\r
-            OpenSensor(ExerciseClass::OUTDOOR);\r
+            OpenSensor(ExerciseClass::FREE_TRAINING);\r
             break;\r
         default:\r
             break;\r
         }\r
 \r
         ExerciseState cmdState = static_cast<ExerciseState>(cmd->controlmd);\r
+        PRINT("ExerciseState::End   [%d]\r\n", cmdState);\r
 \r
         // 结束\r
         if (cmdState == ExerciseState::End)\r
@@ -333,35 +338,32 @@ namespace OHOS
             return true;\r
         }\r
         // 暂停和恢复\r
-        if (cmdState == ExerciseState::Continue || cmdState == ExerciseState::Pause)\r
+        if (cmdState == ExerciseState::Pause)\r
         {\r
             PRINT("ExerciseState %d\r\n", cmdState);\r
             TraingModel::GetInstance()->SetSportState(cmdState);\r
-            if (TraingModel::GetInstance()->GetSportState() == ExerciseState::Continue)\r
-            {\r
-                TrainingControlView::GetInstance()->GetLabel()->SetText("继续");\r
-                TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_CONTINUE_IMAGE, SPORT_CONTINUE_IMAGE);\r
-                // 设置为暂停状态\r
-                TraingModel::GetInstance()->SetSportState(ExerciseState::Pause);\r
-                // 暂停计时器\r
-                PauseTimer();\r
-                // 暂停运动库\r
-                ControlSensor(ExerciseState::Pause);\r
-                return true;\r
-            }\r
+            TrainingControlView::GetInstance()->GetLabel()->SetText("继续");\r
+            TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_CONTINUE_IMAGE, SPORT_CONTINUE_IMAGE);\r
+            // 设置为暂停状态\r
+            TraingModel::GetInstance()->SetSportState(ExerciseState::Pause);\r
+            // 暂停计时器\r
+            PauseTimer();\r
+            // 暂停运动库\r
+            ControlSensor(ExerciseState::Pause);\r
+            return true;\r
+        }\r
+        if (cmdState == ExerciseState::Continue)\r
+        {\r
             // 暂停状态\r
-            if (TraingModel::GetInstance()->GetSportState() == ExerciseState::Pause)\r
-            {\r
-                TrainingControlView::GetInstance()->GetLabel()->SetText("暂停");\r
-                TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE);\r
-                // 设置为继续状态\r
-                TraingModel::GetInstance()->SetSportState(ExerciseState::Continue);\r
-                // 恢复计时器\r
-                ResumeTimer();\r
-                // 恢复运动库\r
-                ControlSensor(ExerciseState::Continue);\r
-                return true;\r
-            }\r
+            TrainingControlView::GetInstance()->GetLabel()->SetText("暂停");\r
+            TrainingControlView::GetInstance()->GetButton()->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE);\r
+            // 设置为继续状态\r
+            TraingModel::GetInstance()->SetSportState(ExerciseState::Continue);\r
+            // 恢复计时器\r
+            ResumeTimer();\r
+            // 恢复运动库\r
+            ControlSensor(ExerciseState::Continue);\r
+            return true;\r
         }\r
         if (cmdState == ExerciseState::Start)\r
         {\r