#ifndef TJDUI_APP_SLEEP_PRESENTER_H #define TJDUI_APP_SLEEP_PRESENTER_H #include "Presenter.h" #include "TjdUiAppSleepModel.h" #include "TjdUiScreenDrag.h" #include "components/root_view.h" #include "components/ui_view.h" namespace TJD { class TjdUiAppSleepView; class TjdUiAppSleepPresenter : public OHOS::Presenter, public TjdUiScreenDragListener, public OHOS::RootView::OnKeyActListener { public: TjdUiAppSleepPresenter(); ~TjdUiAppSleepPresenter(); static TjdUiAppSleepPresenter *GetInstance(void); void OnStart() override; void OnResume() override; void OnPause() override; void OnStop() override; bool OnKeyAct(OHOS::UIView &view, const OHOS::KeyEvent &event) override; void ScreenDragEventCallback(OHOS::UIView &view, const OHOS::DragEvent &event) override { ExitSleepView(); } TjdUiAppSleepModel *GetSleepModel(void) { return model; } uint16_t *GetTotalSleepTimeArray(void) { return totalSleepTimeArray; } void ExitSleepView(void); private: void UpdateView(void); TjdUiAppSleepModel *model{nullptr}; bool isExit_{false}; int16_t dragStartX_{0}; int16_t dragCurrentX_{0}; int32_t dragDistance_{0}; uint32_t totalSleepTime{0}; uint32_t maxWeekSleepTime{0}; uint32_t averageWeekSleepTime{0}; uint16_t totalSleepTimeArray[7]{0}; }; } // namespace TJD #endif