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

Commit 746316a4 authored by Makoto Onuki's avatar Makoto Onuki
Browse files

Use new "deferred fragments" feature on People

Apply the same technique which was recently introduced in
FragmentPagerAdapter in Ied454a6f.

Bug 5543639

Change-Id: If059589e0b1bfe2292c04eebb709800c1a41071a
parent 557984da
Loading
Loading
Loading
Loading
+19 −0
Original line number Original line Diff line number Diff line
@@ -739,6 +739,8 @@ public class PeopleActivity extends ContactsActivity


        private boolean mTabPagerAdapterSearchMode;
        private boolean mTabPagerAdapterSearchMode;


        private Fragment mCurrentPrimaryItem;

        public TabPagerAdapter() {
        public TabPagerAdapter() {
            mFragmentManager = getFragmentManager();
            mFragmentManager = getFragmentManager();
        }
        }
@@ -809,6 +811,9 @@ public class PeopleActivity extends ContactsActivity
            }
            }
            Fragment f = getFragment(position);
            Fragment f = getFragment(position);
            mCurTransaction.show(f);
            mCurTransaction.show(f);

            // Non primary pages should be deferred.
            f.setStartDeferred(f != mCurrentPrimaryItem);
            return f;
            return f;
        }
        }


@@ -834,6 +839,20 @@ public class PeopleActivity extends ContactsActivity
            return ((Fragment) object).getView() == view;
            return ((Fragment) object).getView() == view;
        }
        }


        @Override
        public void setPrimaryItem(View container, int position, Object object) {
            Fragment fragment = (Fragment) object;
            if (mCurrentPrimaryItem != fragment) {
                if (mCurrentPrimaryItem != null) {
                    mCurrentPrimaryItem.setStartDeferred(true);
                }
                if (fragment != null) {
                    fragment.setStartDeferred(false);
                }
                mCurrentPrimaryItem = fragment;
            }
        }

        @Override
        @Override
        public Parcelable saveState() {
        public Parcelable saveState() {
            return null;
            return null;