// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include #include #include #include #include namespace gui { class WallpaperPresenter : public app::AsyncCallbackReceiver { public: WallpaperPresenter(app::ApplicationCommon *app); void setupWallpaper(Item *parent); std::shared_ptr getNotificationsModel(); void updateTime(); void forceClockWallpaper(); /// returns true if actual switch back occured bool switchBackWallpaper(); private: void buildWallpapers(Item *parent); void switchWallpaper(WallpaperOption option); app::ApplicationCommon *application; std::shared_ptr notificationsModel; std::shared_ptr clockWallpaper = nullptr; std::shared_ptr quoteWallpaper = nullptr; std::shared_ptr logoWallpaper = nullptr; bool clockWallpaperForced = false; WallpaperOption selectedOption = WallpaperOption::Clock; }; } // namespace gui