diff options
author | Michael Jurka <mikejurka@google.com> | 2012-05-16 17:55:10 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-16 17:55:10 -0700 |
commit | 65dbf3e454a94869cf28a6bd349b40e8e79d1ccf (patch) | |
tree | 96a9bf535506f1c62d36b9ffc1e7fafc2a7b15dd /src/com | |
parent | 4d173e93f077bdbc855cd1ef388dea4e21a234d5 (diff) | |
parent | c7d2b60ab1db9a478f173d045b9f501d994eb8b1 (diff) | |
download | packages_apps_trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.zip packages_apps_trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.tar.gz packages_apps_trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.tar.bz2 |
Merge "Updating search bar animation, and adding use of hw layers." into jb-dev
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 19 | ||||
-rw-r--r-- | src/com/android/launcher2/SearchDropTargetBar.java | 25 |
2 files changed, 29 insertions, 15 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 91184c9..e6c25cb 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -2367,6 +2367,9 @@ public final class Launcher extends Activity if (!animationCancelled) { updateWallpaperVisibility(false); } + + // Hide the search bar + mSearchDropTargetBar.hideSearchBar(false); } @Override @@ -2435,6 +2438,9 @@ public final class Launcher extends Activity // Hide the workspace scrollbar mWorkspace.hideScrollingIndicator(true); hideDockDivider(); + + // Hide the search bar + mSearchDropTargetBar.hideSearchBar(false); } dispatchOnLauncherTransitionPrepare(fromView, animated, false); dispatchOnLauncherTransitionStart(fromView, animated, false); @@ -2568,13 +2574,16 @@ public final class Launcher extends Activity void showWorkspace(boolean animated, Runnable onCompleteRunnable) { if (mState != State.WORKSPACE) { + boolean wasInSpringLoadedMode = (mState == State.APPS_CUSTOMIZE_SPRING_LOADED); mWorkspace.setVisibility(View.VISIBLE); hideAppsCustomizeHelper(State.WORKSPACE, animated, false, onCompleteRunnable); - // Show the search bar and hotseat - mSearchDropTargetBar.showSearchBar(animated); + // Show the search bar (only animate if we were showing the drop target bar in spring + // loaded mode) + mSearchDropTargetBar.showSearchBar(wasInSpringLoadedMode); + // We only need to animate in the dock divider if we're going from spring loaded mode - showDockDivider(animated && mState == State.APPS_CUSTOMIZE_SPRING_LOADED); + showDockDivider(animated && wasInSpringLoadedMode); // Set focus to the AppsCustomize button if (mAllAppsButton != null) { @@ -2601,9 +2610,6 @@ public final class Launcher extends Activity showAppsCustomizeHelper(animated, false); mAppsCustomizeTabHost.requestFocus(); - // Hide the search bar and hotseat - mSearchDropTargetBar.hideSearchBar(animated); - // Change the state *after* we've called all the transition code mState = State.APPS_CUSTOMIZE; @@ -2636,7 +2642,6 @@ public final class Launcher extends Activity // exitSpringLoadedDragMode made it visible. This is a bit hacky; we should // clean up our state transition functions mAppsCustomizeTabHost.setVisibility(View.GONE); - mSearchDropTargetBar.showSearchBar(true); showWorkspace(true, onCompleteRunnable); } else { exitSpringLoadedDragMode(); diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java index 03512b2..a01fd3a 100644 --- a/src/com/android/launcher2/SearchDropTargetBar.java +++ b/src/com/android/launcher2/SearchDropTargetBar.java @@ -75,6 +75,13 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mDeleteDropTarget.setLauncher(launcher); } + // This sets up the view for the animation + private void prepareStartAnimation(View v) { + // Enable the hw layers (which will be disabled in the onAnimationEnd callback below + v.setLayerType(View.LAYER_TYPE_HARDWARE, null); + v.buildLayer(); + } + private void prepareAnimation(ObjectAnimator in, ObjectAnimator out, final View v) { in.setInterpolator(new AccelerateInterpolator()); in.setDuration(sTransitionInDuration); @@ -84,7 +91,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D v.setVisibility(View.VISIBLE); } }); - out.setInterpolator(new DecelerateInterpolator()); + out.setInterpolator(new AccelerateInterpolator()); out.setDuration(sTransitionOutDuration); out.addListener(new AnimatorListenerAdapter() { @Override @@ -139,9 +146,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mQSBSearchBarFadeOutAnim.end(); } - private void cancelAnimations() { - mDropTargetBarFadeInAnim.cancel(); - mDropTargetBarFadeOutAnim.cancel(); + private void cancelSearchBarAnimations() { mQSBSearchBarFadeInAnim.cancel(); mQSBSearchBarFadeOutAnim.cancel(); } @@ -150,8 +155,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D * Shows and hides the search bar. */ public void showSearchBar(boolean animated) { - cancelAnimations(); + cancelSearchBarAnimations(); if (animated) { + prepareStartAnimation(mQSBSearchBar); mQSBSearchBarFadeInAnim.start(); } else { mQSBSearchBar.setVisibility(View.VISIBLE); @@ -164,8 +170,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mIsSearchBarHidden = false; } public void hideSearchBar(boolean animated) { - cancelAnimations(); + cancelSearchBarAnimations(); if (animated) { + prepareStartAnimation(mQSBSearchBar); mQSBSearchBarFadeOutAnim.start(); } else { mQSBSearchBar.setVisibility(View.INVISIBLE); @@ -194,11 +201,11 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D @Override public void onDragStart(DragSource source, Object info, int dragAction) { // Animate out the QSB search bar, and animate in the drop target bar - mDropTargetBar.setLayerType(View.LAYER_TYPE_HARDWARE, null); - mDropTargetBar.buildLayer(); + prepareStartAnimation(mDropTargetBar); mDropTargetBarFadeOutAnim.cancel(); mDropTargetBarFadeInAnim.start(); if (!mIsSearchBarHidden) { + prepareStartAnimation(mQSBSearchBar); mQSBSearchBarFadeInAnim.cancel(); mQSBSearchBarFadeOutAnim.start(); } @@ -212,9 +219,11 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D public void onDragEnd() { if (!mDeferOnDragEnd) { // Restore the QSB search bar, and animate out the drop target bar + prepareStartAnimation(mDropTargetBar); mDropTargetBarFadeInAnim.cancel(); mDropTargetBarFadeOutAnim.start(); if (!mIsSearchBarHidden) { + prepareStartAnimation(mQSBSearchBar); mQSBSearchBarFadeOutAnim.cancel(); mQSBSearchBarFadeInAnim.start(); } |