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

Commit 13d03e50 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Address API feedback for new fragment APIs" into oc-dev

parents f9dc09f4 10d69ac2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4818,6 +4818,7 @@ package android.app {
    method public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
    method public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
@@ -4850,10 +4851,10 @@ package android.app {
    method public abstract android.app.FragmentTransaction hide(android.app.Fragment);
    method public abstract boolean isAddToBackStackAllowed();
    method public abstract boolean isEmpty();
    method public abstract android.app.FragmentTransaction postOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction remove(android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment, java.lang.String);
    method public abstract android.app.FragmentTransaction runOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(int);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence);
    method public abstract android.app.FragmentTransaction setBreadCrumbTitle(int);
+2 −1
Original line number Diff line number Diff line
@@ -4986,6 +4986,7 @@ package android.app {
    method public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
    method public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
@@ -5018,10 +5019,10 @@ package android.app {
    method public abstract android.app.FragmentTransaction hide(android.app.Fragment);
    method public abstract boolean isAddToBackStackAllowed();
    method public abstract boolean isEmpty();
    method public abstract android.app.FragmentTransaction postOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction remove(android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment, java.lang.String);
    method public abstract android.app.FragmentTransaction runOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(int);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence);
    method public abstract android.app.FragmentTransaction setBreadCrumbTitle(int);
+2 −1
Original line number Diff line number Diff line
@@ -4831,6 +4831,7 @@ package android.app {
    method public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
    method public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
    method public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
    method public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
@@ -4863,10 +4864,10 @@ package android.app {
    method public abstract android.app.FragmentTransaction hide(android.app.Fragment);
    method public abstract boolean isAddToBackStackAllowed();
    method public abstract boolean isEmpty();
    method public abstract android.app.FragmentTransaction postOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction remove(android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment);
    method public abstract android.app.FragmentTransaction replace(int, android.app.Fragment, java.lang.String);
    method public abstract android.app.FragmentTransaction runOnCommit(java.lang.Runnable);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(int);
    method public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence);
    method public abstract android.app.FragmentTransaction setBreadCrumbTitle(int);
+1 −1
Original line number Diff line number Diff line
@@ -621,7 +621,7 @@ final class BackStackRecord extends FragmentTransaction implements
    }

    @Override
    public FragmentTransaction postOnCommit(Runnable runnable) {
    public FragmentTransaction runOnCommit(Runnable runnable) {
        if (runnable == null) {
            throw new IllegalArgumentException("runnable cannot be null");
        }
+32 −0
Original line number Diff line number Diff line
@@ -451,6 +451,18 @@ public abstract class FragmentManager {
         */
        public void onFragmentAttached(FragmentManager fm, Fragment f, Context context) {}

        /**
         * Called right before the fragment's {@link Fragment#onCreate(Bundle)} method is called.
         * This is a good time to inject any required dependencies or perform other configuration
         * for the fragment.
         *
         * @param fm Host FragmentManager
         * @param f Fragment changing state
         * @param savedInstanceState Saved instance bundle from a previous instance
         */
        public void onFragmentPreCreated(FragmentManager fm, Fragment f,
                Bundle savedInstanceState) {}

        /**
         * Called after the fragment has returned from the FragmentManager's call to
         * {@link Fragment#onCreate(Bundle)}. This will only happen once for any given
@@ -1218,6 +1230,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate
                        dispatchOnFragmentAttached(f, mHost.getContext(), false);

                        if (!f.mRetaining) {
                            dispatchOnFragmentPreCreated(f, f.mSavedFragmentState, false);
                            f.performCreate(f.mSavedFragmentState);
                            dispatchOnFragmentCreated(f, f.mSavedFragmentState, false);
                        } else {
@@ -3274,6 +3287,25 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate
        }
    }

    void dispatchOnFragmentPreCreated(Fragment f, Bundle savedInstanceState,
            boolean onlyRecursive) {
        if (mParent != null) {
            FragmentManager parentManager = mParent.getFragmentManager();
            if (parentManager instanceof FragmentManagerImpl) {
                ((FragmentManagerImpl) parentManager)
                        .dispatchOnFragmentPreCreated(f, savedInstanceState, true);
            }
        }
        if (mLifecycleCallbacks == null) {
            return;
        }
        for (Pair<FragmentLifecycleCallbacks, Boolean> p : mLifecycleCallbacks) {
            if (!onlyRecursive || p.second) {
                p.first.onFragmentPreCreated(this, f, savedInstanceState);
            }
        }
    }

    void dispatchOnFragmentCreated(Fragment f, Bundle savedInstanceState, boolean onlyRecursive) {
        if (mParent != null) {
            FragmentManager parentManager = mParent.getFragmentManager();
Loading