训练:增加app发起的运动的状态返回
authorCaisking <3449750381@qq.com>
Wed, 9 Oct 2024 09:37:44 +0000 (17:37 +0800)
committerCaisking <3449750381@qq.com>
Wed, 9 Oct 2024 09:37:44 +0000 (17:37 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp

index 340571f..96dba22 100644 (file)
@@ -335,9 +335,9 @@ bool TraingCardPresenter::OnClick(UIView &view, const ClickEvent &event) {
           // 确定达到目标\r
           {BUTTONWINOK,\r
            [&]() {\r
+             TraingCardView::GetInstance()->GetAnimator()->Stop();\r
              TraingCardView::GetInstance()->SetPopupViewStatus(GetTagPopup,\r
                                                                false);\r
-             TraingCardView::GetInstance()->GetAnimator()->Stop();\r
            }},\r
           // 确定心率提醒\r
           {BUTTONNOTE,\r
@@ -396,34 +396,39 @@ bool TraingCardPresenter::send_sport_cmd(training_ble *cmd) {
   }\r
 \r
   // 仅在一般状态下允许开始运动\r
-  if (cmdstate == ExerciseState::Start &&\r
-      currentState == ExerciseState::General) {\r
-    if (TraingCardView::GetInstance() == nullptr) {\r
-      uapi_set_screen_on_api(); // 亮屏\r
-      NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD);\r
-      // 设置目标类型和项目有且只有一次\r
-      switch (cmd->sportType) {\r
-      case 0:\r
-        TraingModel::GetInstance()->SetSportEvent(STR_EXERCISE_OUTDOORWALKING);\r
-        OpenSensor(ExerciseClass::OUTDOOR);\r
-        break;\r
-      case 1:\r
-        TraingModel::GetInstance()->SetSportEvent(STR_EXERCISE_OUTDOORRUNNING);\r
-        OpenSensor(ExerciseClass::OUTDOOR);\r
-        break;\r
-      case 2:\r
-        TraingModel::GetInstance()->SetSportEvent(STR_EXERCISE_OUTDOORBIKING);\r
-        OpenSensor(ExerciseClass::FREE_TRAINING);\r
-        break;\r
-      default:\r
-        break;\r
+  if (cmdstate == ExerciseState::Start) {\r
+    if ((currentState == ExerciseState::General)) {\r
+      if (TraingCardView::GetInstance() == nullptr) {\r
+        uapi_set_screen_on_api(); // 亮屏\r
+        NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD);\r
+        // 设置目标类型和项目有且只有一次\r
+        switch (cmd->sportType) {\r
+        case 0:\r
+          TraingModel::GetInstance()->SetSportEvent(\r
+              STR_EXERCISE_OUTDOORWALKING);\r
+          OpenSensor(ExerciseClass::OUTDOOR);\r
+          break;\r
+        case 1:\r
+          TraingModel::GetInstance()->SetSportEvent(\r
+              STR_EXERCISE_OUTDOORRUNNING);\r
+          OpenSensor(ExerciseClass::OUTDOOR);\r
+          break;\r
+        case 2:\r
+          TraingModel::GetInstance()->SetSportEvent(STR_EXERCISE_OUTDOORBIKING);\r
+          OpenSensor(ExerciseClass::FREE_TRAINING);\r
+          break;\r
+        default:\r
+          break;\r
+        }\r
       }\r
+      handleStartState();\r
+      reply_APP_OpenSportModeCmd(true);\r
+      return true;\r
+    } else {\r
+      reply_APP_OpenSportModeCmd(false);\r
+      // return false;\r
     }\r
-\r
-    handleStartState();\r
-    return true;\r
   }\r
-\r
   // 仅在运动状态为开始或继续时允许暂停\r
   if (cmdstate == ExerciseState::Pause) {\r
     if (currentState == ExerciseState::Start ||\r
@@ -460,7 +465,8 @@ bool TraingCardPresenter::send_sport_cmd(training_ble *cmd) {
                 cmd->sportType, cmd->controlmd, cmd->sportTagType,\r
                 cmd->sportTag);\r
 \r
-  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "由于状态限制,命令未执行。\r\n");\r
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+                "由于状态限制,命令未执行 当前状态 %d。\r\n", currentState);\r
   return false; // 没有执行任何命令\r
 }\r
 \r