From 6a2a1a91a01b58af68b378612a4a33ca94d3363b Mon Sep 17 00:00:00 2001 From: Jonathan Miranda Date: Tue, 26 Jun 2018 20:22:18 +0000 Subject: Revert "Refactor "spring" code into one method." This reverts commit b83c71aa24983e1a8b7910cad32cb49133891e55. Reason for revert: Change-Id: I747dfc2ed63709f5f4032b4d4bd2cf3cd5d9e8ce --- .../LauncherAppTransitionManagerImpl.java | 62 +++++++++++----------- 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'quickstep') diff --git a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java index 252e3eaee..4108cd290 100644 --- a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +++ b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java @@ -57,7 +57,6 @@ import android.os.CancellationSignal; import android.os.Handler; import android.os.Looper; import android.util.Pair; -import android.util.Property; import android.view.View; import android.view.ViewGroup; @@ -805,9 +804,25 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag float shiftRange = allAppsController.getShiftRange(); float slideStart = shiftRange / (shiftRange - mStartSlideTransY); float oscillateStart = shiftRange / (shiftRange - mEndSlideTransY); + // Ensures a clean hand-off between slide and oscillate. + float slideEnd = Utilities.mapToRange(0, 0, 1f, oscillateStart, 1, OSCILLATE); - buildSpringAnimation(workspaceAnimator, allAppsController, ALL_APPS_PROGRESS, - 0 /* startDelay */, slideStart, oscillateStart, 1f /* finalPosition */); + allAppsController.setProgress(slideStart); + Animator slideIn = ObjectAnimator.ofFloat(allAppsController, ALL_APPS_PROGRESS, + slideStart, slideEnd); + slideIn.setDuration(SPRING_SLIDE_DURATION); + slideIn.setInterpolator(DEACCEL); + + Animator oscillate = ObjectAnimator.ofFloat(allAppsController, ALL_APPS_PROGRESS, + oscillateStart, 1f); + oscillate.setDuration(SPRING_OSCILLATE_DURATION); + oscillate.setInterpolator(OSCILLATE); + + Animator settle = ObjectAnimator.ofFloat(allAppsController, ALL_APPS_PROGRESS, 1f); + settle.setDuration(SPRING_SETTLE_DURATION); + settle.setInterpolator(LINEAR); + + workspaceAnimator.playSequentially(slideIn, oscillate, settle); } mDragLayer.getScrim().hideSysUiScrim(true); @@ -837,50 +852,35 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag v.setAlpha(0); ObjectAnimator alpha = ObjectAnimator.ofFloat(v, View.ALPHA, 1f); alpha.setInterpolator(LINEAR); - alpha.setDuration(SPRING_SLIDE_DURATION + SPRING_OSCILLATE_DURATION); + alpha.setDuration(SPRING_SLIDE_DURATION); alpha.setStartDelay(startDelay); outAnimator.play(alpha); - buildSpringAnimation(outAnimator, v, TRANSLATION_Y, startDelay, mStartSlideTransY, - mEndSlideTransY, 0f /* finalPosition */); - - outAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - v.setAlpha(1f); - v.setTranslationY(0); - } - }); - } - - /** - * Spring animations consists of three sequential animators: a slide, an oscillation, and - * a settle. - */ - private void buildSpringAnimation(AnimatorSet outAnimator, T objectToSpring, - Property property, long startDelay, float slideStart, float oscillateStart, - float finalPosition) { // Ensures a clean hand-off between slide and oscillate. - float slideEnd = Utilities.mapToRange(0, 0, 1f, oscillateStart, finalPosition, OSCILLATE); - - property.set(objectToSpring, slideStart); - - ObjectAnimator slideIn = ObjectAnimator.ofFloat(objectToSpring, property, slideStart, + float slideEnd = Utilities.mapToRange(0, 0, 1f, mEndSlideTransY, 0, OSCILLATE); + v.setTranslationY(mStartSlideTransY); + ObjectAnimator slideIn = ObjectAnimator.ofFloat(v, TRANSLATION_Y, mStartSlideTransY, slideEnd); slideIn.setInterpolator(DEACCEL); slideIn.setStartDelay(startDelay); slideIn.setDuration(SPRING_SLIDE_DURATION); - ObjectAnimator oscillate = ObjectAnimator.ofFloat(objectToSpring, property, oscillateStart, - finalPosition); + ObjectAnimator oscillate = ObjectAnimator.ofFloat(v, TRANSLATION_Y, mEndSlideTransY, 0); oscillate.setInterpolator(OSCILLATE); oscillate.setDuration(SPRING_OSCILLATE_DURATION); - ObjectAnimator settle = ObjectAnimator.ofFloat(objectToSpring, property, finalPosition); + ObjectAnimator settle = ObjectAnimator.ofFloat(v, TRANSLATION_Y, 0); settle.setInterpolator(LINEAR); settle.setDuration(SPRING_SETTLE_DURATION); outAnimator.playSequentially(slideIn, oscillate, settle); + outAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + v.setAlpha(1f); + v.setTranslationY(0); + } + }); } private void resetContentView() { -- cgit v1.2.3