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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java

Issue 1606043004: Remove dismissForEachType() from SnackbarController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments Created 4 years, 11 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java
index e2da38d6a9a4b4586c62c02f9d87ca49c11c99b4..688d122e955d5c961e2706331777500532e66119 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarManager.java
@@ -20,7 +20,6 @@ import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.ui.UiUtils;
import org.chromium.ui.base.DeviceFormFactor;
-import java.util.HashSet;
import java.util.Stack;
/**
@@ -56,30 +55,16 @@ public class SnackbarManager implements OnClickListener, OnGlobalLayoutListener
*/
public static interface SnackbarController {
/**
- * Callback triggered when user clicks on button at end of snackbar. This method is only
- * called for controller having posted the entry the user clicked on; other controllers are
- * not notified. Also once this {@link #onAction(Object)} is called,
- * {@link #onDismissNoAction(Object)} and {@link #onDismissForEachType(boolean)} will not be
- * called.
+ * Called when the user clicks the action button on the snackbar.
* @param actionData Data object passed when showing this specific snackbar.
*/
void onAction(Object actionData);
/**
- * Callback triggered when the snackbar is dismissed by either timeout or UI environment
- * change. This callback will be called for each entry a controller has posted, _except_ for
- * entries which the user has done action with, by clicking the action button.
+ * Called when the snackbar is dismissed by tiemout or UI enviroment change.
* @param actionData Data object associated with the dismissed snackbar entry.
*/
void onDismissNoAction(Object actionData);
-
- /**
- * Notify each SnackbarControllers instance only once immediately before the snackbar is
- * dismissed. This function is likely to be used for controllers to do user metrics for
- * dismissal.
- * @param isTimeout Whether this dismissal is triggered by timeout.
- */
- void onDismissForEachType(boolean isTimeout);
}
private static final int DEFAULT_SNACKBAR_DURATION_MS = 3000;
@@ -186,14 +171,8 @@ public class SnackbarManager implements OnClickListener, OnGlobalLayoutListener
mPopup = null;
}
- HashSet<SnackbarController> controllers = new HashSet<SnackbarController>();
-
while (!mStack.isEmpty()) {
Snackbar snackbar = mStack.pop();
- if (!controllers.contains(snackbar.getController())) {
- snackbar.getController().onDismissForEachType(isTimeout);
- controllers.add(snackbar.getController());
- }
snackbar.getController().onDismissNoAction(snackbar.getActionData());
if (isTimeout && !mStack.isEmpty() && mStack.peek().getForceDisplay()) {
@@ -221,7 +200,7 @@ public class SnackbarManager implements OnClickListener, OnGlobalLayoutListener
}
if (!isFound) return;
- finishSnackbarRemoval(controller);
+ finishSnackbarRemoval();
}
/**
@@ -242,12 +221,10 @@ public class SnackbarManager implements OnClickListener, OnGlobalLayoutListener
}
if (!isFound) return;
- finishSnackbarRemoval(controller);
+ finishSnackbarRemoval();
}
- private void finishSnackbarRemoval(SnackbarController controller) {
- controller.onDismissForEachType(false);
-
+ private void finishSnackbarRemoval() {
if (mStack.isEmpty()) {
dismissAllSnackbars(false);
} else {

Powered by Google App Engine
This is Rietveld 408576698