From: luozheng <1732036298@qq.com> Date: Thu, 14 Mar 2024 08:20:49 +0000 (+0800) Subject: 指南针界面设置为常亮,主界面指南针为主视图的卡片视图故不设置 X-Git-Tag: release_V1.2.70_20241020_135402~1274^2~8^2~8 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=a1373389aab521aef7dcc72e2202315f61339773;p=mirrors%2FFD230.git 指南针界面设置为常亮,主界面指南针为主视图的卡片视图故不设置 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassModel.cpp index da7921d5a..d789e6d0d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassModel.cpp @@ -28,12 +28,20 @@ CompassModel *CompassModel::GetInstance(void) return &instance; } +/* + * @brief 设置校准状态 +*/ void CompassModel::SetCalibrationStatus(uint8_t status) { calibrationStatus = status; } +/* + * @brief 获取校准状态 + * @param void + * @return 如果校准精度小于3,返回1,否则返回0 +*/ uint8_t CompassModel::GetCalibrationStatus(void) { if( mag_service_get_iAccuracy() < 3) @@ -42,11 +50,17 @@ uint8_t CompassModel::GetCalibrationStatus(void) return 0; } +/* + * @brief 设置显示的角度 +*/ void CompassModel::SetDisplayAngle(uint16_t angle) { displayAngle = (int16_t)mag_service_get_fAzimuth(); } +/* + * @brief 获取显示角度 +*/ uint16_t CompassModel::GetDisplayAngle(void) { return displayAngle; @@ -69,6 +83,11 @@ time_t CompassModel::GetCurrentTime(void) return tv.tv_sec; } +/* + * @brief 打开指南针传感器 + * @param void + * @return 如果指南针传感器打开成功则返回true,否则返回false +*/ bool CompassModel::OpenCompassSensor(void) { @@ -76,6 +95,11 @@ bool CompassModel::OpenCompassSensor(void) return true; } +/* + * @brief 关闭指南针传感器 + * @param void + * @return 如果指南针传感器关闭成功则返回true,否则返回false +*/ bool CompassModel::CloseCompassSensor(void) { do_mag_service_check_msg(MAG_SERVICE_CMD_STOP_CHECK); diff --git a/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassPresenter.cpp index e92033630..b225fa967 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassPresenter.cpp @@ -70,6 +70,11 @@ CompassPresenter* CompassPresenter::GetInstance(void) return g_pMainView; } //显示指南针的角度 + +/* + * @brief 根据传入的角度值 angle 来更新指南针的显示方向 + * @param angle 角度值 +*/ void CompassPresenter::DisplayAngleRight(uint16_t angle) { if ((angle >= RIGHT_WESTNORTH_UP_338) || (angle >= 0 && angle < RIGHT_NORTH_DOWN_23)) { @@ -82,6 +87,9 @@ void CompassPresenter::DisplayAngleRight(uint16_t angle) } } +/* + * @brief 校验 CompassView 的实例是否存在,并确定传入的角度值是否有效 +*/ void CompassPresenter::DisplayAngleDir(uint16_t angle) { if (CompassView::GetInstance() == nullptr) { @@ -93,7 +101,9 @@ void CompassPresenter::DisplayAngleDir(uint16_t angle) } } -//在范围内旋转指南针 +/* + * @brief 根据上一次和当前的旋转角度来判断如何旋转指南针,使其指向正确的方向 +*/ void CompassPresenter::InScopeRotate(void) { angleDiff = lastRotateAngle - currentRotateAngle; @@ -138,7 +148,9 @@ void CompassPresenter::InScopeRotate(void) } } -//在指南针视图初始化的情况下,根据旋转角度的变化来执行指南针的旋转操作,并在需要的时候更新显示的角度和方向。 +/* + * @brief 在指南针视图初始化的情况下,根据旋转角度的变化来执行指南针的旋转操作,并在需要的时候更新显示的角度和方向。 +*/ void CompassPresenter::DetermineToRotate(void) { if (CompassView::GetInstance() == nullptr) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp index 0e6d57d7d..78e9ec4f3 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/compass/src/MainCompassPresenter.cpp @@ -9,51 +9,62 @@ #include "MainCompassView.h" #include "wearable_log.h" #include "common/key_code.h" -namespace OHOS { -static MainCompassPresenter *g_pMainView = nullptr; - -MainCompassPresenter::MainCompassPresenter() +#include "custom_utils.h" +namespace OHOS { - g_pMainView = this; -} + static MainCompassPresenter *g_pMainView = nullptr; -MainCompassPresenter::~MainCompassPresenter() -{ - g_pMainView = nullptr; -} + MainCompassPresenter::MainCompassPresenter() + { + g_pMainView = this; + } -void MainCompassPresenter::OnStart() -{ - Presenter::OnStart(); -} + MainCompassPresenter::~MainCompassPresenter() + { + g_pMainView = nullptr; + } -void MainCompassPresenter::OnPause(void) {} + void MainCompassPresenter::OnStart() + { + Presenter::OnStart(); + ScreenAlwaysOnCtr(1); + } -void MainCompassPresenter::OnResume(void) {} + void MainCompassPresenter::OnPause(void) {} -void MainCompassPresenter::OnStop(void) {} + void MainCompassPresenter::OnResume(void) {} + void MainCompassPresenter::OnStop(void) + { + ScreenAlwaysOnCtr(0); + } -MainCompassPresenter* MainCompassPresenter::GetInstance() -{ - return g_pMainView; -} + MainCompassPresenter *MainCompassPresenter::GetInstance() + { + return g_pMainView; + } -bool MainCompassPresenter::OnDrag(UIView& view, const DragEvent& event) -{ - UNUSED(view); - if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) { - NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST); + /* + * @拖拽监听 + */ + bool MainCompassPresenter::OnDrag(UIView &view, const DragEvent &event) + { + UNUSED(view); + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST); + } + return true; } - return true; -} -// 增加按键事件 +/* + * @brief 物理按键监听 +*/ bool MainCompassPresenter::OnKeyAct(UIView &view, const KeyEvent &event) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainCompassPresenter::OnKeyAct"); uint16 keyID = event.GetKeyId(); - //如果是power键就返回上一级 + // 如果是power键就返回上一级 if (keyID == static_cast(ZliteKeyCode::ZLITE_KEY_POWER)) { uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId(); @@ -64,14 +75,18 @@ bool MainCompassPresenter::OnKeyAct(UIView &view, const KeyEvent &event) void MainCompassPresenter::Notify() { - if (MainCompassView::GetInstance() == nullptr) { + if (MainCompassView::GetInstance() == nullptr) + { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[Notify]MainCompassView::GetInstance() == nullptr"); return; } uint8_t status = CompassModel::GetInstance()->GetCalibrationStatus(); - if (status == 1) { + if (status == 1) + { MainCompassView::GetInstance()->SetDisplayTure(); - } else { + } + else + { MainCompassView::GetInstance()->SetDisplayFalse(); DetermineToRotate(); }