Merge "Fix split divider flash if swipe again quickly" into tm-qpr-dev am: ade8b9d753
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19903469 Change-Id: Ic450af25bf003bced928f761e4709f4a8fed5fed Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -881,11 +881,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
// properly cleaned up the screenshot without accidentally using it.
|
||||
mDeferredCleanupRecentsAnimationController = mRecentsAnimationController;
|
||||
mStateCallback.setStateOnUiThread(STATE_GESTURE_CANCELLED | STATE_HANDLER_INVALIDATED);
|
||||
|
||||
if (mRecentsAnimationTargets != null) {
|
||||
setDividerShown(true /* shown */, false /* immediate */);
|
||||
}
|
||||
|
||||
// Defer clearing the controller and the targets until after we've updated the state
|
||||
mRecentsAnimationController = null;
|
||||
mRecentsAnimationTargets = null;
|
||||
@@ -1783,10 +1778,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
boolean wasVisible = mWasLauncherAlreadyVisible || mGestureStarted;
|
||||
mActivityInterface.onTransitionCancelled(wasVisible, mGestureState.getEndTarget());
|
||||
|
||||
if (mRecentsAnimationTargets != null && wasVisible) {
|
||||
setDividerShown(true /* shown */, true /* immediate */);
|
||||
}
|
||||
|
||||
// Leave the pending invisible flag, as it may be used by wallpaper open animation.
|
||||
if (mActivity != null) {
|
||||
mActivity.clearForceInvisibleFlag(INVISIBLE_BY_STATE_HANDLER);
|
||||
|
||||
@@ -672,7 +672,7 @@ public final class TaskViewUtils {
|
||||
for (int i = 0; i < nonApps.length; ++i) {
|
||||
final RemoteAnimationTargetCompat targ = nonApps[i];
|
||||
final SurfaceControl leash = targ.leash;
|
||||
if (targ.windowType == TYPE_DOCK_DIVIDER && leash != null) {
|
||||
if (targ.windowType == TYPE_DOCK_DIVIDER && leash != null && leash.isValid()) {
|
||||
auxiliarySurfaces.add(leash);
|
||||
hasSurfaceToAnimate = true;
|
||||
}
|
||||
@@ -685,7 +685,9 @@ public final class TaskViewUtils {
|
||||
dockFadeAnimator.addUpdateListener(valueAnimator -> {
|
||||
float progress = valueAnimator.getAnimatedFraction();
|
||||
for (SurfaceControl leash : auxiliarySurfaces) {
|
||||
t.setAlpha(leash, shown ? progress : 1 - progress);
|
||||
if (leash != null && leash.isValid()) {
|
||||
t.setAlpha(leash, shown ? progress : 1 - progress);
|
||||
}
|
||||
}
|
||||
t.apply();
|
||||
});
|
||||
@@ -706,7 +708,9 @@ public final class TaskViewUtils {
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
if (!shown) {
|
||||
for (SurfaceControl leash : auxiliarySurfaces) {
|
||||
t.hide(leash);
|
||||
if (leash != null && leash.isValid()) {
|
||||
t.hide(leash);
|
||||
}
|
||||
}
|
||||
t.apply();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user