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

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

Issue 2618893003: 📰 Tweak the suggestion ranks for UMA to handle fetchMore (Closed)
Patch Set: try skipping UMA for test 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/snippets/SnippetsBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
index 4525f1f16c2e94dfe3fea99fd0b3a160d8efecb0..909aa9548033161ecad5d81c468efb0ae251cce3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsBridge.java
@@ -11,6 +11,7 @@
import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo;
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.suggestions.SuggestionsUma;
import java.util.ArrayList;
import java.util.List;
@@ -23,6 +24,7 @@
private long mNativeSnippetsBridge;
private SuggestionsSource.Observer mObserver;
+ private SuggestionsUma mUmaHelper;
Bernhard Bauer 2017/01/11 13:53:38 I think I would make this an interface and have Se
dgn 2017/01/12 14:29:58 Done.
public static boolean isCategoryStatusAvailable(@CategoryStatusEnum int status) {
// Note: This code is duplicated in content_suggestions_category_status.cc.
@@ -119,8 +121,10 @@ public void fetchSuggestionImage(SnippetArticle suggestion, Callback<Bitmap> cal
@Override
public void dismissSuggestion(SnippetArticle suggestion) {
assert mNativeSnippetsBridge != 0;
- nativeDismissSuggestion(mNativeSnippetsBridge, suggestion.mUrl, suggestion.mGlobalPosition,
- suggestion.mCategory, suggestion.mPosition, suggestion.mIdWithinCategory);
+ int suggestionRank = mUmaHelper.getSuggestionRank(suggestion);
Bernhard Bauer 2017/01/11 13:53:38 If getSuggestionRank returns -1 when the suggestio
dgn 2017/01/12 14:29:58 Done.
+ int suggestionGlobalRank = mUmaHelper.getSuggestionGlobalRank(suggestion, suggestionRank);
+ nativeDismissSuggestion(mNativeSnippetsBridge, suggestion.mUrl, suggestionGlobalRank,
+ suggestion.mCategory, suggestionRank, suggestion.mIdWithinCategory);
}
@Override
@@ -142,23 +146,28 @@ public void onPageShown(int[] categories, int[] suggestionsPerCategory) {
public void onSuggestionShown(SnippetArticle suggestion) {
assert mNativeSnippetsBridge != 0;
- nativeOnSuggestionShown(mNativeSnippetsBridge, suggestion.mGlobalPosition,
- suggestion.mCategory, suggestion.mPosition,
- suggestion.mPublishTimestampMilliseconds, suggestion.mScore);
+ int suggestionRank = mUmaHelper.getSuggestionRank(suggestion);
+ int suggestionGlobalRank = mUmaHelper.getSuggestionGlobalRank(suggestion, suggestionRank);
+ nativeOnSuggestionShown(mNativeSnippetsBridge, suggestionGlobalRank, suggestion.mCategory,
+ suggestionRank, suggestion.mPublishTimestampMilliseconds, suggestion.mScore);
}
public void onSuggestionOpened(SnippetArticle suggestion, int windowOpenDisposition) {
assert mNativeSnippetsBridge != 0;
- nativeOnSuggestionOpened(mNativeSnippetsBridge, suggestion.mGlobalPosition,
- suggestion.mCategory, suggestion.mPosition,
- suggestion.mPublishTimestampMilliseconds, suggestion.mScore, windowOpenDisposition);
+ int suggestionRank = mUmaHelper.getSuggestionRank(suggestion);
+ int suggestionGlobalRank = mUmaHelper.getSuggestionGlobalRank(suggestion, suggestionRank);
+ nativeOnSuggestionOpened(mNativeSnippetsBridge, suggestionGlobalRank, suggestion.mCategory,
+ suggestionRank, suggestion.mPublishTimestampMilliseconds, suggestion.mScore,
+ windowOpenDisposition);
}
public void onSuggestionMenuOpened(SnippetArticle suggestion) {
assert mNativeSnippetsBridge != 0;
- nativeOnSuggestionMenuOpened(mNativeSnippetsBridge, suggestion.mGlobalPosition,
- suggestion.mCategory, suggestion.mPosition,
- suggestion.mPublishTimestampMilliseconds, suggestion.mScore);
+ int suggestionRank = mUmaHelper.getSuggestionRank(suggestion);
+ int suggestionGlobalRank = mUmaHelper.getSuggestionGlobalRank(suggestion, suggestionRank);
+ nativeOnSuggestionMenuOpened(mNativeSnippetsBridge, suggestionGlobalRank,
+ suggestion.mCategory, suggestionRank, suggestion.mPublishTimestampMilliseconds,
+ suggestion.mScore);
}
public void onMoreButtonShown(int category, int position) {
@@ -193,18 +202,13 @@ public static void onSuggestionTargetVisited(int category, long visitTimeMs) {
nativeOnSuggestionTargetVisited(category, visitTimeMs);
}
- /**
- * Sets the recipient for the fetched snippets.
- *
- * An observer needs to be set before the native code attempts to transmit snippets them to
- * java. Upon registration, the observer will be notified of already fetched snippets.
- *
- * @param observer object to notify when snippets are received.
- */
@Override
- public void setObserver(SuggestionsSource.Observer observer) {
+ public void init(SuggestionsSource.Observer observer, SuggestionsUma umaHelper) {
assert observer != null;
mObserver = observer;
+
+ assert mUmaHelper == null;
Bernhard Bauer 2017/01/11 13:53:38 TBH, I kind of like keeping simple set methods tha
dgn 2017/01/12 14:29:58 Done.
+ mUmaHelper = umaHelper;
}
@Override
@@ -233,7 +237,7 @@ private static SnippetArticle addSuggestion(List<SnippetArticle> suggestions, in
long timestamp, float score) {
int position = suggestions.size();
suggestions.add(new SnippetArticle(
- category, id, title, publisher, previewText, url, timestamp, score, position));
+ category, id, title, publisher, previewText, url, timestamp, score));
return suggestions.get(position);
}

Powered by Google App Engine
This is Rietveld 408576698