From 928fc8d1e26b0af9cec86dd12237bed808c19dc2 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Wed, 29 May 2019 14:19:16 -0700 Subject: [PATCH] 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 --- .../com/android/quickstep/WindowTransformSwipeHandler.java | 6 ++---- src/com/android/launcher3/views/FloatingIconView.java | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) 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 ca966c8fdb..081682288d 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 @@ public class WindowTransformSwipeHandler // 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 03cbb21437..cf0ee62c7d 100644 --- a/src/com/android/launcher3/views/FloatingIconView.java +++ b/src/com/android/launcher3/views/FloatingIconView.java @@ -229,7 +229,7 @@ public class FloatingIconView extends View implements 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);