am 65dbf3e4: Merge "Updating search bar animation, and adding use of hw layers." into jb-dev
* commit '65dbf3e454a94869cf28a6bd349b40e8e79d1ccf': Updating search bar animation, and adding use of hw layers.
This commit is contained in:
@@ -2367,6 +2367,9 @@ public final class Launcher extends Activity
|
|||||||
if (!animationCancelled) {
|
if (!animationCancelled) {
|
||||||
updateWallpaperVisibility(false);
|
updateWallpaperVisibility(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hide the search bar
|
||||||
|
mSearchDropTargetBar.hideSearchBar(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -2435,6 +2438,9 @@ public final class Launcher extends Activity
|
|||||||
// Hide the workspace scrollbar
|
// Hide the workspace scrollbar
|
||||||
mWorkspace.hideScrollingIndicator(true);
|
mWorkspace.hideScrollingIndicator(true);
|
||||||
hideDockDivider();
|
hideDockDivider();
|
||||||
|
|
||||||
|
// Hide the search bar
|
||||||
|
mSearchDropTargetBar.hideSearchBar(false);
|
||||||
}
|
}
|
||||||
dispatchOnLauncherTransitionPrepare(fromView, animated, false);
|
dispatchOnLauncherTransitionPrepare(fromView, animated, false);
|
||||||
dispatchOnLauncherTransitionStart(fromView, animated, false);
|
dispatchOnLauncherTransitionStart(fromView, animated, false);
|
||||||
@@ -2568,13 +2574,16 @@ public final class Launcher extends Activity
|
|||||||
|
|
||||||
void showWorkspace(boolean animated, Runnable onCompleteRunnable) {
|
void showWorkspace(boolean animated, Runnable onCompleteRunnable) {
|
||||||
if (mState != State.WORKSPACE) {
|
if (mState != State.WORKSPACE) {
|
||||||
|
boolean wasInSpringLoadedMode = (mState == State.APPS_CUSTOMIZE_SPRING_LOADED);
|
||||||
mWorkspace.setVisibility(View.VISIBLE);
|
mWorkspace.setVisibility(View.VISIBLE);
|
||||||
hideAppsCustomizeHelper(State.WORKSPACE, animated, false, onCompleteRunnable);
|
hideAppsCustomizeHelper(State.WORKSPACE, animated, false, onCompleteRunnable);
|
||||||
|
|
||||||
// Show the search bar and hotseat
|
// Show the search bar (only animate if we were showing the drop target bar in spring
|
||||||
mSearchDropTargetBar.showSearchBar(animated);
|
// loaded mode)
|
||||||
|
mSearchDropTargetBar.showSearchBar(wasInSpringLoadedMode);
|
||||||
|
|
||||||
// We only need to animate in the dock divider if we're going from spring loaded mode
|
// 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
|
// Set focus to the AppsCustomize button
|
||||||
if (mAllAppsButton != null) {
|
if (mAllAppsButton != null) {
|
||||||
@@ -2601,9 +2610,6 @@ public final class Launcher extends Activity
|
|||||||
showAppsCustomizeHelper(animated, false);
|
showAppsCustomizeHelper(animated, false);
|
||||||
mAppsCustomizeTabHost.requestFocus();
|
mAppsCustomizeTabHost.requestFocus();
|
||||||
|
|
||||||
// Hide the search bar and hotseat
|
|
||||||
mSearchDropTargetBar.hideSearchBar(animated);
|
|
||||||
|
|
||||||
// Change the state *after* we've called all the transition code
|
// Change the state *after* we've called all the transition code
|
||||||
mState = State.APPS_CUSTOMIZE;
|
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
|
// exitSpringLoadedDragMode made it visible. This is a bit hacky; we should
|
||||||
// clean up our state transition functions
|
// clean up our state transition functions
|
||||||
mAppsCustomizeTabHost.setVisibility(View.GONE);
|
mAppsCustomizeTabHost.setVisibility(View.GONE);
|
||||||
mSearchDropTargetBar.showSearchBar(true);
|
|
||||||
showWorkspace(true, onCompleteRunnable);
|
showWorkspace(true, onCompleteRunnable);
|
||||||
} else {
|
} else {
|
||||||
exitSpringLoadedDragMode();
|
exitSpringLoadedDragMode();
|
||||||
|
|||||||
@@ -75,6 +75,13 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
mDeleteDropTarget.setLauncher(launcher);
|
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) {
|
private void prepareAnimation(ObjectAnimator in, ObjectAnimator out, final View v) {
|
||||||
in.setInterpolator(new AccelerateInterpolator());
|
in.setInterpolator(new AccelerateInterpolator());
|
||||||
in.setDuration(sTransitionInDuration);
|
in.setDuration(sTransitionInDuration);
|
||||||
@@ -84,7 +91,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
v.setVisibility(View.VISIBLE);
|
v.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
out.setInterpolator(new DecelerateInterpolator());
|
out.setInterpolator(new AccelerateInterpolator());
|
||||||
out.setDuration(sTransitionOutDuration);
|
out.setDuration(sTransitionOutDuration);
|
||||||
out.addListener(new AnimatorListenerAdapter() {
|
out.addListener(new AnimatorListenerAdapter() {
|
||||||
@Override
|
@Override
|
||||||
@@ -139,9 +146,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
mQSBSearchBarFadeOutAnim.end();
|
mQSBSearchBarFadeOutAnim.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelAnimations() {
|
private void cancelSearchBarAnimations() {
|
||||||
mDropTargetBarFadeInAnim.cancel();
|
|
||||||
mDropTargetBarFadeOutAnim.cancel();
|
|
||||||
mQSBSearchBarFadeInAnim.cancel();
|
mQSBSearchBarFadeInAnim.cancel();
|
||||||
mQSBSearchBarFadeOutAnim.cancel();
|
mQSBSearchBarFadeOutAnim.cancel();
|
||||||
}
|
}
|
||||||
@@ -150,8 +155,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
* Shows and hides the search bar.
|
* Shows and hides the search bar.
|
||||||
*/
|
*/
|
||||||
public void showSearchBar(boolean animated) {
|
public void showSearchBar(boolean animated) {
|
||||||
cancelAnimations();
|
cancelSearchBarAnimations();
|
||||||
if (animated) {
|
if (animated) {
|
||||||
|
prepareStartAnimation(mQSBSearchBar);
|
||||||
mQSBSearchBarFadeInAnim.start();
|
mQSBSearchBarFadeInAnim.start();
|
||||||
} else {
|
} else {
|
||||||
mQSBSearchBar.setVisibility(View.VISIBLE);
|
mQSBSearchBar.setVisibility(View.VISIBLE);
|
||||||
@@ -164,8 +170,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
mIsSearchBarHidden = false;
|
mIsSearchBarHidden = false;
|
||||||
}
|
}
|
||||||
public void hideSearchBar(boolean animated) {
|
public void hideSearchBar(boolean animated) {
|
||||||
cancelAnimations();
|
cancelSearchBarAnimations();
|
||||||
if (animated) {
|
if (animated) {
|
||||||
|
prepareStartAnimation(mQSBSearchBar);
|
||||||
mQSBSearchBarFadeOutAnim.start();
|
mQSBSearchBarFadeOutAnim.start();
|
||||||
} else {
|
} else {
|
||||||
mQSBSearchBar.setVisibility(View.INVISIBLE);
|
mQSBSearchBar.setVisibility(View.INVISIBLE);
|
||||||
@@ -194,11 +201,11 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
@Override
|
@Override
|
||||||
public void onDragStart(DragSource source, Object info, int dragAction) {
|
public void onDragStart(DragSource source, Object info, int dragAction) {
|
||||||
// Animate out the QSB search bar, and animate in the drop target bar
|
// Animate out the QSB search bar, and animate in the drop target bar
|
||||||
mDropTargetBar.setLayerType(View.LAYER_TYPE_HARDWARE, null);
|
prepareStartAnimation(mDropTargetBar);
|
||||||
mDropTargetBar.buildLayer();
|
|
||||||
mDropTargetBarFadeOutAnim.cancel();
|
mDropTargetBarFadeOutAnim.cancel();
|
||||||
mDropTargetBarFadeInAnim.start();
|
mDropTargetBarFadeInAnim.start();
|
||||||
if (!mIsSearchBarHidden) {
|
if (!mIsSearchBarHidden) {
|
||||||
|
prepareStartAnimation(mQSBSearchBar);
|
||||||
mQSBSearchBarFadeInAnim.cancel();
|
mQSBSearchBarFadeInAnim.cancel();
|
||||||
mQSBSearchBarFadeOutAnim.start();
|
mQSBSearchBarFadeOutAnim.start();
|
||||||
}
|
}
|
||||||
@@ -212,9 +219,11 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
|
|||||||
public void onDragEnd() {
|
public void onDragEnd() {
|
||||||
if (!mDeferOnDragEnd) {
|
if (!mDeferOnDragEnd) {
|
||||||
// Restore the QSB search bar, and animate out the drop target bar
|
// Restore the QSB search bar, and animate out the drop target bar
|
||||||
|
prepareStartAnimation(mDropTargetBar);
|
||||||
mDropTargetBarFadeInAnim.cancel();
|
mDropTargetBarFadeInAnim.cancel();
|
||||||
mDropTargetBarFadeOutAnim.start();
|
mDropTargetBarFadeOutAnim.start();
|
||||||
if (!mIsSearchBarHidden) {
|
if (!mIsSearchBarHidden) {
|
||||||
|
prepareStartAnimation(mQSBSearchBar);
|
||||||
mQSBSearchBarFadeOutAnim.cancel();
|
mQSBSearchBarFadeOutAnim.cancel();
|
||||||
mQSBSearchBarFadeInAnim.start();
|
mQSBSearchBarFadeInAnim.start();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user