Fixing issue with search bar not being visible.

- If you queue up two SearchBarDropTarget state transitions one right after
  another, the second animation will skip (since the values haven't started
  animating yet) and the first animation will complete instead, leaving the
  visibility of the search and drop target bars at odds with the current
  bar state.
- Instead, we should cancel all existing animators first, such that if we
  are already in the final state, no animations will run, and the correct
  bars will be visibile.

Bug: 23201830
Change-Id: I1f8e802821ef2b4904a3efa7edbea6ae615479b9
This commit is contained in:
Winson
2015-08-20 15:22:18 -07:00
committed by Winson Chung
parent 6779595bec
commit 81c5f7e397
@@ -186,7 +186,12 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
*/
private void animateViewAlpha(LauncherViewPropertyAnimator animator, View v, float alpha,
int duration) {
if (v != null && Float.compare(v.getAlpha(), alpha) != 0) {
if (v == null) {
return;
}
animator.cancel();
if (Float.compare(v.getAlpha(), alpha) != 0) {
if (duration > 0) {
animator.alpha(alpha).withLayer().setDuration(duration).start();
} else {