Fix bug where shape reveal progress gets started too early.
* This caused the shape to not match the window size on app close.
Bug: 123900446
Change-Id: Iaa2c06f19c535f72ae4c080b4bc847d336f1a77d
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
index ca966c8..0816822 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -1134,12 +1134,10 @@
// FolderIconView can be seen morphing into the icon shape.
final float windowAlphaThreshold = isFloatingIconView ? 1f - SHAPE_PROGRESS_DURATION : 1f;
anim.addOnUpdateListener((currentRect, progress) -> {
- float interpolatedProgress = Interpolators.ACCEL_1_5.getInterpolation(progress);
-
homeAnim.setPlayFraction(progress);
- float windowAlpha = Utilities.mapToRange(interpolatedProgress, 0,
- windowAlphaThreshold, 1f, 0f, Interpolators.LINEAR);
+ float windowAlpha = Math.max(0, Utilities.mapToRange(progress, 0,
+ windowAlphaThreshold, 1f, 0f, Interpolators.LINEAR));
mTransformParams.setProgress(progress)
.setCurrentRectAndTargetAlpha(currentRect, windowAlpha);
mClipAnimationHelper.applyTransform(targetSet, mTransformParams,
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index 03cbb21..cf0ee62 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -229,7 +229,7 @@
mTaskCornerRadius = cornerRadius / scale;
if (mIsAdaptiveIcon) {
- if (!isOpening && shapeRevealProgress >= 0) {
+ if (!isOpening && progress >= shapeProgressStart) {
if (mRevealAnimator == null) {
mRevealAnimator = (ValueAnimator) IconShape.getShape().createRevealAnimator(
this, mStartRevealRect, mOutline, mTaskCornerRadius, !isOpening);