Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarPopupWindow.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarPopupWindow.java b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarPopupWindow.java |
| index 75163e604cf3a25cef0925717ef8f700814b0776..edadc3278056724dfa90b14fd1f77325c1a385ba 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarPopupWindow.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarPopupWindow.java |
| @@ -27,6 +27,7 @@ class SnackbarPopupWindow extends PopupWindow { |
| private final TextView mActionButtonView; |
| private final ImageView mProfileImageView; |
| private final int mAnimationDuration; |
| + private Snackbar mSnackbar; |
| /** |
| * Creates an instance of the {@link SnackbarPopupWindow}. |
| @@ -61,14 +62,19 @@ class SnackbarPopupWindow extends PopupWindow { |
| mActionButtonView.setEnabled(false); |
| super.dismiss(); |
| } |
| - |
| /** |
|
newt (away)
2016/01/27 02:13:41
newline before this
Ian Wen
2016/01/27 18:14:07
Done.
|
| - * Updates the view to display data from the given snackbar. |
| - * |
| + * Updates the view to display data from the given snackbar. No-op if the popup is already |
| + * showing the given snackbar. |
| * @param snackbar The snackbar to display |
| - * @param animate Whether or not to animate the text in or set it immediately |
| + * @return Whether update has actually been executed. |
| */ |
| - void update(Snackbar snackbar, boolean animate) { |
| + boolean update(Snackbar snackbar) { |
| + return update(snackbar, true); |
| + } |
| + |
| + private boolean update(Snackbar snackbar, boolean animate) { |
| + if (mSnackbar == snackbar) return false; |
| + mSnackbar = snackbar; |
| mMessageView.setMaxLines(snackbar.getSingleLine() ? 1 : Integer.MAX_VALUE); |
| mMessageView.setTemplate(snackbar.getTemplateText()); |
| setViewText(mMessageView, snackbar.getText(), animate); |
| @@ -104,6 +110,7 @@ class SnackbarPopupWindow extends PopupWindow { |
| } else { |
| ((ViewGroup) view).removeView(mProfileImageView); |
| } |
| + return true; |
| } |
| private void setViewText(TextView view, CharSequence text, boolean animate) { |