diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java index 2af8e6fd94..0e5307ab36 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java @@ -290,10 +290,10 @@ public class WidgetsFullSheet extends BaseWidgetSheet protected void updateRecyclerViewVisibility(AdapterHolder adapterHolder) { // The first item is always an empty space entry. Look for any more items. boolean isWidgetAvailable = adapterHolder.mWidgetsListAdapter.hasVisibleEntries(); - adapterHolder.mWidgetsRecyclerView.setVisibility(isWidgetAvailable ? VISIBLE : GONE); if (adapterHolder.mAdapterType == AdapterHolder.SEARCH) { mNoWidgetsView.setText(R.string.no_search_results); + adapterHolder.mWidgetsRecyclerView.setVisibility(isWidgetAvailable ? VISIBLE : GONE); } else if (adapterHolder.mAdapterType == AdapterHolder.WORK && mUserCache.getUserProfiles().stream() .filter(userHandle -> mUserCache.getUserInfo(userHandle).isWork()) @@ -556,6 +556,8 @@ public class WidgetsFullSheet extends BaseWidgetSheet mNoWidgetsView.setVisibility(GONE); } else { mAdapters.get(AdapterHolder.SEARCH).mWidgetsRecyclerView.setVisibility(GONE); + mAdapters.get(getCurrentAdapterHolderType()).mWidgetsRecyclerView.setVisibility( + VISIBLE); // Visibility of recommended widgets, recycler views and headers are handled in methods // below. post(this::onRecommendedWidgetsBound); diff --git a/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java b/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java index 2653514074..d3296741cf 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java +++ b/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java @@ -461,6 +461,13 @@ public class WidgetsTwoPaneSheet extends WidgetsFullSheet { if (!isWidgetAvailable) { mRightPane.removeAllViews(); mRightPane.addView(mNoWidgetsView); + // with no widgets message, no header is selected on left + if (mSuggestedWidgetsPackageUserKey != null + && mSuggestedWidgetsPackageUserKey.equals(mSelectedHeader) + && mSuggestedWidgetsHeader != null) { + mSuggestedWidgetsHeader.setExpanded(false); + } + mSelectedHeader = null; } super.updateRecyclerViewVisibility(adapterHolder); }