Merge #480 into sdk602patch0626 from refs/changes/480/head 484/target/1 485/target/1
author袁清梦 <3449750381@qq.com>
Mon, 8 Jul 2024 14:04:39 +0000 (14:04 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Mon, 8 Jul 2024 14:04:39 +0000 (14:04 +0000)
增加转换训练协议Id的接口函数

* refs/changes/480/head: (1 commits squashed)

  - 增加转换训练协议Id的接口函数

Signed-off-by: Caisking <3449750381@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/480
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp

index a9b70a9..537a205 100644 (file)
@@ -136,6 +136,7 @@ namespace OHOS
     // 运动类型
     enum class Exercisetype
     {
+        // 0:健身类 1:舞蹈类 2:休闲运动 3:球类 4:水上项目 5:冰上项目 6:极限运动 7:其他
         FITNESS = 0,
         DANCE,
         LEISURE,
@@ -299,6 +300,8 @@ namespace OHOS
 
         /*打印函数*/
         void printf_data(SportData *data);
+        /*获取协议Id*/
+        int GetBleSportId(Exercisetype sporttype, UIResourceTextId id);
 
     private:
         TraingModel(const TraingModel &) = delete;
index a688735..bf5c716 100644 (file)
@@ -125,7 +125,7 @@ extern "C"
         {
             return;
         }
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"request %d\r\n", request->msgId);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "request %d\r\n", request->msgId);
         if (request->msgId == TOPIC_EVENT_ACTIVITY_UPDATE)
         {
 #if BLETEST
@@ -246,11 +246,49 @@ namespace OHOS
         LIMIT_IMAGE,
         OTHER_IMAGE,
     };
+    /*获取训练Id->协议*/
+    int TraingModel::GetBleSportId(Exercisetype sporttype, UIResourceTextId id)
+    {
+        int offset = 0;
+
+        switch (sporttype)
+        {
+        case Exercisetype::FITNESS: // 0~57
+            offset = 0;
+            break;
+        case Exercisetype::DANCE: // 0~9
+            offset = 58;
+            break;
+        case Exercisetype::LEISURE: // 0~23
+            offset = 58 + 10;
+            break;
+        case Exercisetype::BALL: // 0~28
+            offset = 58 + 10 + 24;
+            break;
+        case Exercisetype::WATER: // 0~23
+            offset = 58 + 10 + 24 + 29;
+            break;
+        case Exercisetype::ICE: // 0~11
+            offset = 58 + 10 + 24 + 29 + 24;
+            break;
+        case Exercisetype::EXTREME: // 0~9
+            offset = 58 + 10 + 24 + 29 + 24 + 12;
+            break;
+        case Exercisetype::OTHER: // 0~8
+            offset = 58 + 10 + 24 + 29 + 24 + 12 + 10;
+            break;
+        default:
+            offset = 0;
+            break;
+        }
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " offset %d id %d", offset, id);
+        return id - offset;
+    }
     /*获取运动类型图片*/
     std::string TraingModel::GetSportType(Exercisetype sporttype)
     {
         int index = static_cast<int>(sporttype);
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " GetSportType index %d", index);
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " GetSportType index %d", index);
         return sportImages[index];
     }
     /*获取运动类型icon*/
@@ -354,14 +392,14 @@ namespace OHOS
             TraingCardView::GetInstance()->SetPopupViewStatus(HeartPopup, true);
         }
         // sportdata->duration = cyweeInfo->duration;
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"normal sportdata->calories[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->heart);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "normal sportdata->calories[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->heart);
         switch (type)
         {
         case ExerciseClass::OUTDOOR:
         case ExerciseClass::INDOOR:
             sportdata->distance = cyweeInfo->distance;
             sportdata->steps = cyweeInfo->steps;
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"indoor sportdata->distance[%d],sportdata->steps[%d] \r\n", sportdata->distance, sportdata->steps);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "indoor sportdata->distance[%d],sportdata->steps[%d] \r\n", sportdata->distance, sportdata->steps);
             break;
         case ExerciseClass::FREE_TRAINING:
             break;
@@ -503,7 +541,7 @@ namespace OHOS
                 free(start_date); // 释放内存
                 return;
             }
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"start_date[%s]\r\n", start_date);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "start_date[%s]\r\n", start_date);
             sportdata->start_date = std::string(start_date);
             free(start_date); // 释放内存
 
@@ -516,7 +554,7 @@ namespace OHOS
             }
             sportdata->start_time = std::string(start_time);
             free(start_time); // 释放内存
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->start_time [%s]\r\n", (sportdata->start_time).c_str());
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->start_time [%s]\r\n", (sportdata->start_time).c_str());
 
             Startstate = true;
             Endstate = false; // 确保"开始"和"结束"状态互斥
@@ -540,7 +578,7 @@ namespace OHOS
             Openstate = false; // 关闭运动标志位
 
             free(end_time); // 释放内存
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str());
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str());
 #if READTEST
             if (SaveSportData() == false)
             {
@@ -756,14 +794,14 @@ namespace OHOS
         Trainingdata data;
         data.src = Openingway;
         data.bt = static_cast<uint32_t>(sportdata->sportType);
-        data.ty = static_cast<uint32_t>(sportdata->sportId);
+        data.ty = static_cast<uint32_t>(GetBleSportId(sportdata->sportType, sportdata->sportId));
         data.st = static_cast<uint32_t>(sportdata->starttime);
         data.sp = static_cast<uint32_t>(sportdata->endtime);
         data.tgt = static_cast<uint32_t>(sportdata->sportTagType);
         data.tg = static_cast<uint32_t>(sportdata->tag);
         data.pg = static_cast<uint32_t>(sportdata->goaldegree);
         data.du = static_cast<uint32_t>(sportdata->duration);
-        data.ca = static_cast<uint32_t>(sportdata->calories);
+        data.ca = static_cast<uint32_t>(sportdata->calories * 10);
         data.di = static_cast<uint32_t>(sportdata->distance);
         data.hr = static_cast<uint32_t>(sportdata->avgheart);
         data.stp = static_cast<uint32_t>(sportdata->steps);
@@ -871,7 +909,7 @@ namespace OHOS
     {
         msg_get_train_data_info_t data;
         memset(&data, 0, sizeof(msg_get_train_data_info_t));
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->starttime %d \r\n", sportdata->starttime);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->starttime %d \r\n", sportdata->starttime);
         data.st = sportdata->starttime;
         data.hr = sportdata->heart;
         data.ca = sportdata->calories;
@@ -901,14 +939,14 @@ namespace OHOS
             if (ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_AUTO))
             {
                 freq = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_FREQ);
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"freq is %d\r\n", freq); // 获取实时数据频率
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "freq is %d\r\n", freq); // 获取实时数据频率
                 if (sportdata->duration % freq == 0)
                 {
-                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"SendLiveData is OK\r\n");
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SendLiveData is OK\r\n");
                     SendLiveData(); // 发送实时数据
                 }
             }
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes);
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes);
         }
 
         int hour = g_motionTimes / NUM_TIME_HOUR;
@@ -936,7 +974,7 @@ namespace OHOS
                 return;
             }
             gTraingCardPresenter->ModifiesTime();
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"TraingTimerCallback\r\n");
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback\r\n");
         }
 
         /* 开启定时器 */
@@ -984,7 +1022,7 @@ namespace OHOS
                     return;
                 }
                 g_startCounting = NULL;
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"g_motionTimes:%d\r\n", sportdata->duration);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_motionTimes:%d\r\n", sportdata->duration);
                 g_motionTimes = 0;
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisableTimer!");
             }