From: Caisking <3449750381@qq.com> Date: Thu, 11 Apr 2024 07:18:20 +0000 (+0800) Subject: 训练部分数据处理 X-Git-Tag: release_V1.2.70_20241020_135402~1189^2~19 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=3a0123bc938986e5cb5b0042b0173711afd25926;p=mirrors%2FFD230.git 训练部分数据处理 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h index aa9fa12da..ec833ae16 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -37,6 +37,8 @@ #include "cywee_service.h" #include "cywee_hal.h" +#include "power_display_service.h" +#include "displaybrightness/include/DisplayBrightnessModel.h" #include @@ -167,6 +169,11 @@ namespace OHOS void InitList(); void SetQuickTraining(QuickTraining *quickTraining); QuickTraining *GetQuickTraining() const; + + /*屏幕管理*/ + void SetSteadyOn(); + void SetSteadyOff(); + /*定时器 */ std::string DisplayMotionDuration(); /*设置运动项目*/ @@ -191,6 +198,9 @@ namespace OHOS std::string motionDuration; // 训练时长 UIResourceTextId sportId_ = STR_EXTREME_SPORTS; // 训练项目 ExerciseState sportstate_ = ExerciseState::General; // 训练状态 + + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + uint32_t display_time; }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index 4f9d0eb3b..1830b4908 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -252,14 +252,23 @@ namespace OHOS return false; // 内存分配失败,返回false } imageView->SetPosition(left, top); - imageView->Resize(width, height); + imageView->SetAutoEnable(true); + // imageView->Resize(width, height); imageView->SetViewId(viewId); imageView->SetSrc(imagePath); imageView->SetVisible(true); // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::InitImageView is succeed"); return true; } - + void TraingModel::SetSteadyOn() + { + display_api->set_screen_set_keepon_timeout(-1); + } + void TraingModel::SetSteadyOff() + { + display_api->set_screen_set_keepon_timeout(0); + } + /* -------------------------------------------------------------------------- */ /*设置运动Id*/ void TraingModel::SetSportEvent(UIResourceTextId id) { @@ -273,10 +282,11 @@ namespace OHOS /*获取运动类型*/ ExerciseClass TraingModel::GetSportType() { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " GetSportType %d", sportId_); switch (sportId_) { // 室外跑步 - case UIResourceTextId::STR_EXERCISE_OUTDOORRUNNING: + case UIResourceTextId::STR_EXERCISE_OUTDOORWALKING: return ExerciseClass::OUTDOOR; break; // 室内跑步 @@ -303,15 +313,18 @@ namespace OHOS { // 不同的运动类型解析不同的数据 ExerciseClass type = GetSportType(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " AnalysisData %d", type); // 通用数据 sportdata->calories = cyweeInfo->calories; sportdata->duration = cyweeInfo->duration; + PRINT("normal sportdata->calories[%d],sportdata->duration[%d] \r\n",sportdata->calories,sportdata->duration); switch (type) { case ExerciseClass::OUTDOOR: case ExerciseClass::INDOOR: sportdata->distance = cyweeInfo->distance; sportdata->steps = cyweeInfo->steps; + PRINT("indoor sportdata->distance[%d],sportdata->steps[%d] \r\n",sportdata->distance,sportdata->steps); break; case ExerciseClass::FREE_TRAINING: break; @@ -383,6 +396,18 @@ namespace OHOS } TraingModel::GetInstance()->AnalysisData(cyweeInfo); break; + case TOPIC_EVENT_FREE_TRAINING_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; default: // 处理未知msgId的情况 break; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h index 7253a0827..aac83f943 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h @@ -31,6 +31,7 @@ #include "traing/training_card/include/TrainingDataView.h" #include "traing/training_card/include/TrainingDetailView.h" +#include "alipay/include/AlipayModel.h" namespace OHOS { enum Control_Card diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp index 5d12e9852..ef64841fb 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp @@ -10,6 +10,7 @@ #include #include "traing/training_card/include/TraingCardPresenter.h" #include "traing/include/TraingModel.h" +#include "custom_utils.h" extern "C" void do_cywee_service_check_msg(int cmd); @@ -44,8 +45,8 @@ namespace OHOS void TraingCardPresenter::OnStart() { - Presenter::OnStart(); + ScreenAlwaysOnCtr(1); // 长亮屏 } void TraingCardPresenter::OnPause(void) @@ -64,6 +65,7 @@ namespace OHOS { Presenter::OnStop(); + ScreenAlwaysOnCtr(0); // 长亮屏 } bool TraingCardPresenter::OnDrag(UIView &view, const DragEvent &event) @@ -117,6 +119,7 @@ namespace OHOS do_cywee_service_check_msg(SPORT_ACTIVE_MODE_TREADMILL); break; case ExerciseClass::OUTDOOR: + PRINT("111\r\n"); do_cywee_service_check_msg(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING); break; case ExerciseClass::INDOOR: @@ -126,7 +129,8 @@ namespace OHOS do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR); break; case ExerciseClass::FREE_TRAINING: - do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FREE_TRAINING); + PRINT("555\r\n"); + do_cywee_service_check_msg(CYWEE_SERVICE_CMD_FREE_TRAINING_MODE); break; default: break; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp index 660402863..4801607f1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp @@ -15,6 +15,7 @@ #include "font/ui_font.h" #include "traing/include/TraingModel.h" +#include "custom_utils.h" extern "C" { @@ -37,6 +38,8 @@ namespace OHOS InitTimer(); // 设置运动状态为开始 TraingModel::GetInstance()->SetSportState(ExerciseState::Start); + // 设置常亮 + ScreenAlwaysOnCtr(true); } TraingCardView::~TraingCardView() @@ -47,6 +50,8 @@ namespace OHOS DisableTimer(); // 设置运动状态为结束 TraingModel::GetInstance()->SetSportState(ExerciseState::End); + // 设置为正常 + ScreenAlwaysOnCtr(false); } TraingCardView *TraingCardView::GetInstance() diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp index f09677f00..08fe4be02 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDetailView.cpp @@ -71,7 +71,7 @@ namespace OHOS Add(calorielabel); SetTouchable(true); - SetIntercept(true); + // SetIntercept(true); } /* DeInit:删除组件 */ void TrainingDetailView::DeInit()