增加训练目标以及训练目标类型接口
authorCaisking <3449750381@qq.com>
Wed, 17 Apr 2024 12:42:14 +0000 (20:42 +0800)
committerCaisking <3449750381@qq.com>
Wed, 17 Apr 2024 12:42:14 +0000 (20:42 +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/src/TraingSetView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp

index f37743c..7455ced 100644 (file)
@@ -145,6 +145,13 @@ namespace OHOS
         EXTREME,
         OTHER
     };
+    // 训练目标类型
+    enum class ExerciseTag
+    {
+        Duration,
+        Calories,
+        Distance
+    };
     struct SportData
     {
         uint64 starttime;         // 开始时间时间戳
@@ -157,11 +164,13 @@ namespace OHOS
         int intensity;            // 训练强度 (0:较低强度 1:中等强度 2:高等强度 3:超高强度)
         int heart;                // 运动心率
         int avgheart;             // 训练平均心率
+        int tag;                  // 训练目标
         std::string start_date;   // 训练开始日期
         std::string start_time;   // 训练开始时间
         std::string end_time;     // 训练结束时间
         Exercisetype sportType;   // 训练类型
         UIResourceTextId sportId; // 训练Id
+        ExerciseTag sportTag;     // 训练目标类型
 
         void Initialize()
         {
@@ -175,11 +184,13 @@ namespace OHOS
             intensity = 1;
             heart = 0;
             avgheart = 0;
+            tag = 0;
             start_date = nullptr;
             start_time = nullptr;
             end_time = nullptr;
             sportType = Exercisetype::FITNESS;
             sportId = UIResourceTextId::STR_EXTREME_SPORTS;
+            sportTag = ExerciseTag::Duration;
         }
 
         void Reset()
@@ -233,6 +244,8 @@ namespace OHOS
         std::string AnalysisTimestamp(uint64_t timestamp);
         /*获取运动总时长*/
         uint32_t GetTrainingTime();
+        /*设置训练目标类型以及训练目标*/
+        void SetSportTag(ExerciseTag tagtpye, int tag);
 
         std::string GetStartTiemStr();
         std::string GetEndTiemStr();
@@ -247,10 +260,10 @@ namespace OHOS
         std::string motionDuration;                         // 显示训练时长
         UIResourceTextId sportId_ = STR_EXTREME_SPORTS;     // 训练项目
         Exercisetype sportType_ = Exercisetype::FITNESS;    // 训练类型
-        ExerciseState sportstate_ = ExerciseState::General; // 训练状态
-        // std::string startdate_{nullptr};
-        // std::string starttime_{nullptr};
-        // std::string endtime_{nullptr};
+        ExerciseState sportState_ = ExerciseState::General; // 训练状态
+        ExerciseTag sportTag_ = ExerciseTag::Distance;      // 训练目标类型
+
+        int tag_ = 0;                                        // 训练目标
         int totalHeartRate = 0;
         int countHeartRate = 0;
         /*std::unique_ptr<SportData> sportdata;*/ // 使用 std::unique_ptr 管理 SportData 对象
index 78a8467..ac1c453 100644 (file)
@@ -373,12 +373,12 @@ namespace OHOS
     /*设置运动状态*/
     void TraingModel::SetSportState(ExerciseState state)
     {
-        sportstate_ = state;
+        sportState_ = state;
     }
     /*获取运动状态*/
     ExerciseState TraingModel::GetSportState()
     {
-        return sportstate_;
+        return sportState_;
     }
     void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo)
     {
@@ -430,7 +430,7 @@ namespace OHOS
         ExerciseState currentState = GetSportState(); // 获取当前运动状态
         if (currentState == ExerciseState::Start)
         {
-            sportdata->Reset();//重置结构体
+            sportdata->Reset(); // 重置结构体
             sportdata->starttime = time;
             char *start_date = (char *)malloc(9 * sizeof(char)); // 分配内存给start_date
             if (uapi_get_YYMMDD_Time(start_date, '/') != ERRCODE_SUCC)
@@ -517,6 +517,12 @@ namespace OHOS
         int averageHeartRate = totalHeartRate / countHeartRate; // 计算平均心率
         return averageHeartRate;
     }
+    /*设置训练目标类型以及训练目标*/
+    void TraingModel::SetSportTag(ExerciseTag tagtpye, int tag)
+    {
+        sportTag_ = tagtpye;
+        tag_ = tag;
+    }
 /* -------------------------------------------------------------------------- */
 #if TIMER
     /* 时间显示 */
index d15c3ab..bdb4ce2 100644 (file)
@@ -53,10 +53,10 @@ namespace OHOS
 \r
         // 初始化Lable\r
         UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent();\r
-        TraingModel::GetInstance()->InitLabelExt(labeltitle, 173, 52, 120, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
 \r
-        TraingModel::GetInstance()->InitLabel(labeltime, 130, 150, 60, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-        TraingModel::GetInstance()->InitLabel(labelKcal, 130, 270, 60, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabel(labeltime, 100, 150, 150, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabel(labelKcal, 100, 270, 150, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
 \r
         container_->Add(labeltitle);\r
         container_->Add(labeltime);\r
index d606ff0..31fa6f1 100644 (file)
@@ -72,16 +72,6 @@ namespace OHOS
 \r
     bool TraingCardPresenter::OnDrag(UIView &view, const DragEvent &event)\r
     {\r
-        // uint8_t viewid = TraingCardView::GetInstance()->GetCurrentPage();\r
-        // // const char *viewid = view.GetViewId();\r
-        // if (viewid == Control_Card::DATA)\r
-        // {\r
-        //     if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP)\r
-        //     {\r
-        //         NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGDETAIL);\r
-        //     }\r
-        //     return true;\r
-        // }\r
         UNUSED(view);\r
         return true;\r
     }\r
@@ -268,4 +258,5 @@ namespace OHOS
         }\r
         return true;\r
     }\r
+\r
 }\r