| Index: components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
|
| diff --git a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
|
| index 5ab8770ba9bf8f625312b910233e9dc79486c4e9..29fc3f595f9b37dfb43a9a0f888e743f91077f3a 100644
|
| --- a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
|
| +++ b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/bind.h"
|
| #include "base/feature_list.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/metrics/user_metrics.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "components/feature_engagement_tracker/internal/availability_model_impl.h"
|
| #include "components/feature_engagement_tracker/internal/chrome_variations_configuration.h"
|
| @@ -24,6 +25,7 @@
|
| #include "components/feature_engagement_tracker/internal/once_condition_validator.h"
|
| #include "components/feature_engagement_tracker/internal/persistent_store.h"
|
| #include "components/feature_engagement_tracker/internal/proto/availability.pb.h"
|
| +#include "components/feature_engagement_tracker/internal/stats.h"
|
| #include "components/feature_engagement_tracker/internal/system_time_provider.h"
|
| #include "components/feature_engagement_tracker/public/feature_constants.h"
|
| #include "components/feature_engagement_tracker/public/feature_list.h"
|
| @@ -142,20 +144,16 @@ FeatureEngagementTrackerImpl::FeatureEngagementTrackerImpl(
|
| FeatureEngagementTrackerImpl::~FeatureEngagementTrackerImpl() = default;
|
|
|
| void FeatureEngagementTrackerImpl::NotifyEvent(const std::string& event) {
|
| - // TODO(nyquist): Track this event in UMA.
|
| model_->IncrementEvent(event, time_provider_->GetCurrentDay());
|
| + stats::RecordNotifyEvent(event, configuration_.get(), model_->IsReady());
|
| }
|
|
|
| bool FeatureEngagementTrackerImpl::ShouldTriggerHelpUI(
|
| const base::Feature& feature) {
|
| - // TODO(nyquist): Track this event in UMA.
|
| - bool result =
|
| - condition_validator_
|
| - ->MeetsConditions(feature, configuration_->GetFeatureConfig(feature),
|
| - *model_, *availability_model_,
|
| - time_provider_->GetCurrentDay())
|
| - .NoErrors();
|
| - if (result) {
|
| + ConditionValidator::Result result = condition_validator_->MeetsConditions(
|
| + feature, configuration_->GetFeatureConfig(feature), *model_,
|
| + *availability_model_, time_provider_->GetCurrentDay());
|
| + if (result.NoErrors()) {
|
| condition_validator_->NotifyIsShowing(feature);
|
| FeatureConfig feature_config = configuration_->GetFeatureConfig(feature);
|
| DCHECK_NE("", feature_config.trigger.name);
|
| @@ -163,12 +161,13 @@ bool FeatureEngagementTrackerImpl::ShouldTriggerHelpUI(
|
| time_provider_->GetCurrentDay());
|
| }
|
|
|
| - return result;
|
| + stats::RecordShouldTriggerHelpUI(feature, result);
|
| + return result.NoErrors();
|
| }
|
|
|
| void FeatureEngagementTrackerImpl::Dismissed(const base::Feature& feature) {
|
| - // TODO(nyquist): Track this event in UMA.
|
| condition_validator_->NotifyDismissed(feature);
|
| + stats::RecordUserDismiss();
|
| }
|
|
|
| bool FeatureEngagementTrackerImpl::IsInitialized() {
|
|
|