blob: 3ef29c9c0f3f9a8a4a4c206ae3646297f1d98b7e [file] [log] [blame]
// Copyright 2014 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.
#include "components/signin/core/browser/signin_status_metrics_provider_base.h"
#include "base/metrics/histogram_macros.h"
SigninStatusMetricsProviderBase::SigninStatusMetricsProviderBase()
: signin_status_(UNKNOWN_SIGNIN_STATUS) {}
SigninStatusMetricsProviderBase::~SigninStatusMetricsProviderBase() {}
void SigninStatusMetricsProviderBase::RecordSigninStatusHistogram(
SigninStatus signin_status) {
UMA_HISTOGRAM_ENUMERATION("UMA.ProfileSignInStatus", signin_status,
SIGNIN_STATUS_MAX);
}
void SigninStatusMetricsProviderBase::UpdateSigninStatus(
SigninStatus new_status) {
// The recorded sign-in status value can't be changed once it's recorded as
// error until the next UMA upload.
if (signin_status_ == ERROR_GETTING_SIGNIN_STATUS)
return;
signin_status_ = new_status;
}
void SigninStatusMetricsProviderBase::ResetSigninStatus() {
signin_status_ = UNKNOWN_SIGNIN_STATUS;
}