Skip to content
This repository was archived by the owner on Apr 3, 2020. It is now read-only.

Commit 12bfc33

Browse files
newtCommit bot
newt
authored and
Commit bot
committed
Use new showSnackbar() method everywhere.
This updates all the clients of showSnackbar() to use the new variant of the method that takes a single Snackbar object. The old overloads of showSnackbar() have been removed. This also renames removeSnackbarEntry() to removeMatchingSnackbars(), which seems like a clearer name. Review URL: https://codereview.chromium.org/1235453002 Cr-Commit-Position: refs/heads/master@{#338390}
1 parent fdc8c20 commit 12bfc33

File tree

5 files changed

+41
-74
lines changed

5 files changed

+41
-74
lines changed

chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUndoController.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
1212
import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksModel;
1313
import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksModel.EnhancedBookmarkDeleteObserver;
14+
import org.chromium.chrome.browser.snackbar.Snackbar;
1415
import org.chromium.chrome.browser.snackbar.SnackbarManager;
1516

1617
import java.util.Locale;
@@ -87,14 +88,14 @@ public void onDeleteBookmarks(String[] titles, boolean isUndoable) {
8788
if (!isUndoable) return;
8889

8990
if (titles.length == 1) {
90-
mSnackbarManager.showSnackbar(mContext.getString(R.string.undo_bar_delete_message),
91-
titles[0], mContext.getString(R.string.undo_bar_button_text),
92-
null, this);
91+
mSnackbarManager.showSnackbar(Snackbar.make(titles[0], this)
92+
.setTemplateText(mContext.getString(R.string.undo_bar_delete_message))
93+
.setAction(mContext.getString(R.string.undo_bar_button_text), null));
9394
} else {
9495
mSnackbarManager.showSnackbar(
95-
mContext.getString(R.string.undo_bar_multiple_delete_message),
96-
String.format(Locale.getDefault(), "%d", titles.length),
97-
mContext.getString(R.string.undo_bar_button_text), null, this);
96+
Snackbar.make(String.format(Locale.getDefault(), "%d", titles.length), this)
97+
.setTemplateText(mContext.getString(R.string.undo_bar_multiple_delete_message))
98+
.setAction(mContext.getString(R.string.undo_bar_button_text), null));
9899
}
99100
}
100101
}

chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkUtils.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.chromium.chrome.browser.enhanced_bookmarks.EnhancedBookmarksModel;
2525
import org.chromium.chrome.browser.favicon.FaviconHelper;
2626
import org.chromium.chrome.browser.profiles.Profile;
27+
import org.chromium.chrome.browser.snackbar.Snackbar;
2728
import org.chromium.chrome.browser.snackbar.SnackbarManager;
2829
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
2930
import org.chromium.chrome.browser.util.FeatureUtilities;
@@ -90,10 +91,9 @@ public void onAction(Object actionData) {
9091
pair.first.destroy();
9192
}
9293
};
93-
snackbarManager.showSnackbar(null,
94-
activity.getString(R.string.enhanced_bookmark_page_saved),
95-
activity.getString(R.string.enhanced_bookmark_item_edit), pair,
96-
snackbarController);
94+
snackbarManager.showSnackbar(Snackbar.make(
95+
activity.getString(R.string.enhanced_bookmark_page_saved), snackbarController)
96+
.setAction(activity.getString(R.string.enhanced_bookmark_item_edit), pair));
9797
}
9898

9999
/**

chrome/android/java/src/org/chromium/chrome/browser/snackbar/LoFiBarPopupController.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ public LoFiBarPopupController(Context context, SnackbarManager snackbarManager)
3939
*/
4040
public void showLoFiBar(Tab tab) {
4141
mTab = tab;
42-
mSnackbarManager.showSnackbar(
43-
null, mContext.getString(R.string.data_reduction_lo_fi_snackbar_message),
44-
mContext.getString(R.string.data_reduction_lo_fi_snackbar_action),
45-
tab.getId(), this, DEFAULT_LO_FI_SNACKBAR_SHOW_DURATION_MS);
42+
mSnackbarManager.showSnackbar(Snackbar.make(
43+
mContext.getString(R.string.data_reduction_lo_fi_snackbar_message), this)
44+
.setAction(mContext.getString(R.string.data_reduction_lo_fi_snackbar_action),
45+
tab.getId())
46+
.setDuration(DEFAULT_LO_FI_SNACKBAR_SHOW_DURATION_MS));
4647
DataReductionProxyUma.dataReductionProxyLoFiUIAction(
4748
DataReductionProxyUma.ACTION_LOAD_IMAGES_SNACKBAR_SHOWN);
4849
}
@@ -51,7 +52,7 @@ public void showLoFiBar(Tab tab) {
5152
* Dismisses the snackbar.
5253
*/
5354
public void dismissLoFiBar() {
54-
if (mSnackbarManager.isShowing()) mSnackbarManager.removeSnackbarEntry(this);
55+
if (mSnackbarManager.isShowing()) mSnackbarManager.removeMatchingSnackbars(this);
5556
}
5657

5758
/**

chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java

Lines changed: 13 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -138,41 +138,6 @@ public void showSnackbar(Snackbar snackbar) {
138138
mPopup.announceforAccessibility();
139139
}
140140

141-
/**
142-
* TODO(newt): delete this method. Update callers to use {@link #showSnackbar(Snackbar)}.
143-
* Shows a snackbar with description text and an action button.
144-
* @param template Teamplate used to compose full description.
145-
* @param description Text for description showing at start of snackbar.
146-
* @param actionText Text for action button to show.
147-
* @param actionData Data bound to this snackbar entry. Will be returned to listeners when
148-
* action be clicked or snackbar be dismissed.
149-
* @param controller Listener for this snackbar entry.
150-
*/
151-
public void showSnackbar(String template, String description, String actionText,
152-
Object actionData, SnackbarController controller) {
153-
showSnackbar(Snackbar.make(description, controller).setTemplateText(template)
154-
.setAction(actionText, actionData));
155-
}
156-
157-
/**
158-
* TODO(newt): delete this method. Update callers to use {@link #showSnackbar(Snackbar)}.
159-
* Shows a snackbar for the given timeout duration with description text and an action button.
160-
* Allows overriding the default timeout of {@link #DEFAULT_SNACKBAR_DURATION_MS} with
161-
* a custom value.
162-
* @param template Teamplate used to compose full description.
163-
* @param description Text for description showing at start of snackbar.
164-
* @param actionText Text for action button to show.
165-
* @param actionData Data bound to this snackbar entry. Will be returned to listeners when
166-
* action be clicked or snackbar be dismissed.
167-
* @param controller Listener for this snackbar entry.
168-
* @param timeoutMs The timeout to use in ms.
169-
*/
170-
public void showSnackbar(String template, String description, String actionText,
171-
Object actionData, SnackbarController controller, int timeoutMs) {
172-
showSnackbar(Snackbar.make(description, controller).setTemplateText(template)
173-
.setAction(actionText, actionData).setDuration(timeoutMs));
174-
}
175-
176141
/**
177142
* Dismisses snackbar, clears out all entries in stack and prevents future remove callbacks from
178143
* happening. This method also unregisters this class from global layout notifications.
@@ -200,11 +165,11 @@ public void dismissSnackbar(boolean isTimeout) {
200165
}
201166

202167
/**
203-
* Removes all entries for certain type of controller. This method is used when a controller
204-
* wants to remove all entries it posted to snackbar manager before.
205-
* @param controller This method only removes entries posted by this controller.
168+
* Removes all snackbars that have a certain controller.
169+
*
170+
* @param controller Only snackbars with this controller will be removed.
206171
*/
207-
public void removeSnackbarEntry(SnackbarController controller) {
172+
public void removeMatchingSnackbars(SnackbarController controller) {
208173
boolean isFound = false;
209174
Snackbar[] snackbars = new Snackbar[mStack.size()];
210175
mStack.toArray(snackbars);
@@ -216,21 +181,19 @@ public void removeSnackbarEntry(SnackbarController controller) {
216181
}
217182
if (!isFound) return;
218183

219-
finishSnackbarEntryRemoval(controller);
184+
finishSnackbarRemoval(controller);
220185
}
221186

222187
/**
223-
* Removes all entries for certain type of controller and with specified data. This method is
224-
* used when a controller wants to remove some entries it posted to snackbar manager before.
225-
* However it does not affect other controllers' entries. Note that this method assumes
226-
* different types of snackbar controllers are not sharing the same instance.
227-
* @param controller This method only removes entries posted by this controller.
228-
* @param data Identifier of an entry to be removed from stack.
188+
* Removes all snackbars that have a certain controller and action data.
189+
*
190+
* @param controller Only snackbars with this controller will be removed.
191+
* @param actionData Only snackbars whose action data is equal to actionData will be removed.
229192
*/
230-
public void removeSnackbarEntry(SnackbarController controller, Object data) {
193+
public void removeMatchingSnackbars(SnackbarController controller, Object actionData) {
231194
boolean isFound = false;
232195
for (Snackbar snackbar : mStack) {
233-
if (snackbar.getActionData() != null && snackbar.getActionData().equals(data)
196+
if (snackbar.getActionData() != null && snackbar.getActionData().equals(actionData)
234197
&& snackbar.getController() == controller) {
235198
mStack.remove(snackbar);
236199
isFound = true;
@@ -239,10 +202,10 @@ public void removeSnackbarEntry(SnackbarController controller, Object data) {
239202
}
240203
if (!isFound) return;
241204

242-
finishSnackbarEntryRemoval(controller);
205+
finishSnackbarRemoval(controller);
243206
}
244207

245-
private void finishSnackbarEntryRemoval(SnackbarController controller) {
208+
private void finishSnackbarRemoval(SnackbarController controller) {
246209
controller.onDismissForEachType(false);
247210

248211
if (mStack.isEmpty()) {

chrome/android/java/src/org/chromium/chrome/browser/snackbar/undo/UndoBarPopupController.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.chromium.chrome.R;
1111
import org.chromium.chrome.browser.Tab;
1212
import org.chromium.chrome.browser.device.DeviceClassManager;
13+
import org.chromium.chrome.browser.snackbar.Snackbar;
1314
import org.chromium.chrome.browser.snackbar.SnackbarManager;
1415
import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
1516
import org.chromium.chrome.browser.tabmodel.TabModel;
@@ -77,13 +78,13 @@ public void tabPendingClosure(Tab tab) {
7778
@Override
7879
public void tabClosureUndone(Tab tab) {
7980
if (disableUndo()) return;
80-
mSnackbarManager.removeSnackbarEntry(UndoBarPopupController.this, tab.getId());
81+
mSnackbarManager.removeMatchingSnackbars(UndoBarPopupController.this, tab.getId());
8182
}
8283

8384
@Override
8485
public void tabClosureCommitted(Tab tab) {
8586
if (disableUndo()) return;
86-
mSnackbarManager.removeSnackbarEntry(UndoBarPopupController.this, tab.getId());
87+
mSnackbarManager.removeMatchingSnackbars(UndoBarPopupController.this, tab.getId());
8788
}
8889

8990
@Override
@@ -95,7 +96,7 @@ public void allTabsPendingClosure(List<Integer> tabIds) {
9596
@Override
9697
public void allTabsClosureCommitted() {
9798
if (disableUndo()) return;
98-
mSnackbarManager.removeSnackbarEntry(UndoBarPopupController.this);
99+
mSnackbarManager.removeMatchingSnackbars(UndoBarPopupController.this);
99100
}
100101
};
101102
}
@@ -129,9 +130,9 @@ private void showUndoBar(int tabId, String content) {
129130
mSnackbarManager.isShowing() ? TAB_CLOSE_UNDO_TOAST_SHOWN_WARM
130131
: TAB_CLOSE_UNDO_TOAST_SHOWN_COLD,
131132
TAB_CLOSE_UNDO_TOAST_COUNT);
132-
mSnackbarManager.showSnackbar(mContext.getString(R.string.undo_bar_close_message),
133-
content, mContext.getString(R.string.undo_bar_button_text),
134-
tabId, this);
133+
mSnackbarManager.showSnackbar(Snackbar.make(content, this)
134+
.setTemplateText(mContext.getString(R.string.undo_bar_close_message))
135+
.setAction(mContext.getString(R.string.undo_bar_button_text), tabId));
135136
}
136137

137138
/**
@@ -144,9 +145,10 @@ private void showUndoBar(int tabId, String content) {
144145
*/
145146
private void showUndoCloseAllBar(List<Integer> closedTabIds) {
146147
String content = String.format(Locale.getDefault(), "%d", closedTabIds.size());
147-
mSnackbarManager.showSnackbar(mContext.getString(R.string.undo_bar_close_all_message),
148-
content, mContext.getString(R.string.undo_bar_button_text),
149-
closedTabIds, this);
148+
mSnackbarManager.showSnackbar(Snackbar.make(content, this)
149+
.setTemplateText(mContext.getString(R.string.undo_bar_close_all_message))
150+
.setAction(mContext.getString(R.string.undo_bar_button_text), closedTabIds));
151+
150152
}
151153

152154
/**

0 commit comments

Comments
 (0)