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

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

Issue 2806593004: [Home] Add support for snackbars in the BottomSheet (Closed)
Patch Set: Fix JavaDoc Created 3 years, 8 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 78dfb00a1716cc3cde946c06f04724caf099c308..cdfa6d58a9e9776f0e101e1afdcb8e33adf02530 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
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.snackbar;
import android.app.Activity;
import android.os.Handler;
+import android.support.annotation.Nullable;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -68,6 +69,7 @@ public class SnackbarManager implements OnClickListener {
private SnackbarCollection mSnackbars = new SnackbarCollection();
private boolean mActivityInForeground;
private boolean mIsDisabledForTesting;
+ private ViewGroup mSnackbarParentView;
private final Runnable mHideRunnable = new Runnable() {
@Override
public void run() {
@@ -79,10 +81,13 @@ public class SnackbarManager implements OnClickListener {
/**
* Constructs a SnackbarManager to show snackbars in the given window.
* @param activity The embedding activity.
+ * @param snackbarParentView The ViewGroup used to display snackbars. If this is null, the
+ * {@link SnackbarView} will determine where to attach the snackbar.
*/
- public SnackbarManager(Activity activity) {
+ public SnackbarManager(Activity activity, @Nullable ViewGroup snackbarParentView) {
mActivity = activity;
mUIThreadHandler = new Handler();
+ mSnackbarParentView = snackbarParentView;
}
/**
@@ -114,6 +119,14 @@ public class SnackbarManager implements OnClickListener {
mView.announceforAccessibility();
}
+ /** Dismisses all snackbars. */
+ public void dismissAllSnackbars() {
+ if (mSnackbars.isEmpty()) return;
+
+ mSnackbars.clear();
+ updateView();
+ }
+
/**
* Dismisses snackbars that are associated with the given {@link SnackbarController}.
*
@@ -182,7 +195,7 @@ public class SnackbarManager implements OnClickListener {
} else {
boolean viewChanged = true;
if (mView == null) {
- mView = new SnackbarView(mActivity, this, currentSnackbar);
+ mView = new SnackbarView(mActivity, this, currentSnackbar, mSnackbarParentView);
mView.show();
} else {
viewChanged = mView.update(currentSnackbar);

Powered by Google App Engine
This is Rietveld 408576698