#include "TjdUiAppFlashlightPresenter.h" #include "TjdUiAppFlashlightView.h" #include "dock/input_device.h" #include "power_display_service.h" #include "sql_fit.h" #include "sql_setting.h" #include "wearable_log.h" #include "TjdUiRegisterManager.h" using namespace OHOS; namespace TJD { TJD_REGIST_SLICE(TJD_APP_VIEW_FLASHLIGHT, TjdUiAppFlashlightView, TjdUiAppFlashlightPresenter); static TjdUiAppFlashlightPresenter *g_pv_AppFlashlightPresenter = nullptr; static int8_t statussign = 0; TjdUiAppFlashlightPresenter::TjdUiAppFlashlightPresenter() { g_pv_AppFlashlightPresenter = this; } TjdUiAppFlashlightPresenter::~TjdUiAppFlashlightPresenter() { g_pv_AppFlashlightPresenter = nullptr; } TjdUiAppFlashlightPresenter *TjdUiAppFlashlightPresenter::GetInstance(void) { return g_pv_AppFlashlightPresenter; } void TjdUiAppFlashlightPresenter::OnSwipe(UISwipeView &view) {} void TjdUiAppFlashlightPresenter::Notify() { if (changeFlag) { TjdUiAppFlashlightView::GetInstance()->Changestatus(); } } void TjdUiAppFlashlightPresenter::OnStart() { TjdUiCommonOnKeyListener::GetInstance()->SetOnKeyActListener(this, KeyModelType::APP_KEY_TYPE); SetPeriod(200); } void TjdUiAppFlashlightPresenter::OnPause() { Presenter::OnPause(); } void TjdUiAppFlashlightPresenter::OnResume() { Presenter::OnResume(); } void TjdUiAppFlashlightPresenter::OnStop() { TjdUiCommonOnKeyListener::GetInstance()->ClearOnKeyActListener(KeyModelType::APP_KEY_TYPE); } bool TjdUiAppFlashlightPresenter::OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event) { printf("TjdUiAppFlashlightPresenter onclcik\r\n"); TjdUiAppFlashlightView *flashlightView = TjdUiAppFlashlightView::GetInstance(); std::string viewId = view.GetViewId(); if (viewId.empty()) { return false; } if (viewId == LASHLIGHT_OFF_ID || viewId == FLASHLIGHT_ONOFF_ID) { flashlightView->ShowView_(FlashlightViewIndex::FLASHLIGHT_OFF_VIEW, FlashlightViewIndex::FLASHLIGHT_ON_TO_OFF_VIEW, FlashlightViewIndex::Flashlight_VIEW); changeFlag = !changeFlag; statussign = 2; return true; } else if (viewId == LASHLIGHT_ON_ID) { flashlightView->ShowView(FlashlightViewIndex::FLASHLIGHT_ON_VIEW, FlashlightViewIndex::Flashlight_VIEW); // 返回flashlight statussign = 1; return true; } else if (viewId == FLASHLIGHT_ID && statussign == 1) { // flashlight页面返回模式1 flashlightView->ShowView(FlashlightViewIndex::Flashlight_VIEW, FlashlightViewIndex::FLASHLIGHT_ON_VIEW); statussign = 0; return true; } else if (viewId == FLASHLIGHT_ID || viewId == FLASHLIGHT_ONOFF_ID && statussign == 2) { // flashlight页面返回模式2 flashlightView->ShowView(FlashlightViewIndex::Flashlight_VIEW, FlashlightViewIndex::FLASHLIGHT_OFF_VIEW); changeFlag = !changeFlag; statussign = 0; return true; } return false; } bool TjdUiAppFlashlightPresenter::OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event) { if(!TjdUiCommonOnKeyListener::GetInstance()->CheckIsExitEvent(event)) { return true; } OHOS::NativeAbility::GetInstance().ChangeSlice(TJD_APP_VIEW_MAIN); return true; } bool TjdUiAppFlashlightPresenter::OnDrag(OHOS::UIView &view, const OHOS::DragEvent &event) { printf("TjdUiAppFlashlightPresenter ondragend\r\n"); std::string viewId_ = view.GetViewId(); TjdUiAppFlashlightView *flashlightView = TjdUiAppFlashlightView::GetInstance(); if (event.GetDragDirection() == OHOS::DragEvent::DIRECTION_BOTTOM_TO_TOP) { // 1 to 2 && viewId_ == LASHLIGHT_ON_ID if (flashlightView->GetCurrentView() == FlashlightViewIndex::FLASHLIGHT_ON_VIEW) { flashlightView->ShowView(FlashlightViewIndex::FLASHLIGHT_ON_VIEW, FlashlightViewIndex::FLASHLIGHT_OFF_VIEW); changeFlag = !changeFlag; return true; } } if (event.GetDragDirection() == OHOS::DragEvent::DIRECTION_TOP_TO_BOTTOM) { // 2 to 1 && viewId_ == LASHLIGHT_OFF_ID if (flashlightView->GetCurrentView() == FlashlightViewIndex::FLASHLIGHT_OFF_VIEW || flashlightView->GetCurrentView() == FlashlightViewIndex::FLASHLIGHT_ON_TO_OFF_VIEW) { flashlightView->ShowView_(FlashlightViewIndex::FLASHLIGHT_OFF_VIEW, FlashlightViewIndex::FLASHLIGHT_ON_TO_OFF_VIEW, FlashlightViewIndex::FLASHLIGHT_ON_VIEW); changeFlag = !changeFlag; return true; } } return TjdUiScreenDragListener::OnDrag(view, event); } void TjdUiAppFlashlightPresenter::SetScreenBrightness(int value) { const power_display_svr_api_t *handle = power_display_svr_get_api(); handle->set_brightness_mode(MANUAL); handle->set_brightness(value); } int TjdUiAppFlashlightPresenter::GetScreenBrightness(void) { const power_display_svr_api_t *handle = power_display_svr_get_api(); return handle->get_brightness(); } } // namespace TJD