#ifndef TJD_UI_APP_BREATHING_VIEW_H #define TJD_UI_APP_BREATHING_VIEW_H #include "TjdUiAppBreathingPresenter.h" #include "TjdUiMemManage.h" #include "View.h" #include "common/image.h" #include "components/ui_button.h" #include "components/ui_canvas_ext.h" #include "components/ui_checkbox.h" #include "components/ui_image_animator.h" #include "components/ui_image_view.h" #include "components/ui_label.h" #include "components/ui_label_button_ext.h" #include "components/ui_list.h" #include "components/ui_scroll_view.h" #include "components/ui_scroll_view_nested.h" #include "components/ui_view.h" #include "components/ui_view_group.h" #include "gfx_utils/graphic_types.h" #include "hal_tick.h" #include "hr_api.h" #include "rtc_api.h" #include "ui_image_animator.h" #include "ui_label_ext.h" #include "ui_view.h" namespace TJD { enum BreathingViewIndex { BREATHING_CHOOSE_VIEW, BREATHING_TIME_VIEW, BREATHING_MODEL_VIEW, BREATHING_START_VIEW, BREATHING_ANIMATOR_VIEW, BREATHING_ANIMATOR_ANOTHER_VIEW, BREATHING_FINISH_VIEW, BREATHING_VIEW_COUNT }; class BrethingAnimatorCallback : public OHOS::AnimatorCallback { public: explicit BrethingAnimatorCallback() {} ~BrethingAnimatorCallback() override {} void Callback(OHOS::UIView *view) override; private: }; class BreathUIScrollView : public OHOS::UIScrollViewNested { public: BreathUIScrollView() {} ~BreathUIScrollView() {} bool OnDragStartEvent(const OHOS::DragEvent &event) override; bool OnDragEvent(const OHOS::DragEvent &event) override; bool OnDragEndEvent(const OHOS::DragEvent &event) override; private: bool isOnStart_{false}; }; class TjdUiAppBreathingPresenter; class TjdUiAppBreathingView : public OHOS::View, public OHOS::UIViewGroup, public OHOS::UIImageAnimatorView { public: TjdUiAppBreathingView(); ~TjdUiAppBreathingView(); static TjdUiAppBreathingView *GetInstance(void); void OnStart() override; void OnStop() override; void ShowView(BreathingViewIndex hideView, BreathingViewIndex showView); void StartTime(int val, int status); void GetNum(int val, int status); void Changestatus(); void Addselect(int statu); void StopAnimator(int8_t heartrateval); void StartAnimator(); void ChangeLabel1(); void ChangeLabel2(); void ChooseModel(); BreathingViewIndex GetCurrentView() { return currentView_; } void SetBreathingImage(OHOS::ImageInfo *imageInfo); private: BreathingViewIndex currentView_{BreathingViewIndex::BREATHING_CHOOSE_VIEW}; BreathUIScrollView *containerAll_{nullptr}; OHOS::UIViewGroup *breathingView[BREATHING_VIEW_COUNT]{nullptr}; OHOS::UIScrollView *InitBreathingChooseView(); OHOS::UIScrollView *InitBreathingTimeView(); OHOS::UIScrollView *InitBreathingModelView(); OHOS::UIScrollView *InitBreathingStartView(); OHOS::UIScrollView *InitBreathingTrainingFinishedView(); OHOS::UIScrollView *InitBreathingAnimationView(); OHOS::UIViewGroup *InitBreathingAnotherAnimationView(); OHOS::UIImageView *timeBreathing_{nullptr}; OHOS::UIImageView *modelBreathing_{nullptr}; OHOS::UIImageAnimatorView *backgroundBreathing_{nullptr}; OHOS::UIImageView *startBreathing_{nullptr}; OHOS::UIImageView *finishBreathing_{nullptr}; OHOS::UIImageView *backgroundStart_{nullptr}; OHOS::UIImageView *notselectBreathing1_{nullptr}; OHOS::UIImageView *notselectBreathing2_{nullptr}; OHOS::UIImageView *notselectBreathing3_{nullptr}; OHOS::UIImageView *notselectBreathing4_{nullptr}; OHOS::UIImageView *notselectBreathing5_{nullptr}; OHOS::UIImageView *notselectBreathing6_{nullptr}; OHOS::UIImageView *selectBreathing_{nullptr}; OHOS::UIImageView *redHeart_{nullptr}; OHOS::UILabelExt *lblBreathingchoosehead_{nullptr}; OHOS::UILabelExt *lblTimehead_{nullptr}; OHOS::UILabelExt *lblModelhead_{nullptr}; OHOS::UILabelExt *lblFinishhead_{nullptr}; OHOS::UILabel *lblLabel1_{nullptr}; OHOS::UILabelExt *lblLabel2_{nullptr}; OHOS::UILabel *lblLabel3_{nullptr}; OHOS::UILabelExt *lblLabel4_{nullptr}; OHOS::UILabel *lblLabel5_{nullptr}; OHOS::UILabel *lblLabel6_{nullptr}; OHOS::UILabel *lblHeart_{nullptr}; OHOS::UILabel *lblAllTimes_{nullptr}; OHOS::UILabelButtonExt *labelButton1_{nullptr}; OHOS::UILabelButtonExt *labelButton2_{nullptr}; OHOS::UILabelButtonExt *labelButton3_{nullptr}; OHOS::UILabelButtonExt *labelButton4_{nullptr}; OHOS::UILabelButtonExt *labelButton5_{nullptr}; OHOS::UILabelButtonExt *labelButton6_{nullptr}; OHOS::UILabelExt *lbAverageHertrate_{nullptr}; OHOS::UILabelExt *lbAverageTime_{nullptr}; OHOS::UIView *labelButton7_{nullptr}; OHOS::UIView *labelButton8_{nullptr}; OHOS::GraphicTimer *timerbreath1_{nullptr}; OHOS::UIImageView *imageBreathing_{nullptr}; OHOS::UIImageAnimatorView *imageAnimatorinhale_{nullptr}; OHOS::UIImageAnimatorView *imageAnimatorexhale_{nullptr}; OHOS::Animator *animator_{nullptr}; OHOS::UICanvasExt canvas_; BrethingAnimatorCallback *callBack_ = nullptr; void InitBreathingImage(); }; } #endif