summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/view/FloatingActionMode.java17
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.
*/