 Chromium Code Reviews
 Chromium Code Reviews Issue 2691373004:
  [Android History] Even more polish  (Closed)
    
  
    Issue 2691373004:
  [Android History] Even more polish  (Closed) 
  | Index: chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java | 
| index eeb792a600d35180df6feecb054375d04ed713c1..bf4ea624b9380bb98fb6c8e664867594ff5ea7c2 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java | 
| @@ -39,6 +39,9 @@ import org.chromium.chrome.browser.preferences.PreferencesLauncher; | 
| import org.chromium.chrome.browser.profiles.Profile; | 
| import org.chromium.chrome.browser.signin.SigninManager; | 
| import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; | 
| +import org.chromium.chrome.browser.snackbar.Snackbar; | 
| +import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; | 
| +import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable; | 
| import org.chromium.chrome.browser.util.IntentUtils; | 
| import org.chromium.chrome.browser.widget.FadingShadowView; | 
| import org.chromium.chrome.browser.widget.selection.SelectableListLayout; | 
| @@ -54,7 +57,8 @@ import java.util.List; | 
| * Displays and manages the UI for browsing history. | 
| */ | 
| public class HistoryManager implements OnMenuItemClickListener, SignInStateObserver, | 
| - SelectionObserver<HistoryItem>, SearchDelegate { | 
| + SelectionObserver<HistoryItem>, SearchDelegate, | 
| + SnackbarController { | 
| private static final int FAVICON_MAX_CACHE_SIZE_BYTES = 10 * 1024 * 1024; // 10MB | 
| private static final int MEGABYTES_TO_BYTES = 1024 * 1024; | 
| private static final String METRICS_PREFIX = "Android.HistoryPage."; | 
| @@ -118,8 +122,8 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser | 
| Rect listItemShadow = new Rect(); | 
| ApiCompatibilityUtils.getDrawable( | 
| mActivity.getResources(), R.drawable.card_middle).getPadding(listItemShadow); | 
| - int cardCornerRadius = mActivity.getResources().getDimensionPixelSize( | 
| - R.dimen.card_corner_radius); | 
| + int cardCornerRadius = | 
| + mActivity.getResources().getDimensionPixelSize(R.dimen.list_item_corner_radius); | 
| assert listItemShadow.left == listItemShadow.right; | 
| // The list item shadow size is used in HorizontalDisplayStyle.WIDE to visually align other | 
| @@ -184,6 +188,8 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser | 
| @Override | 
| public boolean onMenuItemClick(MenuItem item) { | 
| + mToolbar.hideOverflowMenu(); | 
| + | 
| if (item.getItemId() == R.id.close_menu_id && !isDisplayedInNativePage()) { | 
| mActivity.finish(); | 
| return true; | 
| @@ -195,6 +201,10 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser | 
| recordUserActionWithOptionalSearch("CopyLink"); | 
| Clipboard clipboard = new Clipboard(mActivity); | 
| clipboard.setText(mSelectionDelegate.getSelectedItems().get(0).getUrl()); | 
| + mSelectionDelegate.clearSelection(); | 
| + Snackbar snackbar = Snackbar.make(mActivity.getString(R.string.copied), this, | 
| + Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_HISTORY_LINK_COPIED); | 
| + ((SnackbarManageable) mActivity).getSnackbarManager().showSnackbar(snackbar); | 
| 
gone
2017/02/16 19:29:16
Any reason we're using a snackbar instead of a toa
 
Theresa
2017/02/16 19:59:10
I asked UX if we could use a toast and they said n
 | 
| return true; | 
| } else if (item.getItemId() == R.id.selection_mode_open_in_incognito) { | 
| openItemsInNewTabs(mSelectionDelegate.getSelectedItems(), true); | 
| @@ -439,6 +449,16 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser | 
| setToolbarShadowVisibility(); | 
| } | 
| + @Override | 
| + public void onAction(Object actionData) { | 
| + // Handler for the link copied snackbar. Do nothing. | 
| + } | 
| + | 
| + @Override | 
| + public void onDismissNoAction(Object actionData) { | 
| + // Handler for the link copied snackbar. Do nothing. | 
| + } | 
| + | 
| private void setToolbarShadowVisibility() { | 
| boolean showShadow = mRecyclerView.computeVerticalScrollOffset() != 0 | 
| || mIsSearching || mSelectionDelegate.isSelectionEnabled(); |