summaryrefslogtreecommitdiffstats
path: root/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-05-31 02:04:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-05-31 02:04:03 +0000
commit958cc0657f046d6ee789734f01b4c244b8f986a7 (patch)
treeef6ad86e675dcf0886b6b902d32c5c767dce639f /quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
parentba33d1d2160a0b51bbddcf821de9814930dd0982 (diff)
parentb3c9077c7676015253ee9334ac08f7c3d87f41b4 (diff)
downloadandroid_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.java14
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 */);