| 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 |