Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffde1471 authored by Steven Ng's avatar Steven Ng
Browse files

Only setup widget adapters once after inflation

Bug: 185587905
Test: Switch to a new Guest user. Then, quickly open the all widgets
      picker and scroll to the bottom. The widgets picker no longer
      scroll to top even after app icons are loaded.
Change-Id: I1ffef95af56935d101d12520a20be97931d1429d
parent 0a19747c
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -167,6 +167,8 @@ public class WidgetsFullSheet extends BaseWidgetSheet
        layoutInflater.inflate(contentLayoutRes, springLayout, true);
        layoutInflater.inflate(contentLayoutRes, springLayout, true);


        RecyclerViewFastScroller fastScroller = findViewById(R.id.fast_scroller);
        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) {
        if (mHasWorkProfile) {
            mViewPager = findViewById(R.id.widgets_view_pager);
            mViewPager = findViewById(R.id.widgets_view_pager);
            mViewPager.initParentViews(this);
            mViewPager.initParentViews(this);
@@ -178,6 +180,7 @@ public class WidgetsFullSheet extends BaseWidgetSheet
            findViewById(R.id.tab_work)
            findViewById(R.id.tab_work)
                    .setOnClickListener((View view) -> mViewPager.snapToPage(1));
                    .setOnClickListener((View view) -> mViewPager.snapToPage(1));
            fastScroller.setIsRecyclerViewFirstChildInParent(false);
            fastScroller.setIsRecyclerViewFirstChildInParent(false);
            mAdapters.get(AdapterHolder.WORK).setup(findViewById(R.id.work_widgets_list_view));
        } else {
        } else {
            mViewPager = null;
            mViewPager = null;
        }
        }
@@ -391,15 +394,11 @@ public class WidgetsFullSheet extends BaseWidgetSheet
        List<WidgetsListBaseEntry> allWidgets = mLauncher.getPopupDataProvider().getAllWidgets();
        List<WidgetsListBaseEntry> allWidgets = mLauncher.getPopupDataProvider().getAllWidgets();


        AdapterHolder primaryUserAdapterHolder = mAdapters.get(AdapterHolder.PRIMARY);
        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);
        primaryUserAdapterHolder.mWidgetsListAdapter.setWidgets(allWidgets);
        updateNoWidgetsView(primaryUserAdapterHolder);
        updateNoWidgetsView(primaryUserAdapterHolder);


        if (mHasWorkProfile) {
        if (mHasWorkProfile) {
            AdapterHolder workUserAdapterHolder = mAdapters.get(AdapterHolder.WORK);
            AdapterHolder workUserAdapterHolder = mAdapters.get(AdapterHolder.WORK);
            workUserAdapterHolder.setup(findViewById(R.id.work_widgets_list_view));
            workUserAdapterHolder.mWidgetsListAdapter.setWidgets(allWidgets);
            workUserAdapterHolder.mWidgetsListAdapter.setWidgets(allWidgets);
            onActivePageChanged(mViewPager.getCurrentPage());
            onActivePageChanged(mViewPager.getCurrentPage());
        }
        }