From b3153f0bee2fd92907c8129ca1bcad1a41c120e6 Mon Sep 17 00:00:00 2001 From: Shamali P Date: Tue, 20 Aug 2024 19:20:38 +0000 Subject: [PATCH] Fix issue that personal list shows on unfold while on work tab (paused) Bug: 358041878 Flag: EXEMPT bugfix Test: on fold device with test dpc Change-Id: I4b6d758cd4d98af941e2222db21a0307e1088867 --- .../android/launcher3/widget/picker/WidgetsFullSheet.java | 4 +++- .../launcher3/widget/picker/WidgetsTwoPaneSheet.java | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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); }