From 05bf0e3ea43baca93a39e6e6c4b8954cba5965b7 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Wed, 25 Dec 2024 14:26:31 +0800 Subject: [PATCH] =?utf8?q?1262,=E6=89=8B=E8=A1=A8=E4=B8=8D=E8=87=AA?= =?utf8?q?=E5=8A=A8=E6=81=AF=E5=B1=8F=EF=BC=8C=E8=90=BD=E8=85=95=E6=81=AF?= =?utf8?q?=E5=B1=8F=E4=B9=9F=E4=B8=8D=E7=94=9F=E6=95=88=EF=BC=8C=E8=BF=9B?= =?utf8?q?=E5=85=A5=E6=94=AF=E4=BB=98=E5=AE=9D=E6=89=AB=E7=A0=81=E9=A1=B5?= =?utf8?q?=E9=9D=A2=E5=86=8D=E9=80=80=E5=87=BA=E6=81=A2=E5=A4=8D=E6=AD=A3?= =?utf8?q?=E5=B8=B8=EF=BC=8C=E5=87=BA=E7=8E=B0=E4=B8=80=E6=AC=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../main/include/MainPresenterSample.h | 6 ++- .../nativeui/main/src/MainPresenterSample.cpp | 51 +++++++++++-------- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h index 33e842021..646ff5c12 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-01 15:10:34 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-11-25 21:24:31 + * @LastEditTime: 2024-12-25 11:33:45 * @FilePath: * /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h */ @@ -115,12 +115,14 @@ private: void ProcessDataNotify(void); void SetCircleProgress(void); void SetCompassRotate(void); + void OpenCompassSensor(void); + void CloseCompassSensor(void); KeyInputListener *keyActListener_{nullptr}; uint8_t state_ = UICheckBox::UICheckBoxState::MAX_STATUS_NUM; int64_t playerCurrentTime_{0}; int64_t playerMusicDuration_{0}; int64_t playerProgressValue_{0}; - bool isCompassSensorOpened_{false}; + bool isCompassSensorOpened_{false}; //指南针传感器是否已经打开 CardId previousCardId{WATCH_FACE}; int isPullDownPageView{false};//是否已经是在下拉界面 diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp index b4d7f44f5..3871b9788 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp @@ -11,7 +11,7 @@ #include "PlayersModel.h" #include "PlayersPresenter.h" #include "CompassPresenter.h" -#include "CompassModel.h" +#include "compass/include/CompassModel.h" #include "CompassCalibrationView.h" #include "drag_event.h" #include "graphic_service.h" @@ -121,10 +121,6 @@ namespace OHOS } void MainPresenterSample::OnStop(void) { - if (isCompassSensorOpened_) - { - CompassModel::GetInstance()->CloseCompassSensor(); - } Presenter::OnStop(); RootView::GetInstance()->ClearOnKeyActListener(); if (keyActListener_ != nullptr) @@ -133,6 +129,7 @@ namespace OHOS keyActListener_ = nullptr; } PullUpDown_StopTimer(); + CloseCompassSensor(); //切换Slice时要关闭指南针传感器 } bool MainPresenterSample::OnClick(UIView &view, const ClickEvent &event) @@ -311,21 +308,6 @@ namespace OHOS CardId cardId = view_->GetHorCurrentCard(); SetTaskPeroid(cardId); - if (cardId == COMPASS) - { - if (!isCompassSensorOpened_) - { - CompassModel::GetInstance()->OpenCompassSensor(); - isCompassSensorOpened_ = true; - ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); //滑动到指南针页面时开启屏幕常亮 - } - } - else if (isCompassSensorOpened_) - { - CompassModel::GetInstance()->CloseCompassSensor(); - isCompassSensorOpened_ = false; - ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); //滑动到指南针页面时取消屏幕常亮 - } WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnSwipe OnSwipe"); return; } @@ -401,6 +383,29 @@ namespace OHOS DetermineToRotate(); } } + + // 滑动到指南针卡片开启指南针传感器 + void MainPresenterSample::OpenCompassSensor(void) + { + if (!isCompassSensorOpened_) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OpenCompassSensor"); + isCompassSensorOpened_ = true; + CompassModel::GetInstance()->OpenCompassSensor(); + ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); //滑动到指南针页面时开启屏幕常亮 + } + } + // 关闭指南针传感器 + void MainPresenterSample::CloseCompassSensor(void) + { + if(isCompassSensorOpened_) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CloseCompassSensor"); + isCompassSensorOpened_ = false; + CompassModel::GetInstance()->CloseCompassSensor(); + ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); //滑动到指南针页面时取消屏幕常亮 + } + } /* --------------------------------- 主界面卡片功能 -------------------------------- */ void MainPresenterSample::Notify(void) { @@ -413,6 +418,11 @@ namespace OHOS HeartModel::GetInstance()->Heart_Stop(); HeartModel::GetInstance()->Heart_Control(HeartState::End,HeartCheck::CARDCHECK); //主动检测心率 } + // 从指南针卡片跳转到其他卡片时切换到关闭长亮屏 + if (previousCardId == COMPASS && currentCardId != COMPASS) + { + CloseCompassSensor(); + } // 从睡眠卡片跳转到其他卡片时切换到睡眠卡片主界面 if (previousCardId == SLEEP && currentCardId != SLEEP) @@ -442,6 +452,7 @@ namespace OHOS break; case COMPASS: + OpenCompassSensor(); SetCompassRotate(); break; -- 2.17.1