Chromium Code Reviews| 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(); |