| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_WALLPAPER_WALLPAPER_DAILY_REFRESH_SCHEDULER_H_ |
| #define ASH_WALLPAPER_WALLPAPER_DAILY_REFRESH_SCHEDULER_H_ |
| |
| #include "ash/system/scheduled_feature/scheduled_feature.h" |
| |
| #include "ash/public/cpp/wallpaper/wallpaper_info.h" |
| |
| namespace ash { |
| |
| // A scheduler that sends signal to WallpaperController whether the |
| // current's user wallpaper should be refreshed. |
| class WallpaperDailyRefreshScheduler : public ScheduledFeature { |
| public: |
| WallpaperDailyRefreshScheduler(); |
| |
| WallpaperDailyRefreshScheduler(const WallpaperDailyRefreshScheduler& other) = |
| delete; |
| WallpaperDailyRefreshScheduler& operator=( |
| const WallpaperDailyRefreshScheduler& rhs) = delete; |
| ~WallpaperDailyRefreshScheduler() override = default; |
| |
| static void RegisterProfilePrefs(PrefRegistrySimple* registry); |
| |
| // Determines whether the current daily wallpaper should be refreshed. |
| bool ShouldRefreshWallpaper(const WallpaperInfo& info); |
| |
| private: |
| // ScheduledFeature: |
| const char* GetFeatureName() const override; |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_WALLPAPER_WALLPAPER_DAILY_REFRESH_SCHEDULER_H_ |