resolved conflicts for merge of 0ad33066 to ub-launcher3-master

Change-Id: I5dbbaaf9fb03ed3003174154ea7d7dbae9048a70
This commit is contained in:
Winson
2015-08-07 10:37:21 -07:00
9 changed files with 297 additions and 312 deletions

View File

@@ -221,14 +221,13 @@ public class WorkspaceStateTransitionAnimation {
}
public AnimatorSet getAnimationToState(Workspace.State fromState, Workspace.State toState,
boolean animated, boolean hasOverlaySearchBar, HashMap<View, Integer> layerViews) {
boolean animated, HashMap<View, Integer> layerViews) {
AccessibilityManager am = (AccessibilityManager)
mLauncher.getSystemService(Context.ACCESSIBILITY_SERVICE);
final boolean accessibilityEnabled = am.isEnabled();
TransitionStates states = new TransitionStates(fromState, toState);
int duration = getAnimationDuration(states);
animateWorkspace(states, animated, duration, layerViews, accessibilityEnabled);
animateSearchBar(states, animated, duration, hasOverlaySearchBar, layerViews,
int workspaceDuration = getAnimationDuration(states);
animateWorkspace(states, animated, workspaceDuration, layerViews,
accessibilityEnabled);
animateBackgroundGradient(states, animated, BACKGROUND_FADE_OUT_DURATION);
return mStateAnimator;
@@ -469,76 +468,10 @@ public class WorkspaceStateTransitionAnimation {
}
}
/**
* Coordinates with the workspace animation to animate the search bar.
*
* TODO: This should really be coordinated with the SearchDropTargetBar, otherwise the
* bar has no idea that it is hidden, and this has no idea what state the bar is
* actually in.
*/
private void animateSearchBar(TransitionStates states, boolean animated, int duration,
boolean hasOverlaySearchBar, final HashMap<View, Integer> layerViews,
final boolean accessibilityEnabled) {
// The search bar is only visible in the workspace
final View searchBar = mLauncher.getOrCreateQsbBar();
if (searchBar != null) {
final boolean searchBarWillBeShown = states.stateIsNormal;
final float finalSearchBarAlpha = searchBarWillBeShown ? 1f : 0f;
if (animated) {
if (hasOverlaySearchBar) {
// If there is an overlay search bar, then we will coordinate with it.
mStateAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
// If we are transitioning to a visible search bar, show it immediately
// and let the overlay search bar has faded out
if (searchBarWillBeShown) {
searchBar.setAlpha(finalSearchBarAlpha);
AlphaUpdateListener.updateVisibility(searchBar, accessibilityEnabled);
}
}
@Override
public void onAnimationEnd(Animator animation) {
// If we are transitioning to a hidden search bar, hide it only after
// the overlay search bar has faded in
if (!searchBarWillBeShown) {
searchBar.setAlpha(finalSearchBarAlpha);
AlphaUpdateListener.updateVisibility(searchBar, accessibilityEnabled);
}
}
});
} else {
// Otherwise, we can just do the normal animation
LauncherViewPropertyAnimator searchBarAlpha =
new LauncherViewPropertyAnimator(searchBar).alpha(finalSearchBarAlpha);
searchBarAlpha.addListener(new AlphaUpdateListener(searchBar,
accessibilityEnabled));
searchBar.setLayerType(View.LAYER_TYPE_HARDWARE, null);
if (layerViews != null) {
// If layerViews is not null, we add these views, and indicate that
// the caller can manage layer state.
layerViews.put(searchBar, LauncherStateTransitionAnimation.BUILD_AND_SET_LAYER);
} else {
// Otherwise let the animator handle layer management.
searchBarAlpha.withLayer();
}
searchBarAlpha.setDuration(duration);
mStateAnimator.play(searchBarAlpha);
}
} else {
// Set the search bar state immediately
searchBar.setAlpha(finalSearchBarAlpha);
AlphaUpdateListener.updateVisibility(searchBar, accessibilityEnabled);
}
}
}
/**
* Animates the background scrim. Add to the state animator to prevent jankiness.
*
* @param finalAlpha the final alpha for the background scrim
* @param states the current and final workspace states
* @param animated whether or not to set the background alpha immediately
* @duration duration of the animation
*/