#ifndef ASH_TEST_PIXEL_ASH_PIXEL_TEST_HELPER_H_
#define ASH_TEST_PIXEL_ASH_PIXEL_TEST_HELPER_H_
#include "ash/public/cpp/wallpaper/wallpaper_controller_observer.h"
#include "ash/test/pixel/ash_pixel_test_init_params.h"
#include "base/functional/callback.h"
#include "base/scoped_observation.h"
#include "base/test/icu_test_util.h"
#include "base/test/scoped_feature_list.h"
namespace ash {
class WallpaperController;
class AshPixelTestHelper : public WallpaperControllerObserver {
public:
explicit AshPixelTestHelper(pixel_test::InitParams params);
AshPixelTestHelper(const AshPixelTestHelper&) = delete;
AshPixelTestHelper& operator=(const AshPixelTestHelper&) = delete;
~AshPixelTestHelper() override;
void StabilizeUi();
bool IsSystemBlurEnabled() const {
return params_.system_blur_enabled.value_or(true);
}
std::string GenerateScreenshotName(const std::string& prefix) const {
std::string name(prefix);
if (params_.system_blur_enabled) {
name += (IsSystemBlurEnabled() ? "_with_system_blur"
: "_without_system_blur");
}
return name;
}
private:
void MaybeSetDarkMode();
void SetWallpaper();
void SetBatteryState();
void OnWallpaperColorsChanged() override;
const pixel_test::InitParams params_;
base::OnceClosure on_wallpaper_finalized_;
base::ScopedObservation<WallpaperController, WallpaperControllerObserver>
wallpaper_controller_observation_{this};
const base::test::ScopedRestoreICUDefaultLocale scoped_locale_;
const base::test::ScopedRestoreDefaultTimezone time_zone_;
base::test::ScopedFeatureList scoped_feature_list_;
};
}
#endif