/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: TjdUiAppPowerSavingDialPresenter.h * * Author: luziquan@ss-tjd.com * * Create: 2024-11-18 *--------------------------------------------------------------------------*/ #ifndef TJD_UI_APP_BATTERY_SAVER_PRESENTER_H #define TJD_UI_APP_BATTERY_SAVER_PRESENTER_H #include "Presenter.h" #include "TjdUiTaskListener.h" #include "cmsis_os2.h" #include "components/root_view.h" #include "components/ui_view.h" namespace TJD { enum BatterySaverViewIndex { BATTERY_SAVER_MAIN = 0, BATTERY_SAVER_LONG_PRESS, BATTERY_SAVER_UNKNOWN }; class TjdUiAppBatterySaverView; class TjdUiAppBatterySaverPresenter : public OHOS::Presenter, public OHOS::RootView::OnKeyActListener, public OHOS::UIView::OnTouchListener, public TjdUiTaskListener { public: TjdUiAppBatterySaverPresenter(); virtual ~TjdUiAppBatterySaverPresenter(); static TjdUiAppBatterySaverPresenter *GetInstance(void); void OnStart() override; void OnStop() override; bool OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event) override; void Notify(void) override; void StartAnimatorTimer(void); void StopAnimatorTimer(void); void AnimatorTimerCallback(void); private: void StartAnimatorSucessEventTimer(void); osTimerId_t animatorTimerId_{nullptr}; osTimerId_t jumpTimerId_{nullptr}; uint8_t animatorCount_{1}; bool isAnimatorRunning_{false}; }; } // namespace TJD #endif