summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Abodunrinwa Toki <toki@google.com> 2016-09-29 14:52:26 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-09-29 14:52:29 +0000
commit2e0a36c4cb739833718a079ea200b6579d1ffde4 (patch)
treec2d4852c3df5a3a93f67673668196066e65c5f87
parent5b02bb416448e9f2b587cfa0c733c9bd24e6490f (diff)
parentd1eb19c65e89a67cfc63ed5496825b79a3bfe1ed (diff)
Merge "FloatingActionMode: Avoid calling delayed code if view is inactive."
-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.
*/