123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- // Copyright 2021 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef ASH_WALLPAPER_TEST_WALLPAPER_CONTROLLER_CLIENT_H_
- #define ASH_WALLPAPER_TEST_WALLPAPER_CONTROLLER_CLIENT_H_
- #include <stddef.h>
- #include <unordered_map>
- #include "ash/public/cpp/wallpaper/wallpaper_controller_client.h"
- #include "base/callback_forward.h"
- #include "base/containers/flat_map.h"
- #include "components/account_id/account_id.h"
- namespace ash {
- // A test wallpaper controller client class.
- class TestWallpaperControllerClient : public WallpaperControllerClient {
- public:
- // A preconfigured collection of wallpaper variants that will return some
- // usable values.
- static const std::string kDummyCollectionId;
- TestWallpaperControllerClient();
- TestWallpaperControllerClient(const TestWallpaperControllerClient&) = delete;
- TestWallpaperControllerClient& operator=(
- const TestWallpaperControllerClient&) = delete;
- virtual ~TestWallpaperControllerClient();
- // Add a set of |images| for |collection_id| that will be returned for
- // FetchDailyRefreshWallpaper and FetchImagesForCollection.
- void AddCollection(const std::string& collection_id,
- const std::vector<backdrop::Image>& images);
- size_t open_count() const { return open_count_; }
- size_t set_default_wallpaper_count() const {
- return set_default_wallpaper_count_;
- }
- size_t migrate_collection_id_from_chrome_app_count() const {
- return migrate_collection_id_from_chrome_app_count_;
- }
- size_t fetch_images_for_collection_count() const {
- return fetch_images_for_collection_count_;
- }
- std::string get_fetch_daily_refresh_wallpaper_param() const {
- return fetch_daily_refresh_wallpaper_param_;
- }
- AccountId get_save_wallpaper_to_drive_fs_account_id() const {
- return save_wallpaper_to_drive_fs_account_id_;
- }
- AccountId get_wallpaper_path_from_drive_fs_account_id() const {
- return get_wallpaper_path_from_drive_fs_account_id_;
- }
- void set_fetch_daily_refresh_info_fails(bool fails) {
- fetch_daily_refresh_info_fails_ = fails;
- }
- void set_fetch_google_photos_photo_fails(bool fails) {
- fetch_google_photos_photo_fails_ = fails;
- }
- void set_google_photo_has_been_deleted(bool deleted) {
- google_photo_has_been_deleted_ = deleted;
- }
- void set_fake_files_id_for_account_id(const AccountId& account_id,
- std::string fake_files_id) {
- fake_files_ids_[account_id] = fake_files_id;
- }
- void set_wallpaper_sync_enabled(bool sync_enabled) {
- wallpaper_sync_enabled_ = sync_enabled;
- }
- void ResetCounts();
- // WallpaperControllerClient:
- void OpenWallpaperPicker() override;
- void SetDefaultWallpaper(
- const AccountId& account_id,
- bool show_wallpaper,
- base::OnceCallback<void(bool success)> callback) override;
- void MigrateCollectionIdFromChromeApp(
- const AccountId& account_id,
- base::OnceCallback<void(const std::string&)> result_callback) override;
- void FetchDailyRefreshWallpaper(
- const std::string& collection_id,
- DailyWallpaperUrlFetchedCallback callback) override;
- void FetchImagesForCollection(
- const std::string& collection_id,
- FetchImagesForCollectionCallback callback) override;
- void FetchGooglePhotosPhoto(const AccountId& account_id,
- const std::string& id,
- FetchGooglePhotosPhotoCallback callback) override;
- void FetchDailyGooglePhotosPhoto(
- const AccountId& account_id,
- const std::string& album_id,
- FetchGooglePhotosPhotoCallback callback) override;
- void FetchGooglePhotosAccessToken(
- const AccountId& account_id,
- FetchGooglePhotosAccessTokenCallback callback) override;
- void SaveWallpaperToDriveFs(
- const AccountId& account_id,
- const base::FilePath& origin,
- base::OnceCallback<void(bool)> wallpaper_saved_callback) override;
- base::FilePath GetWallpaperPathFromDriveFs(
- const AccountId& account_id) override;
- void GetFilesId(const AccountId& account_id,
- base::OnceCallback<void(const std::string&)>
- files_id_callback) const override;
- bool IsWallpaperSyncEnabled(const AccountId& account_id) const override;
- private:
- size_t open_count_ = 0;
- size_t set_default_wallpaper_count_ = 0;
- size_t migrate_collection_id_from_chrome_app_count_ = 0;
- size_t fetch_images_for_collection_count_ = 0;
- std::string fetch_daily_refresh_wallpaper_param_;
- bool fetch_daily_refresh_info_fails_ = false;
- AccountId get_wallpaper_path_from_drive_fs_account_id_;
- AccountId save_wallpaper_to_drive_fs_account_id_;
- std::unordered_map<AccountId, std::string> fake_files_ids_;
- bool wallpaper_sync_enabled_ = true;
- bool fetch_images_for_collection_fails_ = false;
- bool fetch_google_photos_photo_fails_ = false;
- bool google_photo_has_been_deleted_ = false;
- int image_index_ = 0;
- base::flat_map<std::string, std::vector<backdrop::Image>> variations_;
- };
- } // namespace ash
- #endif // ASH_WALLPAPER_TEST_WALLPAPER_CONTROLLER_CLIENT_H_
|