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();
+ }
}
};
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.
*/