Loading api/current.xml +45 −7 Original line number Diff line number Diff line Loading @@ -28065,13 +28065,22 @@ </parameter> </method> </class> <interface name="FragmentManager" <class name="FragmentManager" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="FragmentManager" type="android.app.FragmentManager" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="addOnBackStackChangedListener" return="void" abstract="true" Loading Loading @@ -28262,7 +28271,7 @@ visibility="public" > </field> </interface> </class> <interface name="FragmentManager.BackStackEntry" abstract="true" static="true" Loading Loading @@ -28323,13 +28332,22 @@ > </method> </interface> <interface name="FragmentTransaction" <class name="FragmentTransaction" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="FragmentTransaction" type="android.app.FragmentTransaction" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="add" return="android.app.FragmentTransaction" abstract="true" Loading Loading @@ -28401,6 +28419,17 @@ visibility="public" > </method> <method name="commitAllowingStateLoss" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="disallowAddToBackStack" return="android.app.FragmentTransaction" abstract="true" Loading Loading @@ -28686,7 +28715,7 @@ visibility="public" > </field> </interface> </class> <class name="Instrumentation" extends="java.lang.Object" abstract="false" Loading Loading @@ -30281,13 +30310,22 @@ </parameter> </method> </class> <interface name="LoaderManager" <class name="LoaderManager" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="LoaderManager" type="android.app.LoaderManager" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="getLoader" return="android.content.Loader<D>" abstract="true" Loading Loading @@ -30348,7 +30386,7 @@ <parameter name="id" type="int"> </parameter> </method> </interface> </class> <interface name="LoaderManager.LoaderCallbacks" abstract="true" static="true" Loading Loading @@ -30392,7 +30430,7 @@ abstract="true" static="false" final="false" deprecated="not deprecated" deprecated="deprecated" visibility="public" > <implements name="android.content.Loader.OnLoadCompleteListener"> core/java/android/app/BackStackRecord.java +11 −3 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ final class BackStackState implements Parcelable { /** * @hide Entry of an operation on the fragment back stack. */ final class BackStackRecord implements FragmentTransaction, final class BackStackRecord extends FragmentTransaction implements FragmentManager.BackStackEntry, Runnable { static final String TAG = "BackStackEntry"; Loading Loading @@ -417,6 +417,14 @@ final class BackStackRecord implements FragmentTransaction, } public int commit() { return commitInternal(false); } public int commitAllowingStateLoss() { return commitInternal(true); } int commitInternal(boolean allowStateLoss) { if (mCommitted) throw new IllegalStateException("commit already called"); if (FragmentManagerImpl.DEBUG) Log.v(TAG, "Commit: " + this); mCommitted = true; Loading @@ -425,7 +433,7 @@ final class BackStackRecord implements FragmentTransaction, } else { mIndex = -1; } mManager.enqueueAction(this); mManager.enqueueAction(this, allowStateLoss); return mIndex; } Loading core/java/android/app/DialogFragment.java +10 −2 Original line number Diff line number Diff line Loading @@ -256,6 +256,10 @@ public class DialogFragment extends Fragment * the fragment. */ public void dismiss() { dismissInternal(false); } void dismissInternal(boolean allowStateLoss) { if (mDialog != null) { mDialog.dismiss(); mDialog = null; Loading Loading @@ -353,7 +357,11 @@ public class DialogFragment extends Fragment public void onDismiss(DialogInterface dialog) { if (!mRemoved) { dismiss(); // Note: we need to use allowStateLoss, because the dialog // dispatches this asynchronously so we can receive the call // after the activity is paused. Worst case, when the user comes // back to the activity they see the dialog again. dismissInternal(true); } } Loading core/java/android/app/FragmentManager.java +19 −19 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ import java.util.ArrayList; * Interface for interacting with {@link Fragment} objects inside of an * {@link Activity} */ public interface FragmentManager { public abstract class FragmentManager { /** * Representation of an entry on the fragment back stack, as created * with {@link FragmentTransaction#addToBackStack(String) Loading Loading @@ -96,7 +96,7 @@ public interface FragmentManager { * in the state, and if changes are made after the state is saved then they * will be lost.</p> */ public FragmentTransaction openTransaction(); public abstract FragmentTransaction openTransaction(); /** * Finds a fragment that was identified by the given id either when inflated Loading @@ -106,7 +106,7 @@ public interface FragmentManager { * on the back stack associated with this ID are searched. * @return The fragment if found or null otherwise. */ public Fragment findFragmentById(int id); public abstract Fragment findFragmentById(int id); /** * Finds a fragment that was identified by the given tag either when inflated Loading @@ -116,7 +116,7 @@ public interface FragmentManager { * on the back stack are searched. * @return The fragment if found or null otherwise. */ public Fragment findFragmentByTag(String tag); public abstract Fragment findFragmentByTag(String tag); /** * Flag for {@link #popBackStack(String, int)} Loading @@ -132,7 +132,7 @@ public interface FragmentManager { * Pop the top state off the back stack. Returns true if there was one * to pop, else false. */ public boolean popBackStack(); public abstract boolean popBackStack(); /** * Pop the last fragment transition from the manager's fragment Loading @@ -143,7 +143,7 @@ public interface FragmentManager { * the named state itself is popped. If null, only the top state is popped. * @param flags Either 0 or {@link #POP_BACK_STACK_INCLUSIVE}. */ public boolean popBackStack(String name, int flags); public abstract boolean popBackStack(String name, int flags); /** * Pop all back stack states up to the one with the given identifier. Loading @@ -155,29 +155,29 @@ public interface FragmentManager { * the named state itself is popped. * @param flags Either 0 or {@link #POP_BACK_STACK_INCLUSIVE}. */ public boolean popBackStack(int id, int flags); public abstract boolean popBackStack(int id, int flags); /** * Return the number of entries currently in the back stack. */ public int countBackStackEntries(); public abstract int countBackStackEntries(); /** * Return the BackStackEntry at index <var>index</var> in the back stack; * entries start index 0 being the bottom of the stack. */ public BackStackEntry getBackStackEntry(int index); public abstract BackStackEntry getBackStackEntry(int index); /** * Add a new listener for changes to the fragment back stack. */ public void addOnBackStackChangedListener(OnBackStackChangedListener listener); public abstract void addOnBackStackChangedListener(OnBackStackChangedListener listener); /** * Remove a listener that was previously added with * {@link #addOnBackStackChangedListener(OnBackStackChangedListener)}. */ public void removeOnBackStackChangedListener(OnBackStackChangedListener listener); public abstract void removeOnBackStackChangedListener(OnBackStackChangedListener listener); /** * Put a reference to a fragment in a Bundle. This Bundle can be Loading @@ -189,7 +189,7 @@ public interface FragmentManager { * @param key The name of the entry in the bundle. * @param fragment The Fragment whose reference is to be stored. */ public void putFragment(Bundle bundle, String key, Fragment fragment); public abstract void putFragment(Bundle bundle, String key, Fragment fragment); /** * Retrieve the current Fragment instance for a reference previously Loading @@ -200,7 +200,7 @@ public interface FragmentManager { * @return Returns the current Fragment instance that is associated with * the given reference. */ public Fragment getFragment(Bundle bundle, String key); public abstract Fragment getFragment(Bundle bundle, String key); /** * Print the FragmentManager's state into the given stream. Loading @@ -210,7 +210,7 @@ public interface FragmentManager { * @param writer A PrintWriter to which the dump is to be set. * @param args additional arguments to the dump request. */ public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args); public abstract void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args); } final class FragmentManagerState implements Parcelable { Loading Loading @@ -252,7 +252,7 @@ final class FragmentManagerState implements Parcelable { /** * Container for fragments associated with an activity. */ final class FragmentManagerImpl implements FragmentManager { final class FragmentManagerImpl extends FragmentManager { static final boolean DEBUG = true; static final String TAG = "FragmentManager"; Loading Loading @@ -849,8 +849,8 @@ final class FragmentManagerImpl implements FragmentManager { return null; } public void enqueueAction(Runnable action) { if (mStateSaved) { public void enqueueAction(Runnable action, boolean allowStateLoss) { if (!allowStateLoss && mStateSaved) { throw new IllegalStateException( "Can not perform this action after onSaveInstanceState"); } Loading Loading @@ -991,7 +991,7 @@ final class FragmentManagerImpl implements FragmentManager { bss.popFromBackStack(true); reportBackStackChanged(); } }); }, false); } else { int index = -1; if (name != null || id >= 0) { Loading Loading @@ -1042,7 +1042,7 @@ final class FragmentManagerImpl implements FragmentManager { } reportBackStackChanged(); } }); }, false); } return true; } Loading core/java/android/app/FragmentTransaction.java +46 −30 Original line number Diff line number Diff line Loading @@ -3,16 +3,16 @@ package android.app; /** * API for performing a set of Fragment operations. */ public interface FragmentTransaction { public abstract class FragmentTransaction { /** * Calls {@link #add(int, Fragment, String)} with a 0 containerViewId. */ public FragmentTransaction add(Fragment fragment, String tag); public abstract FragmentTransaction add(Fragment fragment, String tag); /** * Calls {@link #add(int, Fragment, String)} with a null tag. */ public FragmentTransaction add(int containerViewId, Fragment fragment); public abstract FragmentTransaction add(int containerViewId, Fragment fragment); /** * Add a fragment to the activity state. This fragment may optionally Loading @@ -29,12 +29,12 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction add(int containerViewId, Fragment fragment, String tag); public abstract FragmentTransaction add(int containerViewId, Fragment fragment, String tag); /** * Calls {@link #replace(int, Fragment, String)} with a null tag. */ public FragmentTransaction replace(int containerViewId, Fragment fragment); public abstract FragmentTransaction replace(int containerViewId, Fragment fragment); /** * Replace an existing fragment that was added to a container. This is Loading @@ -52,7 +52,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction replace(int containerViewId, Fragment fragment, String tag); public abstract FragmentTransaction replace(int containerViewId, Fragment fragment, String tag); /** * Remove an existing fragment. If it was added to a container, its view Loading @@ -62,7 +62,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction remove(Fragment fragment); public abstract FragmentTransaction remove(Fragment fragment); /** * Hides an existing fragment. This is only relevant for fragments whose Loading @@ -73,7 +73,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction hide(Fragment fragment); public abstract FragmentTransaction hide(Fragment fragment); /** * Hides a previously hidden fragment. This is only relevant for fragments whose Loading @@ -84,55 +84,55 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction show(Fragment fragment); public abstract FragmentTransaction show(Fragment fragment); /** * @return <code>true</code> if this transaction contains no operations, * <code>false</code> otherwise. */ public boolean isEmpty(); public abstract boolean isEmpty(); /** * Bit mask that is set for all enter transitions. */ public final int TRANSIT_ENTER_MASK = 0x1000; public static final int TRANSIT_ENTER_MASK = 0x1000; /** * Bit mask that is set for all exit transitions. */ public final int TRANSIT_EXIT_MASK = 0x2000; public static final int TRANSIT_EXIT_MASK = 0x2000; /** Not set up for a transition. */ public final int TRANSIT_UNSET = -1; public static final int TRANSIT_UNSET = -1; /** No animation for transition. */ public final int TRANSIT_NONE = 0; public static final int TRANSIT_NONE = 0; /** Fragment is being added onto the stack */ public final int TRANSIT_FRAGMENT_OPEN = 1 | TRANSIT_ENTER_MASK; public static final int TRANSIT_FRAGMENT_OPEN = 1 | TRANSIT_ENTER_MASK; /** Fragment is being removed from the stack */ public final int TRANSIT_FRAGMENT_CLOSE = 2 | TRANSIT_EXIT_MASK; public static final int TRANSIT_FRAGMENT_CLOSE = 2 | TRANSIT_EXIT_MASK; /** Fragment is being added in a 'next' operation*/ public final int TRANSIT_FRAGMENT_NEXT = 3 | TRANSIT_ENTER_MASK; public static final int TRANSIT_FRAGMENT_NEXT = 3 | TRANSIT_ENTER_MASK; /** Fragment is being removed in a 'previous' operation */ public final int TRANSIT_FRAGMENT_PREV = 4 | TRANSIT_EXIT_MASK; public static final int TRANSIT_FRAGMENT_PREV = 4 | TRANSIT_EXIT_MASK; /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. */ public FragmentTransaction setCustomAnimations(int enter, int exit); public abstract FragmentTransaction setCustomAnimations(int enter, int exit); /** * Select a standard transition animation for this transaction. May be * one of {@link #TRANSIT_NONE}, {@link #TRANSIT_FRAGMENT_OPEN}, * or {@link #TRANSIT_FRAGMENT_CLOSE} */ public FragmentTransaction setTransition(int transit); public abstract FragmentTransaction setTransition(int transit); /** * Set a custom style resource that will be used for resolving transit * animations. */ public FragmentTransaction setTransitionStyle(int styleRes); public abstract FragmentTransaction setTransitionStyle(int styleRes); /** * Add this transaction to the back stack. This means that the transaction Loading @@ -141,7 +141,7 @@ public interface FragmentTransaction { * * @param name An optional name for this back stack state, or null. */ public FragmentTransaction addToBackStack(String name); public abstract FragmentTransaction addToBackStack(String name); /** * Returns true if this FragmentTransaction is allowed to be added to the back Loading @@ -150,14 +150,14 @@ public interface FragmentTransaction { * * @return True if {@link #addToBackStack(String)} is permitted on this transaction. */ public boolean isAddToBackStackAllowed(); public abstract boolean isAddToBackStackAllowed(); /** * Disallow calls to {@link #addToBackStack(String)}. Any future calls to * addToBackStack will throw {@link IllegalStateException}. If addToBackStack * has already been called, this method will throw IllegalStateException. */ public FragmentTransaction disallowAddToBackStack(); public abstract FragmentTransaction disallowAddToBackStack(); /** * Set the full title to show as a bread crumb when this transaction Loading @@ -165,14 +165,14 @@ public interface FragmentTransaction { * * @param res A string resource containing the title. */ public FragmentTransaction setBreadCrumbTitle(int res); public abstract FragmentTransaction setBreadCrumbTitle(int res); /** * Like {@link #setBreadCrumbTitle(int)} but taking a raw string; this * method is <em>not</em> recommended, as the string can not be changed * later if the locale changes. */ public FragmentTransaction setBreadCrumbTitle(CharSequence text); public abstract FragmentTransaction setBreadCrumbTitle(CharSequence text); /** * Set the short title to show as a bread crumb when this transaction Loading @@ -180,23 +180,39 @@ public interface FragmentTransaction { * * @param res A string resource containing the title. */ public FragmentTransaction setBreadCrumbShortTitle(int res); public abstract FragmentTransaction setBreadCrumbShortTitle(int res); /** * Like {@link #setBreadCrumbShortTitle(int)} but taking a raw string; this * method is <em>not</em> recommended, as the string can not be changed * later if the locale changes. */ public FragmentTransaction setBreadCrumbShortTitle(CharSequence text); public abstract FragmentTransaction setBreadCrumbShortTitle(CharSequence text); /** * Schedules a commit of this transaction. Note that the commit does * Schedules a commit of this transaction. The commit does * not happen immediately; it will be scheduled as work on the main thread * to be done the next time that thread is ready. * * <p class="note">A transaction can only be committed with this method * prior to its containing activity saving its state. If the commit is * attempted after that point, an exception will be thrown. This is * because the state after the commit can be lost if the activity needs to * be restored from its state. See {@link #commitAllowingStateLoss()} for * situations where it may be okay to lose the commit.</p> * * @return Returns the identifier of this transaction's back stack entry, * if {@link #addToBackStack(String)} had been called. Otherwise, returns * a negative number. */ public int commit(); public abstract int commit(); /** * Like {@link #commit} but allows the commit to be executed after an * activity's state is saved. This is dangerous because the commit can * be lost if the activity needs to later be restored from its state, so * this should only be used for cases where it is okay for the UI state * to change unexpectedly on the user. */ public abstract int commitAllowingStateLoss(); } Loading
api/current.xml +45 −7 Original line number Diff line number Diff line Loading @@ -28065,13 +28065,22 @@ </parameter> </method> </class> <interface name="FragmentManager" <class name="FragmentManager" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="FragmentManager" type="android.app.FragmentManager" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="addOnBackStackChangedListener" return="void" abstract="true" Loading Loading @@ -28262,7 +28271,7 @@ visibility="public" > </field> </interface> </class> <interface name="FragmentManager.BackStackEntry" abstract="true" static="true" Loading Loading @@ -28323,13 +28332,22 @@ > </method> </interface> <interface name="FragmentTransaction" <class name="FragmentTransaction" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="FragmentTransaction" type="android.app.FragmentTransaction" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="add" return="android.app.FragmentTransaction" abstract="true" Loading Loading @@ -28401,6 +28419,17 @@ visibility="public" > </method> <method name="commitAllowingStateLoss" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="disallowAddToBackStack" return="android.app.FragmentTransaction" abstract="true" Loading Loading @@ -28686,7 +28715,7 @@ visibility="public" > </field> </interface> </class> <class name="Instrumentation" extends="java.lang.Object" abstract="false" Loading Loading @@ -30281,13 +30310,22 @@ </parameter> </method> </class> <interface name="LoaderManager" <class name="LoaderManager" extends="java.lang.Object" abstract="true" static="false" final="false" deprecated="not deprecated" visibility="public" > <constructor name="LoaderManager" type="android.app.LoaderManager" static="false" final="false" deprecated="not deprecated" visibility="public" > </constructor> <method name="getLoader" return="android.content.Loader<D>" abstract="true" Loading Loading @@ -30348,7 +30386,7 @@ <parameter name="id" type="int"> </parameter> </method> </interface> </class> <interface name="LoaderManager.LoaderCallbacks" abstract="true" static="true" Loading Loading @@ -30392,7 +30430,7 @@ abstract="true" static="false" final="false" deprecated="not deprecated" deprecated="deprecated" visibility="public" > <implements name="android.content.Loader.OnLoadCompleteListener">
core/java/android/app/BackStackRecord.java +11 −3 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ final class BackStackState implements Parcelable { /** * @hide Entry of an operation on the fragment back stack. */ final class BackStackRecord implements FragmentTransaction, final class BackStackRecord extends FragmentTransaction implements FragmentManager.BackStackEntry, Runnable { static final String TAG = "BackStackEntry"; Loading Loading @@ -417,6 +417,14 @@ final class BackStackRecord implements FragmentTransaction, } public int commit() { return commitInternal(false); } public int commitAllowingStateLoss() { return commitInternal(true); } int commitInternal(boolean allowStateLoss) { if (mCommitted) throw new IllegalStateException("commit already called"); if (FragmentManagerImpl.DEBUG) Log.v(TAG, "Commit: " + this); mCommitted = true; Loading @@ -425,7 +433,7 @@ final class BackStackRecord implements FragmentTransaction, } else { mIndex = -1; } mManager.enqueueAction(this); mManager.enqueueAction(this, allowStateLoss); return mIndex; } Loading
core/java/android/app/DialogFragment.java +10 −2 Original line number Diff line number Diff line Loading @@ -256,6 +256,10 @@ public class DialogFragment extends Fragment * the fragment. */ public void dismiss() { dismissInternal(false); } void dismissInternal(boolean allowStateLoss) { if (mDialog != null) { mDialog.dismiss(); mDialog = null; Loading Loading @@ -353,7 +357,11 @@ public class DialogFragment extends Fragment public void onDismiss(DialogInterface dialog) { if (!mRemoved) { dismiss(); // Note: we need to use allowStateLoss, because the dialog // dispatches this asynchronously so we can receive the call // after the activity is paused. Worst case, when the user comes // back to the activity they see the dialog again. dismissInternal(true); } } Loading
core/java/android/app/FragmentManager.java +19 −19 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ import java.util.ArrayList; * Interface for interacting with {@link Fragment} objects inside of an * {@link Activity} */ public interface FragmentManager { public abstract class FragmentManager { /** * Representation of an entry on the fragment back stack, as created * with {@link FragmentTransaction#addToBackStack(String) Loading Loading @@ -96,7 +96,7 @@ public interface FragmentManager { * in the state, and if changes are made after the state is saved then they * will be lost.</p> */ public FragmentTransaction openTransaction(); public abstract FragmentTransaction openTransaction(); /** * Finds a fragment that was identified by the given id either when inflated Loading @@ -106,7 +106,7 @@ public interface FragmentManager { * on the back stack associated with this ID are searched. * @return The fragment if found or null otherwise. */ public Fragment findFragmentById(int id); public abstract Fragment findFragmentById(int id); /** * Finds a fragment that was identified by the given tag either when inflated Loading @@ -116,7 +116,7 @@ public interface FragmentManager { * on the back stack are searched. * @return The fragment if found or null otherwise. */ public Fragment findFragmentByTag(String tag); public abstract Fragment findFragmentByTag(String tag); /** * Flag for {@link #popBackStack(String, int)} Loading @@ -132,7 +132,7 @@ public interface FragmentManager { * Pop the top state off the back stack. Returns true if there was one * to pop, else false. */ public boolean popBackStack(); public abstract boolean popBackStack(); /** * Pop the last fragment transition from the manager's fragment Loading @@ -143,7 +143,7 @@ public interface FragmentManager { * the named state itself is popped. If null, only the top state is popped. * @param flags Either 0 or {@link #POP_BACK_STACK_INCLUSIVE}. */ public boolean popBackStack(String name, int flags); public abstract boolean popBackStack(String name, int flags); /** * Pop all back stack states up to the one with the given identifier. Loading @@ -155,29 +155,29 @@ public interface FragmentManager { * the named state itself is popped. * @param flags Either 0 or {@link #POP_BACK_STACK_INCLUSIVE}. */ public boolean popBackStack(int id, int flags); public abstract boolean popBackStack(int id, int flags); /** * Return the number of entries currently in the back stack. */ public int countBackStackEntries(); public abstract int countBackStackEntries(); /** * Return the BackStackEntry at index <var>index</var> in the back stack; * entries start index 0 being the bottom of the stack. */ public BackStackEntry getBackStackEntry(int index); public abstract BackStackEntry getBackStackEntry(int index); /** * Add a new listener for changes to the fragment back stack. */ public void addOnBackStackChangedListener(OnBackStackChangedListener listener); public abstract void addOnBackStackChangedListener(OnBackStackChangedListener listener); /** * Remove a listener that was previously added with * {@link #addOnBackStackChangedListener(OnBackStackChangedListener)}. */ public void removeOnBackStackChangedListener(OnBackStackChangedListener listener); public abstract void removeOnBackStackChangedListener(OnBackStackChangedListener listener); /** * Put a reference to a fragment in a Bundle. This Bundle can be Loading @@ -189,7 +189,7 @@ public interface FragmentManager { * @param key The name of the entry in the bundle. * @param fragment The Fragment whose reference is to be stored. */ public void putFragment(Bundle bundle, String key, Fragment fragment); public abstract void putFragment(Bundle bundle, String key, Fragment fragment); /** * Retrieve the current Fragment instance for a reference previously Loading @@ -200,7 +200,7 @@ public interface FragmentManager { * @return Returns the current Fragment instance that is associated with * the given reference. */ public Fragment getFragment(Bundle bundle, String key); public abstract Fragment getFragment(Bundle bundle, String key); /** * Print the FragmentManager's state into the given stream. Loading @@ -210,7 +210,7 @@ public interface FragmentManager { * @param writer A PrintWriter to which the dump is to be set. * @param args additional arguments to the dump request. */ public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args); public abstract void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args); } final class FragmentManagerState implements Parcelable { Loading Loading @@ -252,7 +252,7 @@ final class FragmentManagerState implements Parcelable { /** * Container for fragments associated with an activity. */ final class FragmentManagerImpl implements FragmentManager { final class FragmentManagerImpl extends FragmentManager { static final boolean DEBUG = true; static final String TAG = "FragmentManager"; Loading Loading @@ -849,8 +849,8 @@ final class FragmentManagerImpl implements FragmentManager { return null; } public void enqueueAction(Runnable action) { if (mStateSaved) { public void enqueueAction(Runnable action, boolean allowStateLoss) { if (!allowStateLoss && mStateSaved) { throw new IllegalStateException( "Can not perform this action after onSaveInstanceState"); } Loading Loading @@ -991,7 +991,7 @@ final class FragmentManagerImpl implements FragmentManager { bss.popFromBackStack(true); reportBackStackChanged(); } }); }, false); } else { int index = -1; if (name != null || id >= 0) { Loading Loading @@ -1042,7 +1042,7 @@ final class FragmentManagerImpl implements FragmentManager { } reportBackStackChanged(); } }); }, false); } return true; } Loading
core/java/android/app/FragmentTransaction.java +46 −30 Original line number Diff line number Diff line Loading @@ -3,16 +3,16 @@ package android.app; /** * API for performing a set of Fragment operations. */ public interface FragmentTransaction { public abstract class FragmentTransaction { /** * Calls {@link #add(int, Fragment, String)} with a 0 containerViewId. */ public FragmentTransaction add(Fragment fragment, String tag); public abstract FragmentTransaction add(Fragment fragment, String tag); /** * Calls {@link #add(int, Fragment, String)} with a null tag. */ public FragmentTransaction add(int containerViewId, Fragment fragment); public abstract FragmentTransaction add(int containerViewId, Fragment fragment); /** * Add a fragment to the activity state. This fragment may optionally Loading @@ -29,12 +29,12 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction add(int containerViewId, Fragment fragment, String tag); public abstract FragmentTransaction add(int containerViewId, Fragment fragment, String tag); /** * Calls {@link #replace(int, Fragment, String)} with a null tag. */ public FragmentTransaction replace(int containerViewId, Fragment fragment); public abstract FragmentTransaction replace(int containerViewId, Fragment fragment); /** * Replace an existing fragment that was added to a container. This is Loading @@ -52,7 +52,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction replace(int containerViewId, Fragment fragment, String tag); public abstract FragmentTransaction replace(int containerViewId, Fragment fragment, String tag); /** * Remove an existing fragment. If it was added to a container, its view Loading @@ -62,7 +62,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction remove(Fragment fragment); public abstract FragmentTransaction remove(Fragment fragment); /** * Hides an existing fragment. This is only relevant for fragments whose Loading @@ -73,7 +73,7 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction hide(Fragment fragment); public abstract FragmentTransaction hide(Fragment fragment); /** * Hides a previously hidden fragment. This is only relevant for fragments whose Loading @@ -84,55 +84,55 @@ public interface FragmentTransaction { * * @return Returns the same FragmentTransaction instance. */ public FragmentTransaction show(Fragment fragment); public abstract FragmentTransaction show(Fragment fragment); /** * @return <code>true</code> if this transaction contains no operations, * <code>false</code> otherwise. */ public boolean isEmpty(); public abstract boolean isEmpty(); /** * Bit mask that is set for all enter transitions. */ public final int TRANSIT_ENTER_MASK = 0x1000; public static final int TRANSIT_ENTER_MASK = 0x1000; /** * Bit mask that is set for all exit transitions. */ public final int TRANSIT_EXIT_MASK = 0x2000; public static final int TRANSIT_EXIT_MASK = 0x2000; /** Not set up for a transition. */ public final int TRANSIT_UNSET = -1; public static final int TRANSIT_UNSET = -1; /** No animation for transition. */ public final int TRANSIT_NONE = 0; public static final int TRANSIT_NONE = 0; /** Fragment is being added onto the stack */ public final int TRANSIT_FRAGMENT_OPEN = 1 | TRANSIT_ENTER_MASK; public static final int TRANSIT_FRAGMENT_OPEN = 1 | TRANSIT_ENTER_MASK; /** Fragment is being removed from the stack */ public final int TRANSIT_FRAGMENT_CLOSE = 2 | TRANSIT_EXIT_MASK; public static final int TRANSIT_FRAGMENT_CLOSE = 2 | TRANSIT_EXIT_MASK; /** Fragment is being added in a 'next' operation*/ public final int TRANSIT_FRAGMENT_NEXT = 3 | TRANSIT_ENTER_MASK; public static final int TRANSIT_FRAGMENT_NEXT = 3 | TRANSIT_ENTER_MASK; /** Fragment is being removed in a 'previous' operation */ public final int TRANSIT_FRAGMENT_PREV = 4 | TRANSIT_EXIT_MASK; public static final int TRANSIT_FRAGMENT_PREV = 4 | TRANSIT_EXIT_MASK; /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. */ public FragmentTransaction setCustomAnimations(int enter, int exit); public abstract FragmentTransaction setCustomAnimations(int enter, int exit); /** * Select a standard transition animation for this transaction. May be * one of {@link #TRANSIT_NONE}, {@link #TRANSIT_FRAGMENT_OPEN}, * or {@link #TRANSIT_FRAGMENT_CLOSE} */ public FragmentTransaction setTransition(int transit); public abstract FragmentTransaction setTransition(int transit); /** * Set a custom style resource that will be used for resolving transit * animations. */ public FragmentTransaction setTransitionStyle(int styleRes); public abstract FragmentTransaction setTransitionStyle(int styleRes); /** * Add this transaction to the back stack. This means that the transaction Loading @@ -141,7 +141,7 @@ public interface FragmentTransaction { * * @param name An optional name for this back stack state, or null. */ public FragmentTransaction addToBackStack(String name); public abstract FragmentTransaction addToBackStack(String name); /** * Returns true if this FragmentTransaction is allowed to be added to the back Loading @@ -150,14 +150,14 @@ public interface FragmentTransaction { * * @return True if {@link #addToBackStack(String)} is permitted on this transaction. */ public boolean isAddToBackStackAllowed(); public abstract boolean isAddToBackStackAllowed(); /** * Disallow calls to {@link #addToBackStack(String)}. Any future calls to * addToBackStack will throw {@link IllegalStateException}. If addToBackStack * has already been called, this method will throw IllegalStateException. */ public FragmentTransaction disallowAddToBackStack(); public abstract FragmentTransaction disallowAddToBackStack(); /** * Set the full title to show as a bread crumb when this transaction Loading @@ -165,14 +165,14 @@ public interface FragmentTransaction { * * @param res A string resource containing the title. */ public FragmentTransaction setBreadCrumbTitle(int res); public abstract FragmentTransaction setBreadCrumbTitle(int res); /** * Like {@link #setBreadCrumbTitle(int)} but taking a raw string; this * method is <em>not</em> recommended, as the string can not be changed * later if the locale changes. */ public FragmentTransaction setBreadCrumbTitle(CharSequence text); public abstract FragmentTransaction setBreadCrumbTitle(CharSequence text); /** * Set the short title to show as a bread crumb when this transaction Loading @@ -180,23 +180,39 @@ public interface FragmentTransaction { * * @param res A string resource containing the title. */ public FragmentTransaction setBreadCrumbShortTitle(int res); public abstract FragmentTransaction setBreadCrumbShortTitle(int res); /** * Like {@link #setBreadCrumbShortTitle(int)} but taking a raw string; this * method is <em>not</em> recommended, as the string can not be changed * later if the locale changes. */ public FragmentTransaction setBreadCrumbShortTitle(CharSequence text); public abstract FragmentTransaction setBreadCrumbShortTitle(CharSequence text); /** * Schedules a commit of this transaction. Note that the commit does * Schedules a commit of this transaction. The commit does * not happen immediately; it will be scheduled as work on the main thread * to be done the next time that thread is ready. * * <p class="note">A transaction can only be committed with this method * prior to its containing activity saving its state. If the commit is * attempted after that point, an exception will be thrown. This is * because the state after the commit can be lost if the activity needs to * be restored from its state. See {@link #commitAllowingStateLoss()} for * situations where it may be okay to lose the commit.</p> * * @return Returns the identifier of this transaction's back stack entry, * if {@link #addToBackStack(String)} had been called. Otherwise, returns * a negative number. */ public int commit(); public abstract int commit(); /** * Like {@link #commit} but allows the commit to be executed after an * activity's state is saved. This is dangerous because the commit can * be lost if the activity needs to later be restored from its state, so * this should only be used for cases where it is okay for the UI state * to change unexpectedly on the user. */ public abstract int commitAllowingStateLoss(); }