From 5040335e355eba58530647b5e63f39b2d363ecca Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Tue, 30 Nov 2021 12:33:57 -0800 Subject: [PATCH] Remove keepWindowOpaque and have the window always fade out. We built this method so that the window would have something to fade out on top of. But with longer icon loading times, this causes a buggy experience since the window is opaque for the entire duration of the animation. Having the window always fade out is a better UX for now. Next step is to always init the FloatingIconView with the in-memory icon, and then possibly caching both layers of AdaptiveIcon. Test: restart phone, swipe up to home restart phone, back swipe to home (This flow never called keepWindowOpaque) Bug: 207389002 Change-Id: Ida64829c60881786ed91e8641cdf7a278b37e201 --- .../quickstep/LauncherSwipeHandlerV2.java | 22 +------------------ .../quickstep/SwipeUpAnimationLogic.java | 5 ----- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java index 8a30aad90a..5541a46524 100644 --- a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java +++ b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java @@ -115,8 +115,6 @@ public class LauncherSwipeHandlerV2 extends } private HomeAnimationFactory createIconHomeAnimationFactory(View workspaceView) { - final ResourceProvider rp = DynamicResource.provider(mActivity); - final float transY = dpToPx(rp.getFloat(R.dimen.swipe_up_trans_y_dp)); RectF iconLocation = new RectF(); FloatingIconView floatingIconView = getFloatingIconView(mActivity, workspaceView, true /* hideOriginal */, iconLocation, false /* isOpening */); @@ -127,19 +125,15 @@ public class LauncherSwipeHandlerV2 extends return new FloatingViewHomeAnimationFactory(floatingIconView) { - // There is a delay in loading the icon, so we need to keep the window - // opaque until it is ready. - private boolean mIsFloatingIconReady = false; - @Nullable @Override protected View getViewIgnoredInWorkspaceRevealAnimation() { return workspaceView; } + @NonNull @Override public RectF getWindowTargetRect() { - super.getWindowTargetRect(); return iconLocation; } @@ -151,15 +145,6 @@ public class LauncherSwipeHandlerV2 extends floatingIconView.setFastFinishRunnable(anim::end); } - @Override - public boolean keepWindowOpaque() { - if (mIsFloatingIconReady || floatingIconView.isVisibleToUser()) { - mIsFloatingIconReady = true; - return false; - } - return true; - } - @Override public void update(RectF currentRect, float progress, float radius) { super.update(currentRect, progress, radius); @@ -214,11 +199,6 @@ public class LauncherSwipeHandlerV2 extends floatingWidgetView.setFastFinishRunnable(anim::end); } - @Override - public boolean keepWindowOpaque() { - return false; - } - @Override public void update(RectF currentRect, float progress, float radius) { super.update(currentRect, progress, radius); diff --git a/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java b/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java index b36cb0afea..8e9b668c15 100644 --- a/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java +++ b/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java @@ -183,8 +183,6 @@ public abstract class SwipeUpAnimationLogic implements public void setAnimation(RectFSpringAnim anim) { } - public boolean keepWindowOpaque() { return false; } - public void update(RectF currentRect, float progress, float radius) { } public void onCancel() { } @@ -338,9 +336,6 @@ public abstract class SwipeUpAnimationLogic implements mMatrix.setRectToRect(mCropRectF, mWindowCurrentRect, ScaleToFit.FILL); float cornerRadius = Utilities.mapRange(progress, mStartRadius, mEndRadius); float alpha = mAnimationFactory.getWindowAlpha(progress); - if (mAnimationFactory.keepWindowOpaque()) { - alpha = 1f; - } mLocalTransformParams .setTargetAlpha(alpha) .setCornerRadius(cornerRadius);