Fixing regression in L3 with search bar transition.

Change-Id: Ia4155a653012c5d23df21167233fe766e5479347
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 84e6b99..e97f017 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3571,8 +3571,12 @@
         // NO-OP
     }
 
+    public boolean launcherCallbacksProvidesSearch() {
+        return (mLauncherCallbacks != null && mLauncherCallbacks.providesSearch());
+    }
+
     public View getOrCreateQsbBar() {
-        if (mLauncherCallbacks != null && mLauncherCallbacks.providesSearch()) {
+        if (launcherCallbacksProvidesSearch()) {
             return mLauncherCallbacks.getQsbBar();
         }
 
diff --git a/src/com/android/launcher3/LauncherStateTransitionAnimation.java b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
index cdde8c1..5b8af97 100644
--- a/src/com/android/launcher3/LauncherStateTransitionAnimation.java
+++ b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
@@ -710,26 +710,27 @@
                 toWorkspaceState.getSearchDropTargetBarState();
 
         if (overlaySearchBar != null) {
-            if ((toWorkspaceState == Workspace.State.NORMAL) &&
-                    (fromWorkspaceState == Workspace.State.NORMAL_HIDDEN)) {
-                // If we are transitioning from the overlay to the workspace, then show the
-                // workspace search bar immediately and let the overlay search bar fade out on top
-                mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 0);
-            } else if (fromWorkspaceState == Workspace.State.NORMAL) {
-                // If we are transitioning from the workspace to the overlay, then keep the
-                // workspace search bar visible until the overlay search bar fades in on top
-                animation.addListener(new AnimatorListenerAdapter() {
-                    @Override
-                    public void onAnimationEnd(Animator animation) {
-                        mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 0);
-                    }
-                });
-            } else {
-                // Otherwise, then just animate the workspace search bar normally
-                mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, duration);
+            if (mLauncher.launcherCallbacksProvidesSearch()) {
+                if ((toWorkspaceState == Workspace.State.NORMAL) &&
+                        (fromWorkspaceState == Workspace.State.NORMAL_HIDDEN)) {
+                    // If we are transitioning from the overlay to the workspace, then show the
+                    // workspace search bar immediately and let the overlay search bar fade out on
+                    // top
+                    mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 0);
+                    return;
+                } else if (fromWorkspaceState == Workspace.State.NORMAL) {
+                    // If we are transitioning from the workspace to the overlay, then keep the
+                    // workspace search bar visible until the overlay search bar fades in on top
+                    animation.addListener(new AnimatorListenerAdapter() {
+                        @Override
+                        public void onAnimationEnd(Animator animation) {
+                            mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 0);
+                        }
+                    });
+                    return;
+                }
             }
-        } else {
-            // If there is no overlay search bar, then just animate the workspace search bar
+            // Fallback to the default search bar animation otherwise
             mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, duration);
         }
     }