/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: TjdUiAppCompassPresenter.cpp * * Author: wuchangxin@ss-tjd.com * * Create: 2025-02-25 *--------------------------------------------------------------------------*/ #include "TjdUiAppCompassPresenter.h" #include "NativeAbility.h" #include "TjdUiAppCompassView.h" #include "TjdUiRegisterManager.h" #include "dock/input_device.h" #include "graphic_service.h" #include "sys_config.h" namespace TJD { TJD_REGIST_NATIVE_MENU(TJD_APP_VIEW_COMPASS, TjdUiAppCompassView, TjdUiAppCompassPresenter, IMG_MENU_LIST_MENU_COMPASS, STR_ID_17); #define ENABLE_PRINT_INFO 1 #if ENABLE_PRINT_INFO #define static_print_info(...) sys_ui_log_i(__VA_ARGS__) // 一般信息打印宏控制 #define static_print_warn(...) sys_ui_log_w(__VA_ARGS__) // 警告信息打印一般常开 #define static_print_error(...) sys_ui_log_e(__VA_ARGS__) // 错误信息打印一般常开 #define static_print_debug(...) sys_ui_log_d(__VA_ARGS__) // 调试信息打印一般常开 #else #define static_print_info(...) #define static_print_warn(...) #define static_print_error(...) #define static_print_debug(...) #endif static TjdUiAppCompassPresenter *g_pv_AppCompassPresenter = nullptr; TjdUiAppCompassPresenter::TjdUiAppCompassPresenter() { g_pv_AppCompassPresenter = this; } TjdUiAppCompassPresenter::~TjdUiAppCompassPresenter() { g_pv_AppCompassPresenter = nullptr; } TjdUiAppCompassPresenter &TjdUiAppCompassPresenter::GetInstance(void) { return *g_pv_AppCompassPresenter; } void TjdUiAppCompassPresenter::OnStart() {} void TjdUiAppCompassPresenter::OnStop() {} void TjdUiAppCompassPresenter::OnPause() { Presenter::OnPause(); TjdUiCommonOnKeyListener::GetInstance()->ClearOnKeyActListener(KeyModelType::APP_KEY_TYPE); } void TjdUiAppCompassPresenter::OnResume() { Presenter::OnResume(); TjdUiCommonOnKeyListener::GetInstance()->SetOnKeyActListener(this, KeyModelType::APP_KEY_TYPE); } bool TjdUiAppCompassPresenter::OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event) { std::string viewId = view.GetViewId(); if (viewId.empty()) { return false; } if (viewId == "compassList") { auto compassView = TjdUiAppCompassView::GetInstance(); if (compassView == nullptr) return false; compassView->ShowView(VIEW_COMPASS_DATA); } return true; } void TjdUiAppCompassPresenter::ViewExitEvent(void) { printf("TjdUiAppCompassPresenter ViewExitEvent\r\n"); TjdUiAppCompassView *compassView = TjdUiAppCompassView::GetInstance(); switch (TjdUiAppCompassView::currentViewIndex_) { case CompassView::VIEW_COMPASS_CALIBRATION: case CompassView::VIEW_COMPASS_SHOW: OHOS::NativeAbility::GetInstance().ChangePreSlice(); break; case CompassView::VIEW_COMPASS_DATA: compassView->ShowView(CompassView::VIEW_COMPASS_SHOW); break; } return; } bool TjdUiAppCompassPresenter::OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event) { if (!TjdUiCommonOnKeyListener::GetInstance()->CheckIsExitEvent(event)) { return true; } ViewExitEvent(); return true; } } // namespace TJD