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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp; 5 package org.chromium.chrome.browser.ntp;
6 6
7 import android.annotation.TargetApi; 7 import android.annotation.TargetApi;
8 import android.content.Context; 8 import android.content.Context;
9 import android.graphics.Canvas; 9 import android.graphics.Canvas;
10 import android.graphics.Point; 10 import android.graphics.Point;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 56 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
57 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; 57 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
58 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 58 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
59 import org.chromium.chrome.browser.profiles.MostVisitedSites; 59 import org.chromium.chrome.browser.profiles.MostVisitedSites;
60 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver; 60 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver;
61 import org.chromium.chrome.browser.profiles.Profile; 61 import org.chromium.chrome.browser.profiles.Profile;
62 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 62 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
63 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver; 63 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver;
64 import org.chromium.chrome.browser.snackbar.Snackbar; 64 import org.chromium.chrome.browser.snackbar.Snackbar;
65 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; 65 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
66 import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter;
66 import org.chromium.chrome.browser.sync.SyncSessionsMetrics; 67 import org.chromium.chrome.browser.sync.SyncSessionsMetrics;
67 import org.chromium.chrome.browser.tab.EmptyTabObserver; 68 import org.chromium.chrome.browser.tab.EmptyTabObserver;
68 import org.chromium.chrome.browser.tab.Tab; 69 import org.chromium.chrome.browser.tab.Tab;
69 import org.chromium.chrome.browser.tab.TabObserver; 70 import org.chromium.chrome.browser.tab.TabObserver;
70 import org.chromium.chrome.browser.tabmodel.TabModel; 71 import org.chromium.chrome.browser.tabmodel.TabModel;
71 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; 72 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
72 import org.chromium.chrome.browser.tabmodel.TabModelSelector; 73 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
73 import org.chromium.chrome.browser.tabmodel.TabModelUtils; 74 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
74 import org.chromium.chrome.browser.tabmodel.document.TabDelegate; 75 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
75 import org.chromium.chrome.browser.util.UrlUtilities; 76 import org.chromium.chrome.browser.util.UrlUtilities;
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 } 321 }
321 } 322 }
322 return false; 323 return false;
323 } 324 }
324 325
325 private boolean matchURLs(String url1, String url2, boolean matchByHost) { 326 private boolean matchURLs(String url1, String url2, boolean matchByHost) {
326 if (url1 == null || url2 == null) return false; 327 if (url1 == null || url2 == null) return false;
327 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2); 328 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2);
328 } 329 }
329 330
330 @Override 331 public SuggestionsMetricsReporter getSuggestionsMetricsReporter() {
331 public void trackSnippetsPageImpression(int[] categories, int[] suggesti onsPerCategory) { 332 return mSnippetsBridge;
332 mSnippetsBridge.onPageShown(categories, suggestionsPerCategory); 333 }
334
335 public void trackSnippetOpened(int windowOpenDisposition, SnippetArticle article) {
336 mSnippetsBridge.onSuggestionOpened(article, windowOpenDisposition);
333 } 337 }
334 338
335 @Override 339 @Override
336 public void trackSnippetImpression(SnippetArticle article) { 340 public void openSnippet(int windowOpenDisposition, SnippetArticle articl e) {
337 mSnippetsBridge.onSuggestionShown(article); 341 trackSnippetOpened(windowOpenDisposition, article);
338 }
339
340 @Override
341 public void trackSnippetMenuOpened(SnippetArticle article) {
342 mSnippetsBridge.onSuggestionMenuOpened(article);
343 }
344
345 @Override
346 public void trackSnippetCategoryActionImpression(int category, int posit ion) {
347 mSnippetsBridge.onMoreButtonShown(category, position);
348 }
349
350 @Override
351 public void trackSnippetCategoryActionClick(int category, int position) {
352 mSnippetsBridge.onMoreButtonClicked(category, position);
353 switch (category) {
354 case KnownCategories.BOOKMARKS:
355 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_BOOKM ARKS_MANAGER);
356 break;
357 // MORE button in both categories leads to the recent tabs manag er
358 case KnownCategories.FOREIGN_TABS:
359 case KnownCategories.RECENT_TABS:
360 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_RECEN T_TABS_MANAGER);
361 break;
362 case KnownCategories.DOWNLOADS:
363 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNL OADS_MANAGER);
364 break;
365 default:
366 // No action associated
367 break;
368 }
369 }
370
371 public void trackSnippetOpened(
372 int windowOpenDisposition, SnippetArticle article, int categoryI ndex) {
373 mSnippetsBridge.onSuggestionOpened(article, categoryIndex, windowOpe nDisposition);
374 }
375
376 @Override
377 public void openSnippet(
378 int windowOpenDisposition, SnippetArticle article, int categoryI ndex) {
379 trackSnippetOpened(windowOpenDisposition, article, categoryIndex);
380 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET); 342 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
381 343
382 if (article.mIsAssetDownload) { 344 if (article.mIsAssetDownload) {
383 assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TA B 345 assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TA B
384 || windowOpenDisposition == WindowOpenDisposition.NEW_WI NDOW 346 || windowOpenDisposition == WindowOpenDisposition.NEW_WI NDOW
385 || windowOpenDisposition == WindowOpenDisposition.NEW_FO REGROUND_TAB; 347 || windowOpenDisposition == WindowOpenDisposition.NEW_FO REGROUND_TAB;
386 DownloadUtils.openFile( 348 DownloadUtils.openFile(
387 article.getAssetDownloadFile(), article.getAssetDownload MimeType(), false); 349 article.getAssetDownloadFile(), article.getAssetDownload MimeType(), false);
388 return; 350 return;
389 } 351 }
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 @Override 1025 @Override
1064 public boolean shouldCaptureThumbnail() { 1026 public boolean shouldCaptureThumbnail() {
1065 return mNewTabPageView.shouldCaptureThumbnail(); 1027 return mNewTabPageView.shouldCaptureThumbnail();
1066 } 1028 }
1067 1029
1068 @Override 1030 @Override
1069 public void captureThumbnail(Canvas canvas) { 1031 public void captureThumbnail(Canvas canvas) {
1070 mNewTabPageView.captureThumbnail(canvas); 1032 mNewTabPageView.captureThumbnail(canvas);
1071 } 1033 }
1072 } 1034 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698