summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2012-05-16 17:55:10 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-16 17:55:10 -0700
commit65dbf3e454a94869cf28a6bd349b40e8e79d1ccf (patch)
tree96a9bf535506f1c62d36b9ffc1e7fafc2a7b15dd /src
parent4d173e93f077bdbc855cd1ef388dea4e21a234d5 (diff)
parentc7d2b60ab1db9a478f173d045b9f501d994eb8b1 (diff)
downloadandroid_packages_apps_Trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.tar.gz
android_packages_apps_Trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.tar.bz2
android_packages_apps_Trebuchet-65dbf3e454a94869cf28a6bd349b40e8e79d1ccf.zip
Merge "Updating search bar animation, and adding use of hw layers." into jb-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/Launcher.java19
-rw-r--r--src/com/android/launcher2/SearchDropTargetBar.java25
2 files changed, 29 insertions, 15 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 91184c9f6..e6c25cbdc 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 03512b2f1..a01fd3a01 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();
}