From 7a36ad396e87819459f3bf0d55b976be5b9ba5ba Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Thu, 27 May 2021 18:41:51 +0100 Subject: [PATCH 1/2] Don't dismiss keyboard after clicking X button on the widgets search bar Test: Enter some queries in the widgets search bar. Click X button. The keyboard is still opened after the search queries has been erased. Bug: 189454318 Change-Id: Icb0501cf36cbf1517e2da24044da44101fa86ed9 --- .../picker/search/WidgetsSearchBarControllerTest.java | 9 ++------- .../widget/picker/search/WidgetsSearchBarController.java | 4 +--- 2 files changed, 3 insertions(+), 10 deletions(-) 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 a057a84d06..7ac879aa44 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 @@ package com.android.launcher3.widget.picker.search; 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 class WidgetsSearchBarControllerTest { 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/search/WidgetsSearchBarController.java b/src/com/android/launcher3/widget/picker/search/WidgetsSearchBarController.java index a8294c0426..2751a52796 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 @@ public class WidgetsSearchBarController implements TextWatcher, @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(); } /** From a0d49dcfb429835b15feb191ca0090b4f37555e4 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Thu, 27 May 2021 18:10:10 +0100 Subject: [PATCH 2/2] Further adjust work profile tabs paddings in the widgets picker Test: Open widgets picker and observe tabs paddings are correctly set. Bug: 188872382 Change-Id: Ib6a735bf2b0710f86b8641533cadb27116049341 --- res/values/dimens.xml | 7 ++++++- .../launcher3/widget/picker/WidgetsFullSheet.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 394aecb140..3bab4054f0 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -123,6 +123,11 @@ 8dp + + 16dp + + 10dp + 28dp 4dp @@ -146,7 +151,7 @@ 120dp 4dp - 16dp + 10dp 0dp diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java index c09beb6e16..545b458d8c 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java @@ -122,6 +122,7 @@ public class WidgetsFullSheet extends BaseWidgetSheet }; private final int mTabsHeight; private final int mViewPagerTopPadding; + private final int mSearchAndRecommendationContainerBottomMargin; private final int mWidgetCellHorizontalPadding; @Nullable private WidgetsRecyclerView mCurrentWidgetsRecyclerView; @@ -148,6 +149,10 @@ public class WidgetsFullSheet extends BaseWidgetSheet ? 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); } @@ -191,6 +196,11 @@ public class WidgetsFullSheet extends BaseWidgetSheet 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,