| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.snackbar; | 5 package org.chromium.chrome.browser.snackbar; |
| 6 | 6 |
| 7 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; | 7 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; |
| 8 | 8 |
| 9 import java.util.Deque; | 9 import java.util.Deque; |
| 10 import java.util.Iterator; | 10 import java.util.Iterator; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 } | 76 } |
| 77 } | 77 } |
| 78 | 78 |
| 79 boolean removeMatchingSnackbars(SnackbarController controller) { | 79 boolean removeMatchingSnackbars(SnackbarController controller) { |
| 80 boolean snackbarRemoved = false; | 80 boolean snackbarRemoved = false; |
| 81 Iterator<Snackbar> iter = mSnackbars.iterator(); | 81 Iterator<Snackbar> iter = mSnackbars.iterator(); |
| 82 while (iter.hasNext()) { | 82 while (iter.hasNext()) { |
| 83 Snackbar snackbar = iter.next(); | 83 Snackbar snackbar = iter.next(); |
| 84 if (snackbar.getController() == controller) { | 84 if (snackbar.getController() == controller) { |
| 85 iter.remove(); | 85 iter.remove(); |
| 86 controller.onDismissNoAction(snackbar.getActionData()); |
| 86 snackbarRemoved = true; | 87 snackbarRemoved = true; |
| 87 } | 88 } |
| 88 } | 89 } |
| 89 return snackbarRemoved; | 90 return snackbarRemoved; |
| 90 } | 91 } |
| 91 | 92 |
| 92 boolean removeMatchingSnackbars(SnackbarController controller, Object data)
{ | 93 boolean removeMatchingSnackbars(SnackbarController controller, Object data)
{ |
| 93 boolean snackbarRemoved = false; | 94 boolean snackbarRemoved = false; |
| 94 Iterator<Snackbar> iter = mSnackbars.iterator(); | 95 Iterator<Snackbar> iter = mSnackbars.iterator(); |
| 95 while (iter.hasNext()) { | 96 while (iter.hasNext()) { |
| 96 Snackbar snackbar = iter.next(); | 97 Snackbar snackbar = iter.next(); |
| 97 if (snackbar.getController() == controller | 98 if (snackbar.getController() == controller |
| 98 && objectsAreEqual(snackbar.getActionData(), data)) { | 99 && objectsAreEqual(snackbar.getActionData(), data)) { |
| 99 iter.remove(); | 100 iter.remove(); |
| 101 controller.onDismissNoAction(data); |
| 100 snackbarRemoved = true; | 102 snackbarRemoved = true; |
| 101 } | 103 } |
| 102 } | 104 } |
| 103 return snackbarRemoved; | 105 return snackbarRemoved; |
| 104 } | 106 } |
| 105 | 107 |
| 106 private static boolean objectsAreEqual(Object a, Object b) { | 108 private static boolean objectsAreEqual(Object a, Object b) { |
| 107 if (a == null && b == null) return true; | 109 if (a == null && b == null) return true; |
| 108 if (a == null || b == null) return false; | 110 if (a == null || b == null) return false; |
| 109 return a.equals(b); | 111 return a.equals(b); |
| 110 } | 112 } |
| 111 } | 113 } |
| OLD | NEW |