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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroup.java

Issue 2831113002: [Suggestions] Add User action UMA for context menu actions (Closed)
Patch Set: "Refactor" Created 3 years, 8 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.suggestions; 5 package org.chromium.chrome.browser.suggestions;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.res.Resources; 8 import android.content.res.Resources;
9 import android.graphics.Bitmap; 9 import android.graphics.Bitmap;
10 import android.graphics.BitmapFactory; 10 import android.graphics.BitmapFactory;
11 import android.graphics.Color; 11 import android.graphics.Color;
12 import android.graphics.drawable.BitmapDrawable; 12 import android.graphics.drawable.BitmapDrawable;
13 import android.support.annotation.Nullable; 13 import android.support.annotation.Nullable;
14 import android.support.v4.graphics.drawable.RoundedBitmapDrawable; 14 import android.support.v4.graphics.drawable.RoundedBitmapDrawable;
15 import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; 15 import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;
16 import android.view.ContextMenu; 16 import android.view.ContextMenu;
17 import android.view.ContextMenu.ContextMenuInfo; 17 import android.view.ContextMenu.ContextMenuInfo;
18 import android.view.LayoutInflater; 18 import android.view.LayoutInflater;
19 import android.view.View; 19 import android.view.View;
20 import android.view.View.OnClickListener; 20 import android.view.View.OnClickListener;
21 import android.view.View.OnCreateContextMenuListener; 21 import android.view.View.OnCreateContextMenuListener;
22 import android.view.ViewGroup; 22 import android.view.ViewGroup;
23 23
24 import org.chromium.base.ApiCompatibilityUtils; 24 import org.chromium.base.ApiCompatibilityUtils;
25 import org.chromium.base.Callback; 25 import org.chromium.base.Callback;
26 import org.chromium.base.Log; 26 import org.chromium.base.Log;
27 import org.chromium.base.VisibleForTesting; 27 import org.chromium.base.VisibleForTesting;
28 import org.chromium.base.metrics.RecordUserAction;
28 import org.chromium.chrome.R; 29 import org.chromium.chrome.R;
29 import org.chromium.chrome.browser.ChromeFeatureList; 30 import org.chromium.chrome.browser.ChromeFeatureList;
30 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; 31 import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
31 import org.chromium.chrome.browser.ntp.ContextMenuManager; 32 import org.chromium.chrome.browser.ntp.ContextMenuManager;
32 import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; 33 import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId;
33 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 34 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
34 import org.chromium.chrome.browser.widget.RoundedIconGenerator; 35 import org.chromium.chrome.browser.widget.RoundedIconGenerator;
35 import org.chromium.ui.mojom.WindowOpenDisposition; 36 import org.chromium.ui.mojom.WindowOpenDisposition;
36 37
37 import java.util.ArrayList; 38 import java.util.ArrayList;
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 public void onCreateContextMenu( 480 public void onCreateContextMenu(
480 ContextMenu contextMenu, View view, ContextMenuInfo contextMenuI nfo) { 481 ContextMenu contextMenu, View view, ContextMenuInfo contextMenuI nfo) {
481 mContextMenuManager.createContextMenu(contextMenu, view, this); 482 mContextMenuManager.createContextMenu(contextMenu, view, this);
482 } 483 }
483 } 484 }
484 485
485 private class RemovalUndoneCallback extends Callback<String> { 486 private class RemovalUndoneCallback extends Callback<String> {
486 @Override 487 @Override
487 public void onResult(String restoredUrl) { 488 public void onResult(String restoredUrl) {
488 mPendingInsertionUrl = restoredUrl; 489 mPendingInsertionUrl = restoredUrl;
490
491 RecordUserAction.record("Suggestions.Tile.RemovalUndone");
489 } 492 }
490 } 493 }
491 494
492 private class OfflineModelObserver extends SuggestionsOfflineModelObserver<T ile> { 495 private class OfflineModelObserver extends SuggestionsOfflineModelObserver<T ile> {
493 public OfflineModelObserver(OfflinePageBridge bridge) { 496 public OfflineModelObserver(OfflinePageBridge bridge) {
494 super(bridge); 497 super(bridge);
495 } 498 }
496 499
497 @Override 500 @Override
498 public void onSuggestionOfflineIdChanged(Tile suggestion, @Nullable Long id) { 501 public void onSuggestionOfflineIdChanged(Tile suggestion, @Nullable Long id) {
499 // Retrieve a tile from the internal data, to make sure we don't upd ate a stale object. 502 // Retrieve a tile from the internal data, to make sure we don't upd ate a stale object.
500 Tile tile = getTile(suggestion.getUrl()); 503 Tile tile = getTile(suggestion.getUrl());
501 if (tile == null) return; 504 if (tile == null) return;
502 505
503 boolean oldOfflineAvailable = tile.isOfflineAvailable(); 506 boolean oldOfflineAvailable = tile.isOfflineAvailable();
504 tile.setOfflinePageOfflineId(id); 507 tile.setOfflinePageOfflineId(id);
505 508
506 // Only notify to update the view if there will be a visible change. 509 // Only notify to update the view if there will be a visible change.
507 if (oldOfflineAvailable == tile.isOfflineAvailable()) return; 510 if (oldOfflineAvailable == tile.isOfflineAvailable()) return;
508 mObserver.onTileOfflineBadgeVisibilityChanged(tile); 511 mObserver.onTileOfflineBadgeVisibilityChanged(tile);
509 } 512 }
510 513
511 @Override 514 @Override
512 public Iterable<Tile> getOfflinableSuggestions() { 515 public Iterable<Tile> getOfflinableSuggestions() {
513 return Arrays.asList(mTiles); 516 return Arrays.asList(mTiles);
514 } 517 }
515 } 518 }
516 } 519 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java ('k') | tools/metrics/actions/actions.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698