diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-05-31 02:04:03 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-05-31 02:04:03 +0000 |
commit | 958cc0657f046d6ee789734f01b4c244b8f986a7 (patch) | |
tree | ef6ad86e675dcf0886b6b902d32c5c767dce639f /quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java | |
parent | ba33d1d2160a0b51bbddcf821de9814930dd0982 (diff) | |
parent | b3c9077c7676015253ee9334ac08f7c3d87f41b4 (diff) | |
download | android_packages_apps_Trebuchet-958cc0657f046d6ee789734f01b4c244b8f986a7.tar.gz android_packages_apps_Trebuchet-958cc0657f046d6ee789734f01b4c244b8f986a7.tar.bz2 android_packages_apps_Trebuchet-958cc0657f046d6ee789734f01b4c244b8f986a7.zip |
Merge "Tuning app open/close animation." into ub-launcher3-qt-dev
Diffstat (limited to 'quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java')
-rw-r--r-- | quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java | 14 |
1 files changed, 12 insertions, 2 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 51e5e22a3..6a3983e28 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -19,6 +19,7 @@ import static com.android.launcher3.BaseActivity.INVISIBLE_BY_STATE_HANDLER; import static com.android.launcher3.BaseActivity.STATE_HANDLER_INVISIBILITY_FLAGS; import static com.android.launcher3.Utilities.SINGLE_FRAME_MS; import static com.android.launcher3.Utilities.postAsyncCallback; +import static com.android.launcher3.anim.Interpolators.ACCEL_1_5; import static com.android.launcher3.anim.Interpolators.DEACCEL; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; import static com.android.launcher3.anim.Interpolators.LINEAR; @@ -1140,16 +1141,25 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> AnimatorPlaybackController homeAnim = homeAnimationFactory.createActivityAnimationToHome(); + // End on a "round-enough" radius so that the shape reveal doesn't have to do too much + // rounding at the end of the animation. + float startRadius = mClipAnimationHelper.getCurrentCornerRadius(); + float endRadius = startRect.width() / 6f; // We want the window alpha to be 0 once this threshold is met, so that the // FolderIconView can be seen morphing into the icon shape. final float windowAlphaThreshold = isFloatingIconView ? 1f - SHAPE_PROGRESS_DURATION : 1f; anim.addOnUpdateListener((currentRect, progress) -> { homeAnim.setPlayFraction(progress); - float windowAlpha = Math.max(0, Utilities.mapToRange(progress, 0, - windowAlphaThreshold, 1f, 0f, Interpolators.LINEAR)); + float alphaProgress = ACCEL_1_5.getInterpolation(progress); + float windowAlpha = Utilities.boundToRange(Utilities.mapToRange(alphaProgress, 0, + windowAlphaThreshold, 1.5f, 0f, Interpolators.LINEAR), 0, 1); mTransformParams.setProgress(progress) .setCurrentRectAndTargetAlpha(currentRect, windowAlpha); + if (isFloatingIconView) { + mTransformParams.setCornerRadius(endRadius * progress + startRadius + * (1f - progress)); + } mClipAnimationHelper.applyTransform(targetSet, mTransformParams, false /* launcherOnTop */); |