app发起运动进行状态改变的时候进行时长校验
authorCaisking <3449750381@qq.com>
Thu, 26 Sep 2024 08:12:31 +0000 (16:12 +0800)
committerCaisking <3449750381@qq.com>
Thu, 26 Sep 2024 08:12:31 +0000 (16:12 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h

index 2231fc5..887efca 100644 (file)
@@ -243,6 +243,7 @@ namespace OHOS
         SportData *GetSportdata();                                             /*获取训练数据*/
         void SetIntensity(int heart);                                          /*设置训练强度*/
         UIResourceTextId GetIntensity();                                       /*获取训练强度STR*/
+        uint32_t GetSportTime();                                               /*获取目前运动时长*/
         bool SaveSportData();                                                  /*保存数据*/
         void SendLiveData();                                                   /*发送实时数据*/
         int CalculateAverageHeartRate(int newHeartRate);                       /*平均心率计算*/
index 3998ebb..fc3b2da 100644 (file)
@@ -1230,7 +1230,11 @@ namespace OHOS
     {
         return Openstate;
     }
-
+    /*获取运动时长*/
+    uint32_t TraingModel::GetSportTime()
+    {
+    return sportdata->duration;
+    }
     /*获取训练量是否达标*/
     bool TraingModel::GetMomentum() {
 #if 0
index 9d1ea29..725313a 100644 (file)
@@ -26,6 +26,7 @@
 #include "traing/training_card/include/TrainingControlView.h"\r
 #include "uicomponents/UIComponents.h"\r
 #include "vibrator_service.h"\r
+\r
 #include <chrono>\r
 #include <iomanip>\r
 #include <iostream>\r
@@ -420,14 +421,20 @@ bool TraingCardPresenter::send_sport_cmd(training_ble *cmd) {
   WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ExerciseState::End   [%d]\r\n",\r
                 cmdState);\r
 \r
+  uint32_t sport_time = TraingModel::GetInstance()->GetSportTime();\r
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sport_time[%d]\r\n", sport_time);\r
+\r
   switch (cmdState) {\r
   case ExerciseState::End:\r
+    reply_APP_SportStopModeCmd(sport_time);\r
     handleEndState();\r
     break;\r
   case ExerciseState::Pause:\r
+    reply_APP_SportPasueResetCmd(sport_time);\r
     handlePauseState();\r
     break;\r
   case ExerciseState::Continue:\r
+    reply_APP_SportPasueResetCmd(sport_time);\r
     handleContinueState();\r
     break;\r
   case ExerciseState::Start:\r
index 20c1339..b1d1aa6 100644 (file)
@@ -3841,7 +3841,7 @@ static void OpenSportModeCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *to
     }\r
 }\r
 \r
-void reply_APP_StopSportModeCmd(uint16_t time)\r
+void reply_APP_SportStopModeCmd(uint16_t time)\r
 {\r
     char data[3]={0};\r
     uint32_t data_len=3;\r
index 0afd573..7b8b25d 100644 (file)
@@ -828,7 +828,7 @@ void GetwatchSaveMac(uint8_t *mac,uint8_t *mactype);
 
 void reply_APP_SportPasueResetCmd(uint16_t time);
 
-void reply_APP_StopSportModeCmd(uint16_t time);
+void reply_APP_SportStopModeCmd(uint16_t time);
 
 ///////////////////////////自定义文件传输协议/////////////////////////////
 #define OTA_FILE_MSG_CMD  0x0601