+/***\r
+ * @Date: 2024-07-06 16:27:31\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-08-02 10:21:14\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp\r
+ */\r
/***\r
* @Date: 2024-04-26 09:23:18\r
* @LastEditors: Caisking 3449750381@qq.com\r
// 计时器更新timer\r
void TraingCardPresenter::ModifiesTime()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ModifiesTime begin");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModifiesTime begin");\r
std ::string TimeStr = TraingModel::GetInstance()->DisplayMotionDuration();\r
\r
/*灭屏状态不刷新UI*/\r
{\r
TrainingDataView::GetInstance()->GetTimeLabel()->SetText(TimeStr.c_str());\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ModifiesTime end");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModifiesTime end");\r
}\r
\r
/* --------------------------------- cywee库操作 -------------------------------- */\r
std::string calorieStr = (sportdata->calories != 0) ? std::to_string(sportdata->calories) : DEFAULT_DASH;\r
// 训练强度刷新\r
UIResourceTextId intensityid = TraingModel::GetInstance()->GetIntensity();\r
- TrainingDetailView::GetInstance()->Get_Intensity_Button()->SetFontId(intensityid);\r
+ // printf("intensityid %d \r\n", intensityid);\r
+ TrainingDetailView::GetInstance()->Get_Intensity_Button()->SetTextId(intensityid);\r
\r
+ TrainingDataView::GetInstance()->GetProgress()->SetValue(sportdata->goaldegree); // 目标完成度\r
TrainingDataView::GetInstance()->GetHeartLabel()->SetText(heartStr.c_str()); // 心率\r
TrainingDetailView::GetInstance()->GetCalorieLabel()->SetText(calorieStr.c_str()); // 卡路里\r
TrainingDetailView::GetInstance()->GetMileLabel()->SetText(distanceStr.c_str()); // 距离\r
TrainingDetailView::GetInstance()->GetStepLabel()->SetText(stepsStr.c_str()); // 步数\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[Calories: %s, Distance: %s, Steps: %s Intensityid: %d]", calorieStr.c_str(), distanceStr.c_str(), stepsStr.c_str(), intensityid);\r
+\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[Calories: %s, Distance: %s, Steps: %s Intensityid: %d]", calorieStr.c_str(), distanceStr.c_str(), stepsStr.c_str(), intensityid);\r
// 释放sportdata内存\r
}\r
+#if 0\r
/*刷新 time 和 data */\r
+ void TraingCardPresenter::OnTickEvent()\r
+ {\r
+ // 未开启训练 直接退出\r
+ if (TraingModel::GetInstance()->GetSportState() == ExerciseState::General)\r
+ return;\r
+ // 刷新训练数据界面 时间\r
+ TrainingDataView::GetInstance()->UpdataTime();\r
+ // 刷新训练数据界面 心率 卡路里 距离 步数 训练强度 目标完成度\r
+ RefreshData();\r
+ }\r
+#endif\r
+#if 1\r
void TraingCardPresenter::Notify(void)\r
{\r
// 未开启训练 直接退出\r
// 刷新训练数据界面 心率 卡路里 距离 步数 训练强度 目标完成度\r
RefreshData();\r
}\r
+#endif\r
/* --------------------------------- 点击事件处理 --------------------------------- */\r
bool TraingCardPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU has delete pm_id_Sport vote");\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU SLEEP SUCCESS");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU SLEEP SUCCESS");\r
}\r
\r
/*添加睡眠否决投票*/\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU has got pm_id_Sport vote");\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU WAKEUP SUCCESS");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_MAIN_SERVICE, "Sport SERVICE MCU WAKEUP SUCCESS");\r
}\r
\r
#ifdef __cplusplus\r
\r
TraingCardView::TraingCardView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView::TraingCardView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingCardView::TraingCardView");\r
InitTimer(); // 开启计时器\r
TraingModel::GetInstance()->SetSportState(ExerciseState::Start); // 设置运动状态为开始\r
TraingModel::GetInstance()->SetTimestamp();\r
// swipe_->HorAdd(DetailView);\r
\r
swipe_->VerAdd(DetailView, UICrossView::VPage::DOWN_PAGE);\r
- swipe_->SetHorCurrentPage(Control_Card::DATA);//设置进入索引 [数据]\r
+ swipe_->SetHorCurrentPage(Control_Card::DATA); // 设置进入索引 [数据]\r
\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView::InitPage over");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingCardView::InitPage over");\r
}\r
\r
/* DeInit:删除组件 */\r
void TraingCardView::DeInit()\r
{\r
swipe_->RemoveAll();\r
+\r
/*界面*/\r
- if (ControlView != nullptr)\r
- {\r
- ControlView->RemoveAll();\r
- delete ControlView;\r
- ControlView = nullptr;\r
- }\r
- if (DataVIew != nullptr)\r
- {\r
- DataVIew->RemoveAll();\r
- delete DataVIew;\r
- DataVIew = nullptr;\r
- }\r
- if (DetailView != nullptr)\r
- {\r
- DetailView->RemoveAll();\r
- delete DetailView;\r
- DetailView = nullptr;\r
- }\r
- if (MusicView != nullptr)\r
- {\r
- MusicView->RemoveAll();\r
- delete MusicView;\r
- MusicView = nullptr;\r
- }\r
- if (endView != nullptr)\r
- {\r
- endView->RemoveAll();\r
- delete endView;\r
- endView = nullptr;\r
- }\r
- if (getView != nullptr)\r
- {\r
- getView->RemoveAll();\r
- delete getView;\r
- getView = nullptr;\r
- }\r
- if (heartView != nullptr)\r
- {\r
- heartView->RemoveAll();\r
- delete heartView;\r
- heartView = nullptr;\r
- }\r
+ ControlView->RemoveAll();\r
+ DataVIew->RemoveAll();\r
+ DetailView->RemoveAll();\r
+ MusicView->RemoveAll();\r
+ endView->RemoveAll();\r
+ getView->RemoveAll();\r
+ heartView->RemoveAll();\r
\r
/*标签*/\r
- if (endtitle != nullptr)\r
- {\r
- delete endtitle;\r
- endtitle = nullptr;\r
- }\r
- if (notelabel != nullptr)\r
- {\r
- delete notelabel;\r
- notelabel = nullptr;\r
- }\r
- if (endnotelabel != nullptr)\r
- {\r
- delete endnotelabel;\r
- endnotelabel = nullptr;\r
- }\r
- if (labeltitle != nullptr)\r
- {\r
- delete labeltitle;\r
- labeltitle = nullptr;\r
- }\r
- if (labeltag != nullptr)\r
- {\r
- delete labeltag;\r
- labeltag = nullptr;\r
- }\r
- if (labelgettag != nullptr)\r
- {\r
- delete labelgettag;\r
- labelgettag = nullptr;\r
- }\r
- if (labelpre != nullptr)\r
- {\r
- delete labelpre;\r
- labelpre = nullptr;\r
- }\r
- if (hearttitle != nullptr)\r
- {\r
- delete hearttitle;\r
- hearttitle = nullptr;\r
- }\r
- if (labelnote != nullptr)\r
- {\r
- delete labelnote;\r
- labelnote = nullptr;\r
- }\r
+ delete endtitle;\r
+ endtitle = nullptr;\r
+ delete notelabel;\r
+ notelabel = nullptr;\r
+ delete endnotelabel;\r
+ endnotelabel = nullptr;\r
+ delete labeltitle;\r
+ labeltitle = nullptr;\r
+ delete labeltag;\r
+ labeltag = nullptr;\r
+ delete labelgettag;\r
+ labelgettag = nullptr;\r
+ delete labelpre;\r
+ labelpre = nullptr;\r
+ delete hearttitle;\r
+ hearttitle = nullptr;\r
+ delete labelnote;\r
+ labelnote = nullptr;\r
/*图片*/\r
- if (heartiamge != nullptr)\r
- {\r
- delete heartiamge;\r
- heartiamge = nullptr;\r
- }\r
+ delete heartiamge;\r
+ heartiamge = nullptr;\r
+\r
/*按键*/\r
- if (exit != nullptr)\r
- {\r
- delete exit;\r
- exit = nullptr;\r
- }\r
- if (back != nullptr)\r
- {\r
- delete back;\r
- back = nullptr;\r
- }\r
- if (buttonok_ != nullptr)\r
- {\r
- delete buttonok_;\r
- buttonok_ = nullptr;\r
- }\r
- if (buttonnote_ != nullptr)\r
- {\r
- delete buttonnote_;\r
- buttonnote_ = nullptr;\r
- }\r
- /*动画*/\r
- if (imageAnimator != nullptr)\r
- {\r
- imageAnimator->Stop();\r
- delete imageAnimator;\r
- imageAnimator = nullptr;\r
- }\r
+ delete exit;\r
+ exit = nullptr;\r
+ delete back;\r
+ back = nullptr;\r
+ delete buttonok_;\r
+ buttonok_ = nullptr;\r
+ delete buttonnote_;\r
+ buttonnote_ = nullptr;\r
\r
- if (swipe_ != nullptr)\r
- {\r
- delete swipe_;\r
- swipe_ = nullptr;\r
- }\r
+ /*动画*/\r
+ imageAnimator->Stop();\r
+ delete imageAnimator;\r
+ imageAnimator = nullptr;\r
+\r
+ /*卡片*/\r
+ delete ControlView;\r
+ ControlView = nullptr;\r
+ delete DataVIew;\r
+ DataVIew = nullptr;\r
+ delete DetailView;\r
+ DetailView = nullptr;\r
+ delete swipe_;\r
+ delete MusicView;\r
+ MusicView = nullptr;\r
+ /*弹窗*/\r
+ delete endView;\r
+ endView = nullptr;\r
+ delete getView;\r
+ getView = nullptr;\r
+ delete heartView;\r
+ heartView = nullptr;\r
+\r
+ swipe_ = nullptr;\r
}\r
UICardPage *TraingCardView::InitControlPage(void)\r
{\r
InitView();\r
viewiInitStatus = true;\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingCardView PreLoad");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingCardView PreLoad");\r
}\r
void TraingCardView::OnStart()\r
{\r
/*设置弹窗状态*/\r
void TraingCardView::SetPopupViewStatus(PopupType type, bool status)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetPopupViewStatus %d", type);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetPopupViewStatus %d", type);\r
UIView *popupView = nullptr;\r
if (type == EndPopup)\r
{\r
void TraingCardView::ShowEndView()\r
{\r
// momentumFlag = false; // 标志位还原\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowEndView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowEndView");\r
endView = new UIScrollView();\r
if (endView == nullptr)\r
{\r
endView->SetDraggable(false);\r
endView->SetTouchable(true);\r
endView->SetVisible(false); // 界面隐藏\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowEndView end");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowEndView end");\r
}\r
/*目标达成界面*/\r
void TraingCardView::ShowGetTagView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowGetTagView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowGetTagView");\r
getView = new UIScrollView();\r
if (getView == nullptr)\r
{\r
getView->SetDraggable(false);\r
getView->SetTouchable(true);\r
getView->SetVisible(false); // 界面隐藏\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowGetTagView end");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowGetTagView end");\r
}\r
/*最高心率提醒弹窗*/\r
void TraingCardView::ShowHeartView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowHeartView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowHeartView");\r
heartView = new UIScrollView();\r
if (heartView == nullptr)\r
{\r
heartView->SetDraggable(false);\r
heartView->SetTouchable(true);\r
heartView->SetVisible(false); // 界面隐藏\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ShowHeartView end");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShowHeartView end");\r
}\r
/*获取运动量结束弹窗界面刷新*/\r
bool TraingCardView::RefreshEndView()\r
{\r
// 获取训练卡路里判断运动量\r
momentumFlag = TraingModel::GetInstance()->GetMomentum();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "momentumFlag %d", momentumFlag);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "momentumFlag %d", momentumFlag);\r
\r
if (momentumFlag)\r
{\r
default:\r
break;\r
}\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"tag[%d]-tagType[%d]-tagString[%s]\r\n", tag, tagType, tagString.c_str());\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "tag[%d]-tagType[%d]-tagString[%s]\r\n", tag, tagType, tagString.c_str());\r
InitLabel(labeltag, 70, 215, 326, 97, "label2", tagString.c_str(), DEFAULT_VECTOR_FONT_FILENAME, 80);\r
labeltag->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));\r
getView->Add(labeltag);\r
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-02 09:35:58
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp
+ */
#include "traing/training_card/include/TrainingDataView.h"
#include "traing/training_card/include/TraingCardView.h"
Add(image_heart);
Add(image_iconup);
Add(image_iconpoint);
+
+ // 初始化进度条
+ circleProgress = new UICircleProgress();
+ circleProgress->SetPosition(0, 0);
+ circleProgress->Resize(466, 466);
+ circleProgress->SetViewId("circleProgress");
+ circleProgress->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+ circleProgress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);
+ circleProgress->SetBackgroundStyle(STYLE_LINE_WIDTH, 12);
+ circleProgress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6);
+ circleProgress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);
+ circleProgress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff45A5FF);
+ circleProgress->SetForegroundStyle(STYLE_LINE_WIDTH, 10);
+ circleProgress->SetCenterPosition(235, 235);
+ circleProgress->SetRadius(215);
+ circleProgress->SetStartAngle(215);
+ circleProgress->SetEndAngle(505);
+ circleProgress->SetCapType(CAP_ROUND);
+ circleProgress->SetValue(0);
+ Add(circleProgress);
+
// 初始化Lable
UIResourceTextId sport_id = TraingModel::GetInstance()->GetSportEvent();
InitLabelExt(sportlabel, 83, 120, 300, 35, "label2", sport_id, DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabel(curtimelabel, 155, 60, 150, 50, "label1", "23:54", DEFAULT_VECTOR_FONT_FILENAME, 40);
- InitLabel(timerlabel, 40, 163, 400, 140, "label3", "00:00:00", GILROY_BOLD_FONT, 80);
+ InitLabel(timerlabel, 0, 163, 466, 150, "label3", "00:00:00", GILROY_BOLD_FONT, 80);
InitLabel(heartlabel, 85, 284, 230, 80, "label4", "144", GILROY_BOLD_FONT, 60);
InitLabel(ubpmlabel, 218, 284, 230, 80, "label5", "bpm", DEFAULT_VECTOR_FONT_FILENAME, 60);
ubpmlabel->SetTextColor(Color::Gray());
Add(timerlabel);
Add(heartlabel);
Add(ubpmlabel);
+
#if 0
// 初始化Button
InitButton(buttonNote, 275, 350, 26, 26, BUTTONNOTE);
delete image_iconpoint;
image_iconpoint = nullptr;
}
+ if (circleProgress != nullptr)
+ {
+ delete circleProgress;
+ circleProgress = nullptr;
+ }
}
void TrainingDataView::PreLoad(void)
}
void TrainingDataView::UnLoad(void) {}
-
UILabelExt *TrainingDataView::GetTimeLabel()
{
return timerlabel;
{
return heartlabel;
}
+ UICircleProgress *TrainingDataView::GetProgress()
+ {
+ return circleProgress;
+ }
/*更新当前时间*/
void TrainingDataView::UpdataTime()
{