修复数据传输,增加数据日志打印
authorCaisking <3449750381@qq.com>
Wed, 10 Apr 2024 12:30:59 +0000 (20:30 +0800)
committerCaisking <3449750381@qq.com>
Wed, 10 Apr 2024 12:30:59 +0000 (20:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp

index 2e6b9ec..4f9d0eb 100644 (file)
@@ -331,14 +331,49 @@ namespace OHOS
         {
             return;
         }
+        cywee_result_t *cyweeInfo = nullptr; // 在switch语句外部定义变量
+        int rets;
         switch (request->msgId)
         {
         case TOPIC_EVENT_TREADMILL_UPDATE:
+            cyweeInfo = new cywee_result_t(); // 在case块内分配内存
+            rets = memcpy_s(cyweeInfo, sizeof(cywee_result_t), (cywee_result_t *)request->data, request->len);
+            if (rets != EOK)
+            {
+                delete cyweeInfo; // 处理内存分配失败的情况
+                cyweeInfo = NULL;
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "memcpy_s cywee_result_t fail! ret = %d", rets);
+                return;
+            }
+            TraingModel::GetInstance()->AnalysisData(cyweeInfo);
+            break;
         case TOPIC_EVENT_OUTDOOR_RUNNING_UPDATE:
+            cyweeInfo = new cywee_result_t(); // 在case块内分配内存
+            rets = memcpy_s(cyweeInfo, sizeof(cywee_result_t), (cywee_result_t *)request->data, request->len);
+            if (rets != EOK)
+            {
+                delete cyweeInfo; // 处理内存分配失败的情况
+                cyweeInfo = NULL;
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "memcpy_s cywee_result_t fail! ret = %d", rets);
+                return;
+            }
+            TraingModel::GetInstance()->AnalysisData(cyweeInfo);
+            break;
         case TOPIC_EVENT_INDOOR_RUNNING_UPDATE:
+            cyweeInfo = new cywee_result_t(); // 在case块内分配内存
+            rets = memcpy_s(cyweeInfo, sizeof(cywee_result_t), (cywee_result_t *)request->data, request->len);
+            if (rets != EOK)
+            {
+                delete cyweeInfo; // 处理内存分配失败的情况
+                cyweeInfo = NULL;
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "memcpy_s cywee_result_t fail! ret = %d", rets);
+                return;
+            }
+            TraingModel::GetInstance()->AnalysisData(cyweeInfo);
+            break;
         case TOPIC_EVENT_FITNESS_PEDOMETERR_UPDATE:
-            cywee_result_t *cyweeInfo = new cywee_result_t(); // 在case块内分配内存
-            int rets = memcpy_s(cyweeInfo, sizeof(cywee_result_t), (cywee_result_t *)request->data, request->len);
+            cyweeInfo = new cywee_result_t(); // 在case块内分配内存
+            rets = memcpy_s(cyweeInfo, sizeof(cywee_result_t), (cywee_result_t *)request->data, request->len);
             if (rets != EOK)
             {
                 delete cyweeInfo; // 处理内存分配失败的情况
@@ -347,12 +382,12 @@ namespace OHOS
                 return;
             }
             TraingModel::GetInstance()->AnalysisData(cyweeInfo);
-            delete cyweeInfo; // 释放内存
             break;
         default:
             // 处理未知msgId的情况
             break;
         }
+        delete cyweeInfo; // 释放内存
     }
     /* -------------------------------------------------------------------------- */
 #if TIMER
index 3b646f9..2ae9821 100644 (file)
@@ -14,6 +14,7 @@
 #include "TraingCardView.h"\r
 #include "traing/training_card/include/TrainingControlView.h"\r
 #include "traing/training_card/include/TrainingDataView.h"\r
+#include "traing/training_card/include/TrainingDetailView.h"\r
 #include "ModelListenerSample.h"\r
 \r
 #include "cywee_service.h"\r
@@ -25,6 +26,8 @@ namespace OHOS
     class TraingCardView;\r
     class TrainingControlView;\r
     class TrainingDataView;\r
+    class TrainingDetailView;\r
+    class TraingModel;\r
     class TraingCardPresenter : public Presenter<TraingCardView>,\r
                                 public UIView::OnClickListener,\r
                                 public UIView::OnDragListener,\r
index eb3918a..5d12e98 100644 (file)
@@ -131,6 +131,7 @@ namespace OHOS
         default:\r
             break;\r
         }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OpenSensor--%d!!", type);\r
         return true;\r
     }\r
 \r
@@ -151,6 +152,7 @@ namespace OHOS
         default:\r
             break;\r
         }\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor--%d!!", state);\r
         return true;\r
     }\r
     void TraingCardPresenter::RefreshData()\r
@@ -172,11 +174,14 @@ namespace OHOS
         TrainingDetailView::GetInstance()->GetCalorieLabel()->SetText(calorieStr.c_str());\r
         TrainingDetailView::GetInstance()->GetMileLabel()->SetText(distanceStr.c_str());\r
         TrainingDetailView::GetInstance()->GetStepLabel()->SetText(stepsStr.c_str());\r
+\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlSensor--%s %s %s!!", calorieStr.c_str(), distanceStr.c_str(), stepsStr.c_str());\r
     }\r
 \r
     void TraingCardPresenter::Notify(void)\r
     {\r
         TrainingDataView::GetInstance()->UpdataTime();\r
+        RefreshData();\r
     }\r
 \r
     /* -------------------------------------------------------------------------- */\r
@@ -195,7 +200,7 @@ namespace OHOS
                 // 暂停计时器\r
                 PauseTimer();\r
                 // 暂停运动库\r
-                OpenSensor(ExerciseState::Pause);\r
+                ControlSensor(ExerciseState::Pause);\r
                 return true;\r
             }\r
             // 暂停状态\r