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
diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java
index 7a61479..435dbda 100644
--- a/src/com/android/launcher3/SearchDropTargetBar.java
+++ b/src/com/android/launcher3/SearchDropTargetBar.java
@@ -138,6 +138,8 @@
* 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 @@
mIsSearchBarHidden = false;
}
public void hideSearchBar(boolean animated) {
+ boolean needToCancelOngoingAnimation = mQSBSearchBarAnim.isRunning() && !animated;
+ if (mIsSearchBarHidden && !needToCancelOngoingAnimation) return;
if (animated) {
prepareStartAnimation(mQSBSearchBar);
mQSBSearchBarAnim.start();