mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
resolved conflicts for merge of 0ad33066 to ub-launcher3-master
Change-Id: I5dbbaaf9fb03ed3003174154ea7d7dbae9048a70
This commit is contained in:
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user