Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarCollection.java

Issue 2457233002: [Android] Call onDismissNoAction() after dismissSnackbar() is called (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/SnackbarTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698