| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java
|
| index 9cebc93ed81e28444e27b5ca7a7e814d016d3216..b51c0836d9fd4a10cefe57a9ffe5dcd013ba78b3 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/TabSwitcherCallout.java
|
| @@ -27,6 +27,9 @@ public class TabSwitcherCallout extends TextBubble {
|
| private static final int TAB_SWITCHER_CALLOUT_DISMISS_MS = 10000;
|
| private static final float Y_OVERLAP_PERCENTAGE = 0.33f;
|
|
|
| + private final Handler mHandler;
|
| + private final Runnable mDismissRunnable;
|
| +
|
| /**
|
| * Show the TabSwitcherCallout, if necessary.
|
| * @param context Context to draw resources from.
|
| @@ -39,15 +42,6 @@ public class TabSwitcherCallout extends TextBubble {
|
|
|
| final TabSwitcherCallout callout = new TabSwitcherCallout(context);
|
| callout.show(tabSwitcherButton);
|
| -
|
| - // Dismiss the popup automatically after a delay.
|
| - new Handler().postDelayed(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - callout.dismiss();
|
| - }
|
| - }, TAB_SWITCHER_CALLOUT_DISMISS_MS);
|
| -
|
| return callout;
|
| }
|
|
|
| @@ -85,5 +79,26 @@ public class TabSwitcherCallout extends TextBubble {
|
| private TabSwitcherCallout(Context context) {
|
| super(context, Y_OVERLAP_PERCENTAGE);
|
| setAnimationStyle(R.style.TabSwitcherCalloutAnimation);
|
| +
|
| + // Dismiss the popup automatically after a delay.
|
| + mDismissRunnable = new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + if (isShowing()) dismiss();
|
| + }
|
| + };
|
| + mHandler = new Handler();
|
| + }
|
| +
|
| + @Override
|
| + public void show(View anchorView) {
|
| + super.show(anchorView);
|
| + mHandler.postDelayed(mDismissRunnable, TAB_SWITCHER_CALLOUT_DISMISS_MS);
|
| + }
|
| +
|
| + @Override
|
| + public void dismiss() {
|
| + super.dismiss();
|
| + mHandler.removeCallbacks(mDismissRunnable);
|
| }
|
| }
|
|
|