Revert "Speed up All Apps -> Workspace transition"
Temp fix for 5976264
This reverts commit 9433fa7ebad74320e39bfac6161a68bc850fe161.
Change-Id: Ic49ffc818b9b233b3717b52a5f77eaac1e001f5b
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 708d5d6..8cf0de6 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2212,18 +2212,6 @@
}
}
- private void dispatchOnLauncherTransitionStart(View v, boolean animated, boolean toWorkspace) {
- if (v instanceof LauncherTransitionable) {
- ((LauncherTransitionable) v).onLauncherTransitionStart(this, animated, toWorkspace);
- }
- }
-
- private void dispatchOnLauncherTransitionEnd(View v, boolean animated, boolean toWorkspace) {
- if (v instanceof LauncherTransitionable) {
- ((LauncherTransitionable) v).onLauncherTransitionEnd(this, animated, toWorkspace);
- }
- }
-
/**
* Things to test when changing the following seven functions.
* - Home from workspace
@@ -2269,7 +2257,7 @@
* Assumes that the view to show is anchored at either the very top or very bottom
* of the screen.
*/
- private void showAppsCustomizeHelper(final boolean animated, final boolean springLoaded) {
+ private void showAppsCustomizeHelper(boolean animated, final boolean springLoaded) {
if (mStateAnimation != null) {
mStateAnimation.cancel();
mStateAnimation = null;
@@ -2280,7 +2268,6 @@
final int duration = res.getInteger(R.integer.config_appsCustomizeZoomInTime);
final int fadeDuration = res.getInteger(R.integer.config_appsCustomizeFadeInTime);
final float scale = (float) res.getInteger(R.integer.config_appsCustomizeZoomScaleFactor);
- final View fromView = mWorkspace;
final View toView = mAppsCustomizeTabHost;
final int startDelay =
res.getInteger(R.integer.config_workspaceAppsCustomizeAnimationStagger);
@@ -2327,8 +2314,10 @@
}
@Override
public void onAnimationEnd(Animator animation) {
- dispatchOnLauncherTransitionEnd(fromView, animated, false);
- dispatchOnLauncherTransitionEnd(toView, animated, false);
+ if (toView instanceof LauncherTransitionable) {
+ ((LauncherTransitionable) toView).onLauncherTransitionEnd(instance,
+ scaleAnim, false);
+ }
if (!springLoaded && !LauncherApplication.isScreenLarge()) {
// Hide the workspace scrollbar
@@ -2351,14 +2340,14 @@
}
boolean delayAnim = false;
+ LauncherTransitionable lt = (LauncherTransitionable) toView;
final ViewTreeObserver observer;
- dispatchOnLauncherTransitionStart(fromView, animated, false);
- dispatchOnLauncherTransitionStart(toView, animated, false);
+ lt.onLauncherTransitionStart(instance, mStateAnimation, false);
// If any of the objects being animated haven't been measured/laid out
// yet, delay the animation until we get a layout pass
- if ((((LauncherTransitionable) toView).getContent().getMeasuredWidth() == 0) ||
+ if ((lt.getContent().getMeasuredWidth() == 0) ||
(mWorkspace.getMeasuredWidth() == 0) ||
(toView.getMeasuredWidth() == 0)) {
observer = mWorkspace.getViewTreeObserver();
@@ -2397,16 +2386,16 @@
toView.setScaleY(1.0f);
toView.setVisibility(View.VISIBLE);
toView.bringToFront();
+ if (toView instanceof LauncherTransitionable) {
+ ((LauncherTransitionable) toView).onLauncherTransitionStart(instance, null, false);
+ ((LauncherTransitionable) toView).onLauncherTransitionEnd(instance, null, false);
- if (!springLoaded && !LauncherApplication.isScreenLarge()) {
- // Hide the workspace scrollbar
- mWorkspace.hideScrollingIndicator(true);
- hideDockDivider();
+ if (!springLoaded && !LauncherApplication.isScreenLarge()) {
+ // Hide the workspace scrollbar
+ mWorkspace.hideScrollingIndicator(true);
+ hideDockDivider();
+ }
}
- dispatchOnLauncherTransitionStart(fromView, animated, false);
- dispatchOnLauncherTransitionEnd(fromView, animated, false);
- dispatchOnLauncherTransitionStart(toView, animated, false);
- dispatchOnLauncherTransitionEnd(toView, animated, false);
updateWallpaperVisibility(false);
}
}
@@ -2418,12 +2407,12 @@
*/
private void hideAppsCustomizeHelper(State toState, final boolean animated,
final boolean springLoaded, final Runnable onCompleteRunnable) {
-
if (mStateAnimation != null) {
mStateAnimation.cancel();
mStateAnimation = null;
}
Resources res = getResources();
+ final Launcher instance = this;
final int duration = res.getInteger(R.integer.config_appsCustomizeZoomOutTime);
final int fadeOutDuration =
@@ -2431,7 +2420,6 @@
final float scaleFactor = (float)
res.getInteger(R.integer.config_appsCustomizeZoomScaleFactor);
final View fromView = mAppsCustomizeTabHost;
- final View toView = mWorkspace;
Animator workspaceAnim = null;
if (toState == State.WORKSPACE) {
@@ -2462,18 +2450,19 @@
.setDuration(fadeOutDuration);
alphaAnim.setInterpolator(new AccelerateDecelerateInterpolator());
- mStateAnimation = new AnimatorSet();
-
- dispatchOnLauncherTransitionStart(fromView, animated, true);
- dispatchOnLauncherTransitionStart(toView, animated, true);
-
- mStateAnimation.addListener(new AnimatorListenerAdapter() {
+ if (fromView instanceof LauncherTransitionable) {
+ ((LauncherTransitionable) fromView).onLauncherTransitionStart(instance, alphaAnim,
+ true);
+ }
+ alphaAnim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
updateWallpaperVisibility(true);
fromView.setVisibility(View.GONE);
- dispatchOnLauncherTransitionEnd(fromView, animated, true);
- dispatchOnLauncherTransitionEnd(toView, animated, true);
+ if (fromView instanceof LauncherTransitionable) {
+ ((LauncherTransitionable) fromView).onLauncherTransitionEnd(instance,
+ alphaAnim, true);
+ }
mWorkspace.hideScrollingIndicator(false);
if (onCompleteRunnable != null) {
onCompleteRunnable.run();
@@ -2481,6 +2470,7 @@
}
});
+ mStateAnimation = new AnimatorSet();
mStateAnimation.playTogether(scaleAnim, alphaAnim);
if (workspaceAnim != null) {
mStateAnimation.play(workspaceAnim);
@@ -2488,10 +2478,10 @@
mStateAnimation.start();
} else {
fromView.setVisibility(View.GONE);
- dispatchOnLauncherTransitionStart(fromView, animated, false);
- dispatchOnLauncherTransitionEnd(fromView, animated, false);
- dispatchOnLauncherTransitionStart(toView, animated, false);
- dispatchOnLauncherTransitionEnd(toView, animated, false);
+ if (fromView instanceof LauncherTransitionable) {
+ ((LauncherTransitionable) fromView).onLauncherTransitionStart(instance, null, true);
+ ((LauncherTransitionable) fromView).onLauncherTransitionEnd(instance, null, true);
+ }
mWorkspace.hideScrollingIndicator(false);
}
}
@@ -3438,6 +3428,6 @@
interface LauncherTransitionable {
View getContent();
- void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace);
- void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace);
+ void onLauncherTransitionStart(Launcher l, Animator animation, boolean toWorkspace);
+ void onLauncherTransitionEnd(Launcher l, Animator animation, boolean toWorkspace);
}