blob: d1b8876fdced13474d75d1fa85573a5d8bad6757 [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 "chrome/browser/metrics/chrome_android_metrics_provider.h"
#include "chrome/android/chrome_jni_headers/NotificationSystemStatusUtil_jni.h"
#include "base/metrics/histogram_macros.h"
#include "chrome/browser/android/feature_utilities.h"
#include "chrome/browser/android/locale/locale_manager.h"
#include "chrome/browser/android/metrics/uma_session_stats.h"
namespace {
// Corresponds to APP_NOTIFICATIONS_STATUS_BOUNDARY in
// NotificationSystemStatusUtil.java
const int kAppNotificationStatusBoundary = 3;
void EmitAppNotificationStatusHistogram() {
auto status = Java_NotificationSystemStatusUtil_getAppNotificationStatus(
base::android::AttachCurrentThread());
UMA_HISTOGRAM_ENUMERATION("Android.AppNotificationStatus", status,
kAppNotificationStatusBoundary);
}
} // namespace
ChromeAndroidMetricsProvider::ChromeAndroidMetricsProvider() {}
ChromeAndroidMetricsProvider::~ChromeAndroidMetricsProvider() {}
void ChromeAndroidMetricsProvider::ProvideCurrentSessionData(
metrics::ChromeUserMetricsExtension* uma_proto) {
UMA_HISTOGRAM_ENUMERATION("CustomTabs.Visible",
chrome::android::GetCustomTabsVisibleValue(),
chrome::android::CUSTOM_TABS_VISIBILITY_MAX);
UMA_HISTOGRAM_BOOLEAN("Android.MultiWindowMode.Active",
chrome::android::GetIsInMultiWindowModeValue());
UmaSessionStats::GetInstance()->ProvideCurrentSessionData();
EmitAppNotificationStatusHistogram();
LocaleManager::RecordUserTypeMetrics();
}