diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2016-07-27 11:54:02 -0700 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2016-07-27 11:54:02 -0700 |
commit | e3876e8dd0a6b6948c5365af9f88709301bbb536 (patch) | |
tree | 46a03a6cc0368d8f5c17a65909d4ce4a77e3f2f9 | |
parent | 0dc7e91d5ce2bacf52fe443f3a0907d45c1a8395 (diff) | |
download | android_packages_apps_Trebuchet-e3876e8dd0a6b6948c5365af9f88709301bbb536.tar.gz android_packages_apps_Trebuchet-e3876e8dd0a6b6948c5365af9f88709301bbb536.tar.bz2 android_packages_apps_Trebuchet-e3876e8dd0a6b6948c5365af9f88709301bbb536.zip |
Change default animation duration for all apps open and close.
> Also set different interpolator for all apps opening clicking the caret
Change-Id: I7f9b764a8bf8bb7c38d94acbd964e912f22d6941
-rw-r--r-- | res/values/config.xml | 1 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherStateTransitionAnimation.java | 7 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsTransitionController.java | 17 |
3 files changed, 20 insertions, 5 deletions
diff --git a/res/values/config.xml b/res/values/config.xml index c962decd0..943804278 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -26,6 +26,7 @@ <!-- Fade/zoom in/out duration & scale in a Launcher overlay transition. Note: This should be less than the config_overlayTransitionTime as they happen together. --> <integer name="config_overlayRevealTime">220</integer> + <integer name="config_overlaySlideRevealTime">320</integer> <integer name="config_overlayTransitionTime">300</integer> <integer name="config_overlayItemsAlphaStagger">60</integer> diff --git a/src/com/android/launcher3/LauncherStateTransitionAnimation.java b/src/com/android/launcher3/LauncherStateTransitionAnimation.java index 9cb842742..b0358e8c5 100644 --- a/src/com/android/launcher3/LauncherStateTransitionAnimation.java +++ b/src/com/android/launcher3/LauncherStateTransitionAnimation.java @@ -237,6 +237,8 @@ public class LauncherStateTransitionAnimation { final Resources res = mLauncher.getResources(); final boolean material = Utilities.ATLEAST_LOLLIPOP; final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime); + final int revealDurationSlide = res.getInteger(R.integer.config_overlaySlideRevealTime); + final int itemsAlphaStagger = res.getInteger(R.integer.config_overlayItemsAlphaStagger); final View fromView = mLauncher.getWorkspace(); @@ -435,7 +437,7 @@ public class LauncherStateTransitionAnimation { pCb.onTransitionComplete(); } }); - mAllAppsController.animateToAllApps(animation, revealDuration); + mAllAppsController.animateToAllApps(animation, revealDurationSlide); dispatchOnLauncherTransitionPrepare(fromView, animated, false); dispatchOnLauncherTransitionPrepare(toView, animated, false); @@ -680,6 +682,7 @@ public class LauncherStateTransitionAnimation { final Resources res = mLauncher.getResources(); final boolean material = Utilities.ATLEAST_LOLLIPOP; final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime); + final int revealDurationSlide = res.getInteger(R.integer.config_overlaySlideRevealTime); final int itemsAlphaStagger = res.getInteger(R.integer.config_overlayItemsAlphaStagger); @@ -918,7 +921,7 @@ public class LauncherStateTransitionAnimation { } }); - mAllAppsController.animateToWorkspace(animation, revealDuration); + mAllAppsController.animateToWorkspace(animation, revealDurationSlide); // Dispatch the prepare transition signal dispatchOnLauncherTransitionPrepare(fromView, animated, multiplePagesVisible); diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index cff77d3e1..df209b56c 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -6,6 +6,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; +import android.support.v4.view.animation.FastOutSlowInInterpolator; import android.util.Log; import android.view.MotionEvent; import android.view.View; @@ -43,7 +44,8 @@ public class AllAppsTransitionController implements TouchController, VerticalPul private static final boolean DBG = false; private final Interpolator mAccelInterpolator = new AccelerateInterpolator(2f); - private final Interpolator mDecelInterpolator = new DecelerateInterpolator(1f); + private final Interpolator mFastOutSlowInInterpolator = new FastOutSlowInInterpolator(); + private final Interpolator mScrollInterpolator = new PagedView.ScrollInterpolator(); private static final float ANIMATION_DURATION = 1200; @@ -249,6 +251,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul public boolean isTransitioning() { return mDetector.isDraggingOrSettling(); } + /** * @param start {@code true} if start of new drag. */ @@ -345,6 +348,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul } public void animateToAllApps(AnimatorSet animationOut, long duration) { + Interpolator interpolator; if (animationOut == null) { return; } @@ -352,12 +356,15 @@ public class AllAppsTransitionController implements TouchController, VerticalPul preparePull(true); mAnimationDuration = duration; mShiftStart = mAppsView.getTranslationY(); + interpolator = mFastOutSlowInInterpolator; + } else { + interpolator = mScrollInterpolator; } final float fromAllAppsTop = mAppsView.getTranslationY(); ObjectAnimator driftAndAlpha = ObjectAnimator.ofFloat(this, "progress", fromAllAppsTop / mShiftRange, 0f); driftAndAlpha.setDuration(mAnimationDuration); - driftAndAlpha.setInterpolator(new PagedView.ScrollInterpolator()); + driftAndAlpha.setInterpolator(interpolator); animationOut.play(driftAndAlpha); animationOut.addListener(new AnimatorListenerAdapter() { @@ -416,17 +423,21 @@ public class AllAppsTransitionController implements TouchController, VerticalPul if (animationOut == null) { return; } + Interpolator interpolator; if (mDetector.isIdleState()) { preparePull(true); mAnimationDuration = duration; mShiftStart = mAppsView.getTranslationY(); + interpolator = mFastOutSlowInInterpolator; + } else { + interpolator = mScrollInterpolator; } final float fromAllAppsTop = mAppsView.getTranslationY(); ObjectAnimator driftAndAlpha = ObjectAnimator.ofFloat(this, "progress", fromAllAppsTop / mShiftRange, 1f); driftAndAlpha.setDuration(mAnimationDuration); - driftAndAlpha.setInterpolator(new PagedView.ScrollInterpolator()); + driftAndAlpha.setInterpolator(interpolator); animationOut.play(driftAndAlpha); animationOut.addListener(new AnimatorListenerAdapter() { |