#include "components/user_education/common/feature_promo_session_manager.h"
#include <utility>
#include "base/callback_list.h"
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/functional/callback_forward.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/user_metrics.h"
#include "base/time/time.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_storage_service.h"
#include "components/user_education/common/user_education_features.h"
namespace user_education {
FeaturePromoSessionManager::FeaturePromoSessionManager() = default;
FeaturePromoSessionManager::~FeaturePromoSessionManager() = default;
void FeaturePromoSessionManager::Init(
FeaturePromoStorageService* storage_service,
std::unique_ptr<FeaturePromoIdleObserver> idle_observer,
std::unique_ptr<FeaturePromoIdlePolicy> idle_policy) { … }
void FeaturePromoSessionManager::MaybeUpdateSessionState() { … }
base::CallbackListSubscription
FeaturePromoSessionManager::AddNewSessionCallback(
base::RepeatingClosure new_session_callback) { … }
void FeaturePromoSessionManager::OnNewSession(
const base::Time old_start_time,
const base::Time old_active_time,
const base::Time new_active_time) { … }
void FeaturePromoSessionManager::OnLastActiveTimeUpdating(base::Time) { … }
void FeaturePromoSessionManager::SetIdleObserver(
std::unique_ptr<FeaturePromoIdleObserver> new_observer) { … }
void FeaturePromoSessionManager::RecordActivePeriodDuration(
base::TimeDelta duration) { … }
void FeaturePromoSessionManager::RecordIdlePeriodDuration(
base::TimeDelta duration) { … }
void FeaturePromoSessionManager::UpdateLastActiveTime(
base::Time new_active_time) { … }
}