Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3714)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java

Issue 2013423002: Clean up recording of clicks for New tab page snippets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@snippets-impressions
Patch Set: Fixing a rebase error Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
index d61432a5355f333059c0e2df82780ab0ba0538af..d8c29ed19f033736ad3561a506ae930ebe4a1fc0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
@@ -23,11 +23,8 @@ import android.widget.TextView;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.Callback;
-import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback;
-import org.chromium.chrome.browser.ntp.NewTabPageUma;
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.cards.NewTabPageListItem;
import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder;
@@ -42,7 +39,6 @@ public class SnippetArticleViewHolder extends NewTabPageViewHolder implements Vi
private static final String TAG = "NtpSnippets";
private static final String PUBLISHER_FORMAT_STRING = "%s - %s";
private static final int FADE_IN_ANIMATION_TIME_MS = 300;
- private static final int[] HISTOGRAM_FOR_POSITIONS = {0, 2, 4, 9};
private final NewTabPageManager mNewTabPageManager;
private final TextView mHeadlineTextView;
@@ -51,14 +47,9 @@ public class SnippetArticleViewHolder extends NewTabPageViewHolder implements Vi
private final ImageView mThumbnailView;
private FetchImageCallback mImageCallback;
- private long mPublishTimestampMilliseconds;
- private float mScore;
private SnippetArticle mArticle;
private ViewTreeObserver.OnPreDrawListener mPreDrawObserver;
- public String mUrl;
- public int mPosition;
-
/**
* Creates the CardView object to display snippets information
*
@@ -116,27 +107,8 @@ public class SnippetArticleViewHolder extends NewTabPageViewHolder implements Vi
@Override
public void onClick(View v) {
- mNewTabPageManager.openSnippet(mUrl);
- RecordUserAction.record("MobileNTP.Snippets.Click");
- RecordHistogram.recordSparseSlowlyHistogram("NewTabPage.Snippets.CardClicked", mPosition);
- NewTabPageUma.recordSnippetAction(NewTabPageUma.SNIPPETS_ACTION_CLICKED);
- NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
-
- // Track how the (approx.) position relates to age / score of the snippet that is clicked.
- int ageInMinutes =
- (int) ((System.currentTimeMillis() - mPublishTimestampMilliseconds) / 60000L);
- recordAge("NewTabPage.Snippets.CardClickedAge", ageInMinutes);
- recordScore("NewTabPage.Snippets.CardClickedScore", mScore);
- int startPosition = 0;
- for (int endPosition : HISTOGRAM_FOR_POSITIONS) {
- if (mPosition >= startPosition && mPosition <= endPosition) {
- String suffix = "_" + startPosition + "_" + endPosition;
- recordAge("NewTabPage.Snippets.CardClickedAge" + suffix, ageInMinutes);
- recordScore("NewTabPage.Snippets.CardClickedScore" + suffix, mScore);
- break;
- }
- startPosition = endPosition + 1;
- }
+ mNewTabPageManager.openSnippet(mArticle.mUrl);
+ mArticle.trackClick();
}
@Override
@@ -145,15 +117,11 @@ public class SnippetArticleViewHolder extends NewTabPageViewHolder implements Vi
mHeadlineTextView.setText(mArticle.mTitle);
String publisherAttribution = String.format(PUBLISHER_FORMAT_STRING, mArticle.mPublisher,
- DateUtils.getRelativeTimeSpanString(mArticle.mTimestamp, System.currentTimeMillis(),
- DateUtils.MINUTE_IN_MILLIS));
+ DateUtils.getRelativeTimeSpanString(mArticle.mPublishTimestampMilliseconds,
+ System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS));
mPublisherTextView.setText(BidiFormatter.getInstance().unicodeWrap(publisherAttribution));
mArticleSnippetTextView.setText(mArticle.mPreviewText);
- mUrl = mArticle.mUrl;
- mPosition = mArticle.mPosition;
- mPublishTimestampMilliseconds = mArticle.mTimestamp;
- mScore = mArticle.mScore;
// If there's still a pending thumbnail fetch, cancel it.
cancelImageFetch();
@@ -191,20 +159,6 @@ public class SnippetArticleViewHolder extends NewTabPageViewHolder implements Vi
}
}
- private static void recordAge(String histogramName, int ageInMinutes) {
- // Negative values (when the time of the device is set inappropriately) provide no value.
- if (ageInMinutes >= 0) {
- // If the max value below (72 hours) were to be changed, the histogram should be renamed
- // since it will change the shape of buckets.
- RecordHistogram.recordCustomCountHistogram(histogramName, ageInMinutes, 1, 72 * 60, 50);
- }
- }
-
- private static void recordScore(String histogramName, float score) {
- int recordedScore = Math.min((int) Math.ceil(score), 1000);
- RecordHistogram.recordCount1000Histogram(histogramName, recordedScore);
- }
-
private void cancelImageFetch() {
if (mImageCallback != null) {
mImageCallback.cancel();

Powered by Google App Engine
This is Rietveld 408576698