77 lines
2.2 KiB
C++
77 lines
2.2 KiB
C++
#ifndef TJDUIAPP_HR_PRESENTER_H
|
|
#define TJDUIAPP_HR_PRESENTER_H
|
|
|
|
#include "Presenter.h"
|
|
#include "ui_swipe_view.h"
|
|
#include "TjdUiTaskListener.h"
|
|
#include "TjdUiScreenDrag.h"
|
|
namespace TJD {
|
|
|
|
enum class HeartRateAction {
|
|
Start,
|
|
Stop,
|
|
GetStatus,
|
|
};
|
|
|
|
enum HrView
|
|
{
|
|
HR_SWIPE_VIEW = 0,
|
|
HR_ABOUT_VIEW,
|
|
HR_UNWEAR_VIEW,
|
|
HRMAX_VIEW
|
|
};
|
|
|
|
class TjdUiAppHrView;
|
|
typedef bool (TjdUiAppHrView::*HrChangeView)(HrView hideView);
|
|
|
|
class TjdUiAppHrPresenter : public OHOS::Presenter<TjdUiAppHrView>,
|
|
public OHOS::UISwipeView::OnSwipeListener,
|
|
public TjdUiScreenDragListener,
|
|
public TjdUiTaskListener,
|
|
public OHOS::UIView::OnClickListener,
|
|
public OHOS::RootView::OnKeyActListener
|
|
{
|
|
public:
|
|
TjdUiAppHrPresenter();
|
|
~TjdUiAppHrPresenter();
|
|
static TjdUiAppHrPresenter *GetInstance(void);
|
|
void OnStart() override;
|
|
void OnPause() override;
|
|
void OnResume() override;
|
|
void OnStop() override;
|
|
void Notify(void) override;
|
|
void OnSwipe(OHOS::UISwipeView& view) override;
|
|
void ViewExitEvent(OHOS::UIView &view, const OHOS::DragEvent &event);
|
|
void ScreenDragEventCallback(OHOS::UIView &view, const OHOS::DragEvent &event) override { ViewExitEvent(view, event); }
|
|
bool OnClick(OHOS::UIView& view, const OHOS::ClickEvent& event) override;
|
|
bool OnKeyAct(OHOS::UIView& view, const OHOS::KeyEvent& event) override;
|
|
|
|
void ExitHrView(void);
|
|
|
|
void SetHrPointArray(OHOS::Point *array) { hrPointArray = array; }
|
|
OHOS::Point *GetHrPointArray(void) { return hrPointArray; }
|
|
|
|
uint8_t HeartRateGetWearStatus(void);
|
|
void TimeTaskStart(void);
|
|
void TimeTaskStop(void);
|
|
|
|
bool isFirstSwipeView_{true};
|
|
uint8_t exitTimerCount_{0};
|
|
private:
|
|
bool needsUpdate_{false};
|
|
void HrProcess(void);
|
|
uint32_t GetCurTimeIndex(void);
|
|
bool isExit_{false};
|
|
int16_t dragStartX_{0};
|
|
int16_t dragCurrentX_{0};
|
|
int32_t dragDistance_{0};
|
|
|
|
uint8_t refreshCount{0};
|
|
bool refreshStatus{true};
|
|
bool timerFlag{false};
|
|
OHOS::Point *hrPointArray{nullptr};
|
|
};
|
|
|
|
} // namespace TJD
|
|
|
|
#endif |