49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
#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<TjdUiAppSleepView>,
|
|
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 |