#ifndef TJDUI_OPENLOGO_VIEW #define TJDUI_OPENLOGO_VIEW #include "View.h" #include "graphic_timer.h" #include "ui_image_animator.h" #include "TjdUiAppOpenLogoPresenter.h" namespace TJD { class OpenLogoAnimator : public OHOS::UIImageAnimatorView, public OHOS::UIImageAnimatorView::AnimatorStopListener { public: OpenLogoAnimator(); ~OpenLogoAnimator() { if (timer != nullptr) { delete timer; timer = nullptr; } } void OnAnimatorStop(UIView &view) override { if (timer != nullptr) { timer->Start(); } } private: OHOS::GraphicTimer *timer; }; class TjdUiOpenLogoPresenter; class TjdUiOpenLogoView : public OHOS::View { public: TjdUiOpenLogoView(); ~TjdUiOpenLogoView(); static TjdUiOpenLogoView *GetInstance(); void OnStart() override; void OnStop() override; private: OHOS::UIViewGroup *containerAll_{nullptr}; OpenLogoAnimator *logo_ = nullptr; }; } // namespace TJD #endif