#include "chrome/browser/ui/user_education/polling_idle_observer.h"
#include <memory>
#include <optional>
#include "base/check.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "components/user_education/common/feature_promo_idle_observer.h"
#include "components/user_education/common/feature_promo_idle_policy.h"
#include "components/user_education/common/feature_promo_session_manager.h"
#include "components/user_education/common/user_education_features.h"
#include "ui/base/idle/idle.h"
#include "ui/base/idle/idle_polling_service.h"
namespace {
static constexpr base::TimeDelta kStaleDataThreshold = …;
}
std::unique_ptr<user_education::FeaturePromoIdleObserver>
CreatePollingIdleObserver() { … }
PollingIdleObserver::PollingIdleObserver() = default;
PollingIdleObserver::~PollingIdleObserver() = default;
std::optional<base::Time> PollingIdleObserver::MaybeGetNewLastActiveTime()
const { … }
void PollingIdleObserver::StartObserving() { … }
void PollingIdleObserver::OnIdleStateChange(
const ui::IdlePollingService::State& state) { … }
bool PollingIdleObserver::IsChromeActive() const { … }