Snap for 7414631 from 23bb5e0bfcecde268433de1265fef6628bdd4a9f to sc-v2-release

Change-Id: Ib43d4580ec47602266d8bd3417d6dd90cae549c5
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index c5f36ce..6158e94 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -124,6 +124,11 @@
 
     <dimen name="recommended_widgets_table_vertical_padding">8dp</dimen>
 
+    <!-- Bottom margin for the search and recommended widgets container without work profile -->
+    <dimen name="search_and_recommended_widgets_container_bottom_margin">16dp</dimen>
+    <!-- Bottom margin for the search and recommended widgets container with work profile -->
+    <dimen name="search_and_recommended_widgets_container_small_bottom_margin">10dp</dimen>
+
     <dimen name="widget_list_top_bottom_corner_radius">28dp</dimen>
     <dimen name="widget_list_content_corner_radius">4dp</dimen>
 
@@ -147,7 +152,7 @@
     <dimen name="widget_picker_education_tip_width">120dp</dimen>
     <dimen name="widget_picker_education_tip_min_margin">4dp</dimen>
 
-    <dimen name="widget_picker_view_pager_top_padding">16dp</dimen>
+    <dimen name="widget_picker_view_pager_top_padding">10dp</dimen>
 
     <!-- Padding applied to shortcut previews -->
     <dimen name="shortcut_preview_padding_left">0dp</dimen>
diff --git a/robolectric_tests/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarControllerTest.java b/robolectric_tests/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarControllerTest.java
index a057a84..7ac879a 100644
--- a/robolectric_tests/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarControllerTest.java
+++ b/robolectric_tests/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarControllerTest.java
@@ -19,7 +19,6 @@
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 
@@ -131,18 +130,14 @@
     public void cancelSearch_shouldInformSearchModeListenerToClearResultsAndExitSearch() {
         mCancelButton.performClick();
 
-        // 1 time explicitly from the cancel button on click listener.
-        // Another from the setText("") the cancel button on click listener causing afterTextChange.
-        verify(mSearchModeListener, times(2)).exitSearchMode();
+        verify(mSearchModeListener).exitSearchMode();
     }
 
     @Test
     public void cancelSearch_shouldCancelSearch() {
         mCancelButton.performClick();
 
-        // 1 time explicitly from the cancel button on click listener.
-        // Another from the setText("") the cancel button on click listener causing afterTextChange.
-        verify(mSearchAlgorithm, times(2)).cancel(true);
+        verify(mSearchAlgorithm).cancel(true);
         verifyNoMoreInteractions(mSearchAlgorithm);
     }
 
diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
index fb6ac0e..62af283 100644
--- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
+++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
@@ -123,6 +123,7 @@
     };
     private final int mTabsHeight;
     private final int mViewPagerTopPadding;
+    private final int mSearchAndRecommendationContainerBottomMargin;
     private final int mWidgetCellHorizontalPadding;
 
     @Nullable private WidgetsRecyclerView mCurrentWidgetsRecyclerView;
@@ -149,6 +150,10 @@
                 ? getContext().getResources()
                     .getDimensionPixelSize(R.dimen.widget_picker_view_pager_top_padding)
                 : 0;
+        mSearchAndRecommendationContainerBottomMargin = getContext().getResources()
+                .getDimensionPixelSize(mHasWorkProfile
+                        ? R.dimen.search_and_recommended_widgets_container_small_bottom_margin
+                        : R.dimen.search_and_recommended_widgets_container_bottom_margin);
         mWidgetCellHorizontalPadding = 2 * getResources().getDimensionPixelOffset(
                 R.dimen.widget_cell_horizontal_padding);
     }
@@ -192,6 +197,11 @@
         mNoWidgetsView = findViewById(R.id.no_widgets_text);
         mSearchAndRecommendationViewHolder = new SearchAndRecommendationViewHolder(
                 findViewById(R.id.search_and_recommendations_container));
+        TopRoundedCornerView.LayoutParams layoutParams =
+                (TopRoundedCornerView.LayoutParams)
+                        mSearchAndRecommendationViewHolder.mContainer.getLayoutParams();
+        layoutParams.bottomMargin = mSearchAndRecommendationContainerBottomMargin;
+        mSearchAndRecommendationViewHolder.mContainer.setLayoutParams(layoutParams);
         mSearchAndRecommendationsScrollController = new SearchAndRecommendationsScrollController(
                 mHasWorkProfile,
                 mTabsHeight,
diff --git a/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarController.java b/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarController.java
index a8294c0..2751a52 100644
--- a/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarController.java
+++ b/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarController.java
@@ -101,10 +101,8 @@
 
     @Override
     public void clearSearchResult() {
-        mSearchAlgorithm.cancel(/* interruptActiveRequests= */ true);
+        // Any existing search session will be cancelled by setting text to empty.
         mInput.setText("");
-        clearFocus();
-        mSearchModeListener.exitSearchMode();
     }
 
     /**