Merge "Only setup widget adapters once after inflation" into sc-dev am: 45b8e48a69

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14213286

Change-Id: I3f6c3f2b854faa72742af62d096eff1b76cb5726
diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
index 70127c5..2bba316 100644
--- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
+++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
@@ -168,6 +168,8 @@
         layoutInflater.inflate(contentLayoutRes, springLayout, true);
 
         RecyclerViewFastScroller fastScroller = findViewById(R.id.fast_scroller);
+        mAdapters.get(AdapterHolder.PRIMARY).setup(findViewById(R.id.primary_widgets_list_view));
+        mAdapters.get(AdapterHolder.SEARCH).setup(findViewById(R.id.search_widgets_list_view));
         if (mHasWorkProfile) {
             mViewPager = findViewById(R.id.widgets_view_pager);
             mViewPager.initParentViews(this);
@@ -179,6 +181,7 @@
             findViewById(R.id.tab_work)
                     .setOnClickListener((View view) -> mViewPager.snapToPage(1));
             fastScroller.setIsRecyclerViewFirstChildInParent(false);
+            mAdapters.get(AdapterHolder.WORK).setup(findViewById(R.id.work_widgets_list_view));
         } else {
             mViewPager = null;
         }
@@ -392,15 +395,11 @@
         List<WidgetsListBaseEntry> allWidgets = mLauncher.getPopupDataProvider().getAllWidgets();
 
         AdapterHolder primaryUserAdapterHolder = mAdapters.get(AdapterHolder.PRIMARY);
-        primaryUserAdapterHolder.setup(findViewById(R.id.primary_widgets_list_view));
-        AdapterHolder searchAdapterHolder = mAdapters.get(AdapterHolder.SEARCH);
-        searchAdapterHolder.setup(findViewById(R.id.search_widgets_list_view));
         primaryUserAdapterHolder.mWidgetsListAdapter.setWidgets(allWidgets);
         updateNoWidgetsView(primaryUserAdapterHolder);
 
         if (mHasWorkProfile) {
             AdapterHolder workUserAdapterHolder = mAdapters.get(AdapterHolder.WORK);
-            workUserAdapterHolder.setup(findViewById(R.id.work_widgets_list_view));
             workUserAdapterHolder.mWidgetsListAdapter.setWidgets(allWidgets);
             onActivePageChanged(mViewPager.getCurrentPage());
         }