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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java

Issue 2618893003: 📰 Tweak the suggestion ranks for UMA to handle fetchMore (Closed)
Patch Set: rebase, address comments Created 3 years, 11 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/cards/ActionItem.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
index a1a4e11875be3fdc3e182d8a25d15ffca6e2650b..34e6edc132616e5a8f1a5ae21dc96a88132431ea 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
@@ -14,7 +14,9 @@
import org.chromium.chrome.browser.ntp.ContextMenuManager.Delegate;
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.UiConfig;
+import org.chromium.chrome.browser.ntp.snippets.CategoryInt;
import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig;
+import org.chromium.chrome.browser.suggestions.SuggestionsRanker;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -24,7 +26,7 @@
* Note: Use {@link #refreshVisibility()} to update the visibility of the button instead of calling
* {@link #setVisible(boolean)} directly.
*/
-class ActionItem extends OptionalLeaf {
+public class ActionItem extends OptionalLeaf {
@IntDef({ACTION_NONE, ACTION_VIEW_ALL, ACTION_FETCH_MORE, ACTION_RELOAD})
@Retention(RetentionPolicy.SOURCE)
public @interface Action {}
@@ -35,14 +37,17 @@
private final SuggestionsCategoryInfo mCategoryInfo;
private final SuggestionsSection mParentSection;
+ private final SuggestionsRanker mSuggestionsRanker;
@Action
private int mCurrentAction = ACTION_NONE;
private boolean mImpressionTracked;
+ private int mPerSectionRank = -1;
- public ActionItem(SuggestionsSection section) {
+ public ActionItem(SuggestionsSection section, SuggestionsRanker ranker) {
mCategoryInfo = section.getCategoryInfo();
mParentSection = section;
+ mSuggestionsRanker = ranker;
}
/** Call this instead of {@link #setVisible(boolean)} to update the visibility. */
@@ -59,17 +64,26 @@ public int getItemViewType() {
@Override
protected void onBindViewHolder(NewTabPageViewHolder holder) {
assert holder instanceof ViewHolder;
+ mSuggestionsRanker.rankActionItem(this, mParentSection);
((ViewHolder) holder).onBindViewHolder(this);
}
- private int getPosition() {
- // TODO(dgn): looks dodgy. Confirm that's what we want.
- return mParentSection.getSuggestionsCount();
+ @CategoryInt
+ public int getCategory() {
+ return mCategoryInfo.getCategory();
+ }
+
+ public void setPerSectionRank(int perSectionRank) {
+ mPerSectionRank = perSectionRank;
+ }
+
+ public int getPerSectionRank() {
+ return mPerSectionRank;
}
@VisibleForTesting
void performAction(NewTabPageManager manager) {
- manager.trackSnippetCategoryActionClick(mCategoryInfo.getCategory(), getPosition());
+ manager.getSuggestionsMetricsReporter().onMoreButtonClicked(this);
switch (mCurrentAction) {
case ACTION_VIEW_ALL:
@@ -97,6 +111,7 @@ private int findAppropriateAction() {
return ACTION_NONE;
}
+ /** ViewHolder associated to {@link ItemViewType#ACTION}. */
public static class ViewHolder extends CardViewHolder implements ContextMenuManager.Delegate {
private ActionItem mActionListItem;
@@ -117,9 +132,7 @@ public void onClick(View v) {
public void onImpression() {
if (mActionListItem != null && !mActionListItem.mImpressionTracked) {
mActionListItem.mImpressionTracked = true;
- manager.trackSnippetCategoryActionImpression(
- mActionListItem.mCategoryInfo.getCategory(),
- mActionListItem.getPosition());
+ manager.getSuggestionsMetricsReporter().onMoreButtonShown(mActionListItem);
}
}
});

Powered by Google App Engine
This is Rietveld 408576698