From 19c05929f259eb8a457b94bd6167694e5a0fbded Mon Sep 17 00:00:00 2001 From: Mac Duy Hai Date: Wed, 16 Oct 2013 13:46:04 +0100 Subject: Shortcut show/hideSearchBar with new conditions. This is effectively a revert of: https://googleplex-android-review.googlesource.com/374556 With the new rules, we won't shortcut if: - the search bar is in an opposite visibility OR - a non-animated change has been requested AND there is an ongoing animation. This makes sure that showSearchBar(false) called after showSearchBar(true) is not ignored. Bug: 11105305 Bug: 11237729 Change-Id: I92668dfac072e62506b2872e8bfbe9f707c9cc69 --- src/com/android/launcher3/SearchDropTargetBar.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java index 7a6147922..435dbda1d 100644 --- a/src/com/android/launcher3/SearchDropTargetBar.java +++ b/src/com/android/launcher3/SearchDropTargetBar.java @@ -138,6 +138,8 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D * Shows and hides the search bar. */ public void showSearchBar(boolean animated) { + boolean needToCancelOngoingAnimation = mQSBSearchBarAnim.isRunning() && !animated; + if (!mIsSearchBarHidden && !needToCancelOngoingAnimation) return; if (animated) { prepareStartAnimation(mQSBSearchBar); mQSBSearchBarAnim.reverse(); @@ -152,6 +154,8 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D mIsSearchBarHidden = false; } public void hideSearchBar(boolean animated) { + boolean needToCancelOngoingAnimation = mQSBSearchBarAnim.isRunning() && !animated; + if (mIsSearchBarHidden && !needToCancelOngoingAnimation) return; if (animated) { prepareStartAnimation(mQSBSearchBar); mQSBSearchBarAnim.start(); -- cgit v1.2.3