Loading api/current.xml +19 −0 Original line number Diff line number Diff line Loading @@ -31483,6 +31483,25 @@ <parameter name="exit" type="int"> </parameter> </method> <method name="setCustomAnimations" return="android.app.FragmentTransaction" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="enter" type="int"> </parameter> <parameter name="exit" type="int"> </parameter> <parameter name="popEnter" type="int"> </parameter> <parameter name="popExit" type="int"> </parameter> </method> <method name="setTransition" return="android.app.FragmentTransaction" abstract="true" core/java/android/app/BackStackRecord.java +29 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ final class BackStackState implements Parcelable { if (op.removed != null) numRemoved += op.removed.size(); op = op.next; } mOps = new int[bse.mNumOp*5 + numRemoved]; mOps = new int[bse.mNumOp*7 + numRemoved]; if (!bse.mAddToBackStack) { throw new IllegalStateException("Not on back stack"); Loading @@ -56,6 +56,8 @@ final class BackStackState implements Parcelable { mOps[pos++] = op.fragment.mIndex; mOps[pos++] = op.enterAnim; mOps[pos++] = op.exitAnim; mOps[pos++] = op.popEnterAnim; mOps[pos++] = op.popExitAnim; if (op.removed != null) { final int N = op.removed.size(); mOps[pos++] = N; Loading Loading @@ -101,6 +103,8 @@ final class BackStackState implements Parcelable { op.fragment = f; op.enterAnim = mOps[pos++]; op.exitAnim = mOps[pos++]; op.popEnterAnim = mOps[pos++]; op.popExitAnim = mOps[pos++]; final int N = mOps[pos++]; if (N > 0) { op.removed = new ArrayList<Fragment>(N); Loading Loading @@ -179,6 +183,8 @@ final class BackStackRecord extends FragmentTransaction implements Fragment fragment; int enterAnim; int exitAnim; int popEnterAnim; int popExitAnim; ArrayList<Fragment> removed; } Loading @@ -187,6 +193,8 @@ final class BackStackRecord extends FragmentTransaction implements int mNumOp; int mEnterAnim; int mExitAnim; int mPopEnterAnim; int mPopExitAnim; int mTransition; int mTransitionStyle; boolean mAddToBackStack; Loading Loading @@ -243,6 +251,11 @@ final class BackStackRecord extends FragmentTransaction implements writer.print(prefix); writer.print("enterAnim="); writer.print(op.enterAnim); writer.print(" exitAnim="); writer.println(op.exitAnim); } if (op.popEnterAnim != 0 || op.popExitAnim != 0) { writer.print(prefix); writer.print("popEnterAnim="); writer.print(op.popEnterAnim); writer.print(" popExitAnim="); writer.println(op.popExitAnim); } if (op.removed != null && op.removed.size() > 0) { for (int i=0; i<op.removed.size(); i++) { writer.print(innerPrefix); Loading Loading @@ -301,6 +314,8 @@ final class BackStackRecord extends FragmentTransaction implements } op.enterAnim = mEnterAnim; op.exitAnim = mExitAnim; op.popEnterAnim = mPopEnterAnim; op.popExitAnim = mPopExitAnim; mNumOp++; } Loading Loading @@ -430,8 +445,15 @@ final class BackStackRecord extends FragmentTransaction implements } public FragmentTransaction setCustomAnimations(int enter, int exit) { return setCustomAnimations(enter, exit, 0, 0); } public FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit) { mEnterAnim = enter; mExitAnim = exit; mPopEnterAnim = popEnter; mPopExitAnim = popExit; return this; } Loading Loading @@ -631,6 +653,7 @@ final class BackStackRecord extends FragmentTransaction implements switch (op.cmd) { case OP_ADD: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; f.mImmediateActivity = null; mManager.removeFragment(f, FragmentManagerImpl.reverseTransit(mTransition), Loading @@ -638,6 +661,7 @@ final class BackStackRecord extends FragmentTransaction implements } break; case OP_REPLACE: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; f.mImmediateActivity = null; mManager.removeFragment(f, FragmentManagerImpl.reverseTransit(mTransition), Loading @@ -645,6 +669,7 @@ final class BackStackRecord extends FragmentTransaction implements if (op.removed != null) { for (int i=0; i<op.removed.size(); i++) { Fragment old = op.removed.get(i); old.mNextAnim = op.popEnterAnim; f.mImmediateActivity = mManager.mActivity; mManager.addFragment(old, false); } Loading @@ -652,16 +677,19 @@ final class BackStackRecord extends FragmentTransaction implements } break; case OP_REMOVE: { Fragment f = op.fragment; f.mNextAnim = op.popEnterAnim; f.mImmediateActivity = mManager.mActivity; mManager.addFragment(f, false); } break; case OP_HIDE: { Fragment f = op.fragment; f.mNextAnim = op.popEnterAnim; mManager.showFragment(f, FragmentManagerImpl.reverseTransit(mTransition), mTransitionStyle); } break; case OP_SHOW: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; mManager.hideFragment(f, FragmentManagerImpl.reverseTransit(mTransition), mTransitionStyle); } break; Loading core/java/android/app/FragmentTransaction.java +12 −2 Original line number Diff line number Diff line Loading @@ -141,10 +141,20 @@ public abstract class FragmentTransaction { /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. * entering and exiting in this transaction. These animations will not be * played when popping the back stack. */ public abstract FragmentTransaction setCustomAnimations(int enter, int exit); /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. The <code>popEnter</code> * and <code>popExit</code> animations will be played for enter/exit * operations specifically when popping the back stack. */ public abstract FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit); /** * Select a standard transition animation for this transaction. May be * one of {@link #TRANSIT_NONE}, {@link #TRANSIT_FRAGMENT_OPEN}, Loading Loading
api/current.xml +19 −0 Original line number Diff line number Diff line Loading @@ -31483,6 +31483,25 @@ <parameter name="exit" type="int"> </parameter> </method> <method name="setCustomAnimations" return="android.app.FragmentTransaction" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="enter" type="int"> </parameter> <parameter name="exit" type="int"> </parameter> <parameter name="popEnter" type="int"> </parameter> <parameter name="popExit" type="int"> </parameter> </method> <method name="setTransition" return="android.app.FragmentTransaction" abstract="true"
core/java/android/app/BackStackRecord.java +29 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ final class BackStackState implements Parcelable { if (op.removed != null) numRemoved += op.removed.size(); op = op.next; } mOps = new int[bse.mNumOp*5 + numRemoved]; mOps = new int[bse.mNumOp*7 + numRemoved]; if (!bse.mAddToBackStack) { throw new IllegalStateException("Not on back stack"); Loading @@ -56,6 +56,8 @@ final class BackStackState implements Parcelable { mOps[pos++] = op.fragment.mIndex; mOps[pos++] = op.enterAnim; mOps[pos++] = op.exitAnim; mOps[pos++] = op.popEnterAnim; mOps[pos++] = op.popExitAnim; if (op.removed != null) { final int N = op.removed.size(); mOps[pos++] = N; Loading Loading @@ -101,6 +103,8 @@ final class BackStackState implements Parcelable { op.fragment = f; op.enterAnim = mOps[pos++]; op.exitAnim = mOps[pos++]; op.popEnterAnim = mOps[pos++]; op.popExitAnim = mOps[pos++]; final int N = mOps[pos++]; if (N > 0) { op.removed = new ArrayList<Fragment>(N); Loading Loading @@ -179,6 +183,8 @@ final class BackStackRecord extends FragmentTransaction implements Fragment fragment; int enterAnim; int exitAnim; int popEnterAnim; int popExitAnim; ArrayList<Fragment> removed; } Loading @@ -187,6 +193,8 @@ final class BackStackRecord extends FragmentTransaction implements int mNumOp; int mEnterAnim; int mExitAnim; int mPopEnterAnim; int mPopExitAnim; int mTransition; int mTransitionStyle; boolean mAddToBackStack; Loading Loading @@ -243,6 +251,11 @@ final class BackStackRecord extends FragmentTransaction implements writer.print(prefix); writer.print("enterAnim="); writer.print(op.enterAnim); writer.print(" exitAnim="); writer.println(op.exitAnim); } if (op.popEnterAnim != 0 || op.popExitAnim != 0) { writer.print(prefix); writer.print("popEnterAnim="); writer.print(op.popEnterAnim); writer.print(" popExitAnim="); writer.println(op.popExitAnim); } if (op.removed != null && op.removed.size() > 0) { for (int i=0; i<op.removed.size(); i++) { writer.print(innerPrefix); Loading Loading @@ -301,6 +314,8 @@ final class BackStackRecord extends FragmentTransaction implements } op.enterAnim = mEnterAnim; op.exitAnim = mExitAnim; op.popEnterAnim = mPopEnterAnim; op.popExitAnim = mPopExitAnim; mNumOp++; } Loading Loading @@ -430,8 +445,15 @@ final class BackStackRecord extends FragmentTransaction implements } public FragmentTransaction setCustomAnimations(int enter, int exit) { return setCustomAnimations(enter, exit, 0, 0); } public FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit) { mEnterAnim = enter; mExitAnim = exit; mPopEnterAnim = popEnter; mPopExitAnim = popExit; return this; } Loading Loading @@ -631,6 +653,7 @@ final class BackStackRecord extends FragmentTransaction implements switch (op.cmd) { case OP_ADD: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; f.mImmediateActivity = null; mManager.removeFragment(f, FragmentManagerImpl.reverseTransit(mTransition), Loading @@ -638,6 +661,7 @@ final class BackStackRecord extends FragmentTransaction implements } break; case OP_REPLACE: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; f.mImmediateActivity = null; mManager.removeFragment(f, FragmentManagerImpl.reverseTransit(mTransition), Loading @@ -645,6 +669,7 @@ final class BackStackRecord extends FragmentTransaction implements if (op.removed != null) { for (int i=0; i<op.removed.size(); i++) { Fragment old = op.removed.get(i); old.mNextAnim = op.popEnterAnim; f.mImmediateActivity = mManager.mActivity; mManager.addFragment(old, false); } Loading @@ -652,16 +677,19 @@ final class BackStackRecord extends FragmentTransaction implements } break; case OP_REMOVE: { Fragment f = op.fragment; f.mNextAnim = op.popEnterAnim; f.mImmediateActivity = mManager.mActivity; mManager.addFragment(f, false); } break; case OP_HIDE: { Fragment f = op.fragment; f.mNextAnim = op.popEnterAnim; mManager.showFragment(f, FragmentManagerImpl.reverseTransit(mTransition), mTransitionStyle); } break; case OP_SHOW: { Fragment f = op.fragment; f.mNextAnim = op.popExitAnim; mManager.hideFragment(f, FragmentManagerImpl.reverseTransit(mTransition), mTransitionStyle); } break; Loading
core/java/android/app/FragmentTransaction.java +12 −2 Original line number Diff line number Diff line Loading @@ -141,10 +141,20 @@ public abstract class FragmentTransaction { /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. * entering and exiting in this transaction. These animations will not be * played when popping the back stack. */ public abstract FragmentTransaction setCustomAnimations(int enter, int exit); /** * Set specific animation resources to run for the fragments that are * entering and exiting in this transaction. The <code>popEnter</code> * and <code>popExit</code> animations will be played for enter/exit * operations specifically when popping the back stack. */ public abstract FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit); /** * Select a standard transition animation for this transaction. May be * one of {@link #TRANSIT_NONE}, {@link #TRANSIT_FRAGMENT_OPEN}, Loading