Ensuring that Launcher always has a search bar. (Bug 10965514)

- Also disabling voice proxy when we are in now (Bug 10915381)

Change-Id: I4ad6392b5139d12b9b298110109b9363ba426cb4
diff --git a/src/com/android/launcher3/DynamicGrid.java b/src/com/android/launcher3/DynamicGrid.java
index 0756c88..33eb595 100644
--- a/src/com/android/launcher3/DynamicGrid.java
+++ b/src/com/android/launcher3/DynamicGrid.java
@@ -359,14 +359,14 @@
         boolean hasVerticalBarLayout = isVerticalBarLayout();
 
         // Layout the search bar space
-        View searchBarSpace = launcher.findViewById(R.id.qsb_bar);
-        lp = (FrameLayout.LayoutParams) searchBarSpace.getLayoutParams();
+        View searchBar = launcher.getSearchBar();
+        lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams();
         if (hasVerticalBarLayout) {
             // Vertical search bar
             lp.gravity = Gravity.TOP | Gravity.LEFT;
             lp.width = searchBarSpaceHeightPx;
             lp.height = LayoutParams.MATCH_PARENT;
-            searchBarSpace.setPadding(
+            searchBar.setPadding(
                     0, 2 * edgeMarginPx, 0,
                     2 * edgeMarginPx);
         } else {
@@ -374,19 +374,19 @@
             lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
             lp.width = searchBarSpaceWidthPx;
             lp.height = searchBarSpaceHeightPx;
-            searchBarSpace.setPadding(
+            searchBar.setPadding(
                     2 * edgeMarginPx,
                     2 * edgeMarginPx,
                     2 * edgeMarginPx, 0);
         }
-        searchBarSpace.setLayoutParams(lp);
+        searchBar.setLayoutParams(lp);
 
         // Layout the search bar
-        View searchBar = launcher.getQsbBar();
-        lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams();
-        lp.width = LayoutParams.MATCH_PARENT;
-        lp.height = LayoutParams.MATCH_PARENT;
-        searchBar.setLayoutParams(lp);
+        View qsbBar = launcher.getQsbBar();
+        LayoutParams vglp = qsbBar.getLayoutParams();
+        vglp.width = LayoutParams.MATCH_PARENT;
+        vglp.height = LayoutParams.MATCH_PARENT;
+        qsbBar.setLayoutParams(vglp);
 
         // Layout the voice proxy
         View voiceButtonProxy = launcher.findViewById(R.id.voice_button_proxy);
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index d09a4b8..9f7b021 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -3263,7 +3263,8 @@
 
     public View getQsbBar() {
         if (mQsbBar == null) {
-            mQsbBar = mInflater.inflate(R.layout.qsb_bar, mSearchDropTargetBar);
+            mQsbBar = mInflater.inflate(R.layout.search_bar, mSearchDropTargetBar, false);
+            mSearchDropTargetBar.addView(mQsbBar);
         }
         return mQsbBar;
     }
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 0eca3af..ab52c4e 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1030,12 +1030,14 @@
             if (mCustomContentCallbacks != null) {
                 mCustomContentCallbacks.onShow();
                 mCustomContentShowTime = System.currentTimeMillis();
+                mLauncher.setVoiceButtonProxyVisible(false);
             }
         } else if (hasCustomContent() && getNextPage() != 0 && mCustomContentShowing) {
             mCustomContentShowing = false;
             if (mCustomContentCallbacks != null) {
                 mCustomContentCallbacks.onHide();
                 mLauncher.resetQSBScroll();
+                mLauncher.setVoiceButtonProxyVisible(true);
             }
         }
     }