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

Commit d6d1858c authored by Todd Kennedy's avatar Todd Kennedy
Browse files

Save Fragment's hidden state

Bug: 22666353
Change-Id: I4989e95d9ad3f78ab8bdf21d62808220e8beb1f1
parent 32737fea
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -63,6 +63,7 @@ final class FragmentState implements Parcelable {
    final boolean mRetainInstance;
    final boolean mRetainInstance;
    final boolean mDetached;
    final boolean mDetached;
    final Bundle mArguments;
    final Bundle mArguments;
    final boolean mHidden;


    Bundle mSavedFragmentState;
    Bundle mSavedFragmentState;


@@ -78,6 +79,7 @@ final class FragmentState implements Parcelable {
        mRetainInstance = frag.mRetainInstance;
        mRetainInstance = frag.mRetainInstance;
        mDetached = frag.mDetached;
        mDetached = frag.mDetached;
        mArguments = frag.mArguments;
        mArguments = frag.mArguments;
        mHidden = frag.mHidden;
    }
    }


    public FragmentState(Parcel in) {
    public FragmentState(Parcel in) {
@@ -90,6 +92,7 @@ final class FragmentState implements Parcelable {
        mRetainInstance = in.readInt() != 0;
        mRetainInstance = in.readInt() != 0;
        mDetached = in.readInt() != 0;
        mDetached = in.readInt() != 0;
        mArguments = in.readBundle();
        mArguments = in.readBundle();
        mHidden = in.readInt() != 0;
        mSavedFragmentState = in.readBundle();
        mSavedFragmentState = in.readBundle();
    }
    }


@@ -117,6 +120,7 @@ final class FragmentState implements Parcelable {
        mInstance.mTag = mTag;
        mInstance.mTag = mTag;
        mInstance.mRetainInstance = mRetainInstance;
        mInstance.mRetainInstance = mRetainInstance;
        mInstance.mDetached = mDetached;
        mInstance.mDetached = mDetached;
        mInstance.mHidden = mHidden;
        mInstance.mFragmentManager = host.mFragmentManager;
        mInstance.mFragmentManager = host.mFragmentManager;
        if (FragmentManagerImpl.DEBUG) Log.v(FragmentManagerImpl.TAG,
        if (FragmentManagerImpl.DEBUG) Log.v(FragmentManagerImpl.TAG,
                "Instantiated fragment " + mInstance);
                "Instantiated fragment " + mInstance);
@@ -138,6 +142,7 @@ final class FragmentState implements Parcelable {
        dest.writeInt(mRetainInstance ? 1 : 0);
        dest.writeInt(mRetainInstance ? 1 : 0);
        dest.writeInt(mDetached ? 1 : 0);
        dest.writeInt(mDetached ? 1 : 0);
        dest.writeBundle(mArguments);
        dest.writeBundle(mArguments);
        dest.writeInt(mHidden ? 1 : 0);
        dest.writeBundle(mSavedFragmentState);
        dest.writeBundle(mSavedFragmentState);
    }
    }