// Copyright 2016 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.
package org.chromium.chrome.browser.metrics;
import static org.chromium.chrome.browser.metrics.LaunchMetrics.EnumeratedHistogramSample;
import android.content.Intent;
/**
* Helper class to record which kind of media notifications does the user click to go back to
* Chrome.
*/
public class MediaNotificationUma {
public static final int SOURCE_INVALID = -1;
public static final int SOURCE_MEDIA = 0;
public static final int SOURCE_PRESENTATION = 1;
public static final int SOURCE_MEDIA_FLING = 2;
public static final int SOURCE_MAX = 3;
public static final String INTENT_EXTRA_NAME =
"org.chromium.chrome.browser.metrics.MediaNotificationUma.EXTRA_CLICK_SOURCE";
private static final EnumeratedHistogramSample sClickSourceHistogram =
new LaunchMetrics.EnumeratedHistogramSample(
"Media.Notification.Click", SOURCE_MAX);
/**
* Record the UMA as specified by {@link intent}. The {@link intent} should contain intent extra
* of name {@link INTENT_EXTRA_NAME} indicating the type.
* @param intent The intent starting the activity.
*/
public static void recordClickSource(Intent intent) {
if (intent == null) return;
int source = intent.getIntExtra(INTENT_EXTRA_NAME, SOURCE_INVALID);
if (source == SOURCE_INVALID || source >= SOURCE_MAX) return;
sClickSourceHistogram.record(source);
}
}