Merge "Fix bug where icon is no present during app close animation." into ub-launcher3-qt-r1-dev

This commit is contained in:
TreeHugger Robot
2019-07-10 17:54:58 +00:00
committed by Android (Google) Code Review
3 changed files with 11 additions and 12 deletions
@@ -505,7 +505,8 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity>
initAnimFactory.run();
}
}
AbstractFloatingView.closeAllOpenViews(activity, mWasLauncherAlreadyVisible);
AbstractFloatingView.closeAllOpenViewsExcept(activity, mWasLauncherAlreadyVisible,
AbstractFloatingView.TYPE_LISTENER);
if (mWasLauncherAlreadyVisible) {
mStateCallback.setState(STATE_LAUNCHER_DRAWN);
@@ -224,12 +224,10 @@ public abstract class BaseDragLayer<T extends Context & ActivityContext>
if (child instanceof AbstractFloatingView) {
// Handles the case where the view is removed without being properly closed.
// This can happen if something goes wrong during a state change/transition.
postDelayed(() -> {
AbstractFloatingView floatingView = (AbstractFloatingView) child;
if (floatingView.isOpen()) {
floatingView.close(false);
}
}, SINGLE_FRAME_MS);
AbstractFloatingView floatingView = (AbstractFloatingView) child;
if (floatingView.isOpen()) {
postDelayed(() -> floatingView.close(false), SINGLE_FRAME_MS);
}
}
}
@@ -574,17 +574,17 @@ public class FloatingIconView extends View implements
if (cancellationSignal.isCanceled()) {
return;
}
if (mIconLoadResult.isIconLoaded) {
setIcon(originalView, mIconLoadResult.drawable, mIconLoadResult.badge,
mIconLoadResult.iconOffset);
}
setIcon(originalView, mIconLoadResult.drawable, mIconLoadResult.badge,
mIconLoadResult.iconOffset);
// Delay swapping views until the icon is loaded to prevent a flash.
setVisibility(VISIBLE);
originalView.setVisibility(INVISIBLE);
};
mLoadIconSignal = cancellationSignal;
}
}
mLoadIconSignal = cancellationSignal;
}
private void setBackgroundDrawableBounds(float scale) {