diff options
-rw-r--r-- | core/java/com/android/internal/view/FloatingActionMode.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java index 1203dd2c7217..effe21902f91 100644 --- a/core/java/com/android/internal/view/FloatingActionMode.java +++ b/core/java/com/android/internal/view/FloatingActionMode.java @@ -59,15 +59,19 @@ public class FloatingActionMode extends ActionMode { private final Runnable mMovingOff = new Runnable() { public void run() { - mFloatingToolbarVisibilityHelper.setMoving(false); - mFloatingToolbarVisibilityHelper.updateToolbarVisibility(); + if (isViewStillActive()) { + mFloatingToolbarVisibilityHelper.setMoving(false); + mFloatingToolbarVisibilityHelper.updateToolbarVisibility(); + } } }; private final Runnable mHideOff = new Runnable() { public void run() { - mFloatingToolbarVisibilityHelper.setHideRequested(false); - mFloatingToolbarVisibilityHelper.updateToolbarVisibility(); + if (isViewStillActive()) { + mFloatingToolbarVisibilityHelper.setHideRequested(false); + mFloatingToolbarVisibilityHelper.updateToolbarVisibility(); + } } }; @@ -301,6 +305,11 @@ public class FloatingActionMode extends ActionMode { mOriginatingView.removeCallbacks(mHideOff); } + private boolean isViewStillActive() { + return mOriginatingView.getWindowVisibility() == View.VISIBLE + && mOriginatingView.isShown(); + } + /** * A helper for showing/hiding the floating toolbar depending on certain states. */ |