From: Caisking <3449750381@qq.com> Date: Thu, 11 Apr 2024 08:35:43 +0000 (+0800) Subject: 解决主界面组件析构问题 X-Git-Tag: release_V1.2.70_20241020_135402~1210^2~6 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=5a1adb5ed5287b8629accd4e83d0662f6646c465;p=mirrors%2FFD230.git 解决主界面组件析构问题 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp index 427cf9fad..d0ff34a9c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp @@ -45,6 +45,8 @@ namespace OHOS MainViewSample::~MainViewSample() { + mainSwipeGroup->RemoveAll(); + dropDownView->ClearBackgroundBlur(); messageView->ClearBackgroundBlur(); @@ -68,12 +70,14 @@ namespace OHOS if (activityWeekView != nullptr) { + activityWeekView->RemoveAll(); delete activityWeekView; activityWeekView = nullptr; } if (playersView != nullptr) { + playersView->RemoveAll(); delete playersView; playersView = nullptr; } @@ -109,6 +113,7 @@ namespace OHOS /* -------------------------------------------------------------------------- */ if (compassControlView != nullptr) { + compassControlView->RemoveAll(); delete compassControlView; compassControlView = nullptr; } @@ -121,13 +126,13 @@ namespace OHOS } if (bloodView != nullptr) { - // bloodView->RemoveAll(); + bloodView->RemoveAll(); delete bloodView; bloodView = nullptr; } if (traingView != nullptr) { - // traingView->RemoveAll(); + traingView->RemoveAll(); delete traingView; traingView = nullptr; } 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 94d7d05ff..1d267d0f9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -397,8 +397,8 @@ 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); + cyweeInfo = new cywee_activity_result_t(); // 在case块内分配内存 + rets = memcpy_s(cyweeInfo, sizeof(cywee_activity_result_t), (cywee_activity_result_t *)request->data, request->len); if (rets != EOK) { delete cyweeInfo; // 处理内存分配失败的情况 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 7d5e57a1e..194e064cc 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 @@ -117,7 +117,6 @@ 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: @@ -127,7 +126,6 @@ namespace OHOS do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR); break; case ExerciseClass::FREE_TRAINING: - PRINT("555\r\n"); do_cywee_service_check_msg(SPORT_ACTIVE_MODE_FREE_TRAINING); break; default: @@ -223,7 +221,6 @@ namespace OHOS if (strcmp(view.GetViewId(), BUTTONEND) == 0) { ControlSensor(ExerciseState::End); - // 弹窗显示是否结束 } return true; diff --git a/code/sdk/drivers/peripheral/cywee/service/cywee_service.c b/code/sdk/drivers/peripheral/cywee/service/cywee_service.c index 8e30013fb..aedb0d27b 100644 --- a/code/sdk/drivers/peripheral/cywee/service/cywee_service.c +++ b/code/sdk/drivers/peripheral/cywee/service/cywee_service.c @@ -289,6 +289,7 @@ static void cywee_service_check_task(void const *arg) }else if(mail.cmd == SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR){ cyw_activity_mode_change(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR); }else if(mail.cmd == SPORT_ACTIVE_MODE_FREE_TRAINING){ + PRINT("111\r\n"); cyw_activity_mode_change(SPORT_ACTIVE_MODE_FREE_TRAINING); }else if(mail.cmd == SPORT_ACTIVE_MODE_AR_ALERT){ cyw_activity_mode_change(SPORT_ACTIVE_MODE_AR_ALERT); diff --git a/code/sdk/drivers/peripheral/cywee/src/main_dml.c b/code/sdk/drivers/peripheral/cywee/src/main_dml.c index 57723e5f3..84e110b5b 100644 --- a/code/sdk/drivers/peripheral/cywee/src/main_dml.c +++ b/code/sdk/drivers/peripheral/cywee/src/main_dml.c @@ -225,7 +225,7 @@ void cyw_activity_mode_change(int mode) memset(&scl, 0, sizeof(scl)); scl.iData[0] = 1; CWM_SettingControl(SCL_REQ_ACTIVITY_EXIT, &scl); - + free_training_deinit(); switch (mode) { //一般模式(生活模式) @@ -274,8 +274,8 @@ void cyw_activity_mode_change(int mode) //自由运动 case SPORT_ACTIVE_MODE_FREE_TRAINING: + PRINT("FREE 111 \r\n"); free_training_init(); - free_training_deinit(); memset(&scl, 0, sizeof(scl)); scl.iData[0] = 1; scl.iData[1] = SPORT_ACTIVE_MODE_FREE_TRAINING;