Merge "Fixes rebinding worktab layout vs single recycler view (on workprofile change)" into ub-launcher3-master
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index 320d287..da4367f 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -85,6 +85,7 @@
     private InterceptingViewPager mViewPager;
     private ViewGroup mHeader;
     private FloatingHeaderHandler mFloatingHeaderHandler;
+    private TabsPagerAdapter mTabsPagerAdapter;
 
     private SpannableStringBuilder mSearchQueryBuilder = null;
 
@@ -436,7 +437,9 @@
             setupWorkProfileTabs();
             setupHeader();
         } else {
+            mTabsPagerAdapter = null;
             mAH[AdapterHolder.MAIN].setup(findViewById(R.id.apps_list_view), null);
+            mAH[AdapterHolder.WORK].recyclerView = null;
             if (FeatureFlags.ALL_APPS_PREDICTION_ROW_VIEW) {
                 setupHeader();
             } else {
@@ -479,8 +482,11 @@
     }
 
     private void setupWorkProfileTabs() {
+        if (mTabsPagerAdapter != null) {
+            return;
+        }
         final SlidingTabStrip tabs = findViewById(R.id.tabs);
-        mViewPager.setAdapter(new TabsPagerAdapter());
+        mViewPager.setAdapter(mTabsPagerAdapter = new TabsPagerAdapter());
         mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 
             boolean mVisible = true;