Offset 1, 10 lines modifiedOffset 1, 48 lines modified
  
1 package·androidx.fragment.app;1 package·androidx.fragment.app;
  
 2 import·java.util.concurrent.CountedCompleter;
 3 import·java.lang.reflect.Array;
 4 import·java.util.Spliterator;
 5 import·java.util.NoSuchElementException;
 6 import·jdk.internal.vm.annotation.Contended;
 7 import·java.util.concurrent.locks.ReentrantLock;
 8 import·java.util.concurrent.Helpers;
 9 import·java.util.concurrent.locks.LockSupport;
 10 import·java.util.function.ToIntFunction;
 11 import·java.util.function.ToLongFunction;
 12 import·java.util.function.ToDoubleFunction;
 13 import·java.util.function.IntBinaryOperator;
 14 import·java.util.function.ToIntBiFunction;
 15 import·java.util.function.LongBinaryOperator;
 16 import·java.util.function.ToLongBiFunction;
 17 import·java.util.function.DoubleBinaryOperator;
 18 import·java.util.function.ToDoubleBiFunction;
 19 import·java.util.concurrent.atomic.AtomicReference;
 20 import·java.util.function.Consumer;
 21 import·java.util.concurrent.ForkJoinPool;
 22 import·java.util.Arrays;
 23 import·java.util.concurrent.ThreadLocalRandom;
 24 import·java.util.Enumeration;
 25 import·java.util.function.Function;
 26 import·java.util.function.Predicate;
 27 import·java.util.function.BiFunction;
 28 import·java.util.function.BiConsumer;
 29 import·java.io.ObjectInputStream;
 30 import·java.io.IOException;
 31 import·java.io.ObjectOutputStream;
 32 import·java.util.Map;
 33 import·java.lang.reflect.Type;
 34 import·java.lang.reflect.ParameterizedType;
 35 import·jdk.internal.misc.Unsafe;
 36 import·java.io.ObjectStreamField;
 37 import·java.io.Serializable;
 38 import·java.util.concurrent.ConcurrentMap;
 39 import·java.util.AbstractMap;
2 import·androidx.lifecycle.Lifecycle$State;40 import·androidx.lifecycle.Lifecycle$State;
3 import·java.io.Writer;41 import·java.io.Writer;
4 import·android.os.Parcelable;42 import·android.os.Parcelable;
5 import·android.view.animation.Animation;43 import·android.view.animation.Animation;
6 import·androidx.lifecycle.ViewModelStore;44 import·androidx.lifecycle.ViewModelStore;
7 import·android.view.LayoutInflater$Factory2;45 import·android.view.LayoutInflater$Factory2;
8 import·java.util.List;46 import·java.util.List;
Offset 33, 40 lines modifiedOffset 71, 38 lines modified
33 import·android.animation.Animator$AnimatorListener;71 import·android.animation.Animator$AnimatorListener;
34 import·android.view.ViewGroup;72 import·android.view.ViewGroup;
35 import·java.util.Set;73 import·java.util.Set;
36 import·androidx.core.os.CancellationSignal;74 import·androidx.core.os.CancellationSignal;
37 import·java.util.HashSet;75 import·java.util.HashSet;
38 import·java.util.Iterator;76 import·java.util.Iterator;
39 import·androidx.collection.ArraySet;77 import·androidx.collection.ArraySet;
40 import·java.util.Collections; 
41 import·java.util.HashMap; 
42 import·androidx.activity.result.ActivityResultLauncher;78 import·androidx.activity.result.ActivityResultLauncher;
43 import·androidx.activity.OnBackPressedDispatcher;79 import·androidx.activity.OnBackPressedDispatcher;
44 import·androidx.activity.OnBackPressedCallback;80 import·androidx.activity.OnBackPressedCallback;
45 import·java.util.concurrent.CopyOnWriteArrayList;81 import·java.util.concurrent.CopyOnWriteArrayList;
46 import·java.util.ArrayDeque;82 import·java.util.ArrayDeque;
47 import·java.util.Map;83 import·java.util.concurrent.ConcurrentHashMap;
48 import·java.util.concurrent.atomic.AtomicInteger;84 import·java.util.concurrent.atomic.AtomicInteger;
49 import·java.util.ArrayList;85 import·java.util.ArrayList;
  
50 public·abstract·class·FragmentManager86 public·abstract·class·FragmentManager
51 {87 {
52 ····private·static·boolean·DEBUG·=·false;88 ····private·static·boolean·DEBUG·=·false;
53 ····static·boolean·USE_STATE_MANAGER·=·true;89 ····static·boolean·USE_STATE_MANAGER·=·false;
54 ····ArrayList·mBackStack;90 ····ArrayList·mBackStack;
55 ····private·ArrayList·mBackStackChangeListeners;91 ····private·ArrayList·mBackStackChangeListeners;
56 ····private·final·AtomicInteger·mBackStackIndex;92 ····private·final·AtomicInteger·mBackStackIndex;
57 ····private·FragmentContainer·mContainer;93 ····private·FragmentContainer·mContainer;
58 ····private·ArrayList·mCreatedMenus;94 ····private·ArrayList·mCreatedMenus;
59 ····int·mCurState;95 ····int·mCurState;
60 ····private·SpecialEffectsControllerFactory·mDefaultSpecialEffectsControllerFactory;96 ····private·SpecialEffectsControllerFactory·mDefaultSpecialEffectsControllerFactory;
61 ····private·boolean·mDestroyed;97 ····private·boolean·mDestroyed;
62 ····private·Runnable·mExecCommit;98 ····private·Runnable·mExecCommit;
63 ····private·boolean·mExecutingActions;99 ····private·boolean·mExecutingActions;
64 ····private·Map·mExitAnimationCancellationSignals;100 ····private·ConcurrentHashMap·mExitAnimationCancellationSignals;
65 ····private·FragmentFactory·mFragmentFactory;101 ····private·FragmentFactory·mFragmentFactory;
66 ····private·final·FragmentStore·mFragmentStore;102 ····private·final·FragmentStore·mFragmentStore;
67 ····private·final·FragmentTransition$Callback·mFragmentTransitionCallback;103 ····private·final·FragmentTransition$Callback·mFragmentTransitionCallback;
68 ····private·boolean·mHavePendingDeferredStart;104 ····private·boolean·mHavePendingDeferredStart;
69 ····private·FragmentHostCallback·mHost;105 ····private·FragmentHostCallback·mHost;
70 ····private·FragmentFactory·mHostFragmentFactory;106 ····private·FragmentFactory·mHostFragmentFactory;
71 ····ArrayDeque·mLaunchedFragments;107 ····ArrayDeque·mLaunchedFragments;
Offset 78, 16 lines modifiedOffset 114, 16 lines modified
78 ····private·final·OnBackPressedCallback·mOnBackPressedCallback;114 ····private·final·OnBackPressedCallback·mOnBackPressedCallback;
79 ····private·OnBackPressedDispatcher·mOnBackPressedDispatcher;115 ····private·OnBackPressedDispatcher·mOnBackPressedDispatcher;
80 ····private·Fragment·mParent;116 ····private·Fragment·mParent;
81 ····private·final·ArrayList·mPendingActions;117 ····private·final·ArrayList·mPendingActions;
82 ····private·ArrayList·mPostponedTransactions;118 ····private·ArrayList·mPostponedTransactions;
83 ····Fragment·mPrimaryNav;119 ····Fragment·mPrimaryNav;
84 ····private·ActivityResultLauncher·mRequestPermissions;120 ····private·ActivityResultLauncher·mRequestPermissions;
85 ····private·final·Map·mResultListeners;121 ····private·final·ConcurrentHashMap·mResultListeners;
86 ····private·final·Map·mResults;122 ····private·final·ConcurrentHashMap·mResults;
87 ····private·SpecialEffectsControllerFactory·mSpecialEffectsControllerFactory;123 ····private·SpecialEffectsControllerFactory·mSpecialEffectsControllerFactory;
88 ····private·ActivityResultLauncher·mStartActivityForResult;124 ····private·ActivityResultLauncher·mStartActivityForResult;
89 ····private·ActivityResultLauncher·mStartIntentSenderForResult;125 ····private·ActivityResultLauncher·mStartIntentSenderForResult;
90 ····private·boolean·mStateSaved;126 ····private·boolean·mStateSaved;
91 ····private·boolean·mStopped;127 ····private·boolean·mStopped;
92 ····private·ArrayList·mTmpAddedFragments;128 ····private·ArrayList·mTmpAddedFragments;
93 ····private·ArrayList·mTmpIsPop;129 ····private·ArrayList·mTmpIsPop;
Offset 95, 17 lines modifiedOffset 131, 17 lines modified
95 ····131 ····
96 ····public·FragmentManager()·{132 ····public·FragmentManager()·{
97 ········this.mPendingActions·=·new·ArrayList();133 ········this.mPendingActions·=·new·ArrayList();
98 ········this.mFragmentStore·=·new·FragmentStore();134 ········this.mFragmentStore·=·new·FragmentStore();
99 ········this.mLayoutInflaterFactory·=·new·FragmentLayoutInflaterFactory(this);135 ········this.mLayoutInflaterFactory·=·new·FragmentLayoutInflaterFactory(this);
100 ········this.mOnBackPressedCallback·=·(OnBackPressedCallback)new·FragmentManager$1(this,·false);136 ········this.mOnBackPressedCallback·=·(OnBackPressedCallback)new·FragmentManager$1(this,·false);
101 ········this.mBackStackIndex·=·new·AtomicInteger();137 ········this.mBackStackIndex·=·new·AtomicInteger();
102 ········this.mResults·=·Collections.synchronizedMap(new·HashMap<Object,·Object>()); 
103 ········this.mResultListeners·=·Collections.synchronizedMap(new·HashMap<Object,·Object>()); 
104 ········this.mExitAnimationCancellationSignals·=·Collections.synchronizedMap(new·HashMap<Object,·Object>());138 ········this.mResults·=·new·ConcurrentHashMap();
 139 ········this.mResultListeners·=·new·ConcurrentHashMap();
 140 ········this.mExitAnimationCancellationSignals·=·new·ConcurrentHashMap();
105 ········this.mFragmentTransitionCallback·=·(FragmentTransition$Callback)new·FragmentManager$2(this);141 ········this.mFragmentTransitionCallback·=·(FragmentTransition$Callback)new·FragmentManager$2(this);
106 ········this.mLifecycleCallbacksDispatcher·=·new·FragmentLifecycleCallbacksDispatcher(this);142 ········this.mLifecycleCallbacksDispatcher·=·new·FragmentLifecycleCallbacksDispatcher(this);
107 ········this.mOnAttachListeners·=·new·CopyOnWriteArrayList();143 ········this.mOnAttachListeners·=·new·CopyOnWriteArrayList();
108 ········this.mCurState·=·-1;144 ········this.mCurState·=·-1;
109 ········this.mFragmentFactory·=·null;145 ········this.mFragmentFactory·=·null;
110 ········this.mHostFragmentFactory·=·(FragmentFactory)new·FragmentManager$3(this);146 ········this.mHostFragmentFactory·=·(FragmentFactory)new·FragmentManager$3(this);
111 ········this.mSpecialEffectsControllerFactory·=·null;147 ········this.mSpecialEffectsControllerFactory·=·null;
Offset 262, 15 lines modifiedOffset 298, 15 lines modified
262 ············this.mExecutingActions·=·mExecutingActions;298 ············this.mExecutingActions·=·mExecutingActions;
263 ············this.mFragmentStore.dispatchStateChange(use_STATE_MANAGER);299 ············this.mFragmentStore.dispatchStateChange(use_STATE_MANAGER);
264 ············this.moveToState(use_STATE_MANAGER,·false);300 ············this.moveToState(use_STATE_MANAGER,·false);
265 ············use_STATE_MANAGER·=·(FragmentManager.USE_STATE_MANAGER·?·1·:·0);301 ············use_STATE_MANAGER·=·(FragmentManager.USE_STATE_MANAGER·?·1·:·0);
266 ············if·(use_STATE_MANAGER·!=·0)·{302 ············if·(use_STATE_MANAGER·!=·0)·{
267 ················final·Iterator<SpecialEffectsController>·iterator·=·this.collectAllSpecialEffectsController().iterator();303 ················final·Iterator<SpecialEffectsController>·iterator·=·this.collectAllSpecialEffectsController().iterator();
268 ················while·(iterator.hasNext())·{304 ················while·(iterator.hasNext())·{
269 ····················((SpecialEffectsController)iterator.next()).forceCompleteAllOperations();305 ····················((SpecialEffectsController)iterator.next()).executePendingOperations();
270 ················}306 ················}
271 ············}307 ············}
272 ············this.mExecutingActions·=·false;308 ············this.mExecutingActions·=·false;
273 ············this.execPendingActions(mExecutingActions);309 ············this.execPendingActions(mExecutingActions);
274 ········}310 ········}
275 ········finally·{311 ········finally·{
276 ············this.mExecutingActions·=·false;312 ············this.mExecutingActions·=·false;
Offset 284, 15 lines modifiedOffset 320, 15 lines modified
284 ········}320 ········}
285 ····}321 ····}
286 ····322 ····
287 ····private·void·endAnimatingAwayFragments()·{323 ····private·void·endAnimatingAwayFragments()·{
288 ········if·(FragmentManager.USE_STATE_MANAGER)·{324 ········if·(FragmentManager.USE_STATE_MANAGER)·{
289 ············final·Iterator<SpecialEffectsController>·iterator·=·this.collectAllSpecialEffectsController().iterator();325 ············final·Iterator<SpecialEffectsController>·iterator·=·this.collectAllSpecialEffectsController().iterator();
290 ············while·(iterator.hasNext())·{326 ············while·(iterator.hasNext())·{
291 ················((SpecialEffectsController)iterator.next()).forceCompleteAllOperations();327 ················((SpecialEffectsController)iterator.next()).cancelAllOperations();
292 ············}328 ············}
293 ········}329 ········}
294 ········else·if·(!this.mExitAnimationCancellationSignals.isEmpty())·{330 ········else·if·(!this.mExitAnimationCancellationSignals.isEmpty())·{
295 ············for·(final·Fragment·fragment·:·this.mExitAnimationCancellationSignals.keySet())·{331 ············for·(final·Fragment·fragment·:·this.mExitAnimationCancellationSignals.keySet())·{
296 ················this.cancelExitAnimation(fragment);332 ················this.cancelExitAnimation(fragment);
297 ················this.moveToState(fragment);333 ················this.moveToState(fragment);
298 ············}334 ············}
Offset 408, 38 lines modifiedOffset 444, 18 lines modified
408 ············}444 ············}
409 ············n5·=·n4;445 ············n5·=·n4;
410 ········}446 ········}
411 ········executeOps(list,·list2,·index,·n);447 ········executeOps(list,·list2,·index,·n);
412 ········int·n6;448 ········int·n6;
413 ········ArrayList<Boolean>·list3;449 ········ArrayList<Boolean>·list3;
414 ········if·(FragmentManager.USE_STATE_MANAGER)·{450 ········if·(FragmentManager.USE_STATE_MANAGER)·{
415 ············final·boolean·booleanValue·=·(boolean)list2.get(n·-·1); 
416 ············if·(mReorderingAllowed)·{451 ············if·(mReorderingAllowed)·{
417 ················for·(int·j·=·index;·j·<·n;·++j)·{ 
418 ····················final·BackStackRecord·backStackRecord2·=·(BackStackRecord)list.get(j); 
419 ····················if·(booleanValue)·{ 
420 ························for·(int·k·=·((FragmentTransaction)backStackRecord2).mOps.size()·-·n5;·k·>=·0;·--k)·{ 
421 ····························final·Fragment·mFragment2·=·((FragmentTransaction$Op)((FragmentTransaction)backStackRecord2).mOps.get(k)).mFragment; 
422 ····························if·(mFragment2·!=·null)·{ 
423 ································this.createOrGetFragmentStateManager(mFragment2).moveToExpectedState(); 
424 ····························} 
425 ························} 
426 ····················} 
427 ····················else·{ 
428 ························final·Iterator·iterator2·=·((FragmentTransaction)backStackRecord2).mOps.iterator(); 
429 ························while·(iterator2.hasNext())·{ 
430 ····························final·Fragment·mFragment3·=·((FragmentTransaction$Op)iterator2.next()).mFragment; 
431 ····························if·(mFragment3·!=·null)·{ 
432 ································this.createOrGetFragmentStateManager(mFragment3).moveToExpectedState(); 
433 ····························} 
434 ························} 
435 ····················} 
436 ················} 
437 ················this.moveToState(this.mCurState,·n5·!=·0);452 ················this.moveToState(this.mCurState,·n5·!=·0);
438 ············}453 ············}
 454 ············final·boolean·booleanValue·=·(boolean)list2.get(n·-·1);
439 ············for·(final·SpecialEffectsController·specialEffectsController·:·this.collectChangedControllers(list,·index,·n))·{455 ············for·(final·SpecialEffectsController·specialEffectsController·:·this.collectChangedControllers(list,·index,·n))·{
440 ················specialEffectsController.updateOperationDirection(booleanValue);456 ················specialEffectsController.updateOperationDirection(booleanValue);
441 ················specialEffectsController.markPostponedState();457 ················specialEffectsController.markPostponedState();
442 ················specialEffectsController.executePendingOperations();458 ················specialEffectsController.executePendingOperations();
443 ············}459 ············}
444 ············n6·=·n;460 ············n6·=·n;
445 ············list3·=·(ArrayList<Boolean>)list2;461 ············list3·=·(ArrayList<Boolean>)list2;
Offset 491, 20 lines modifiedOffset 507, 20 lines modified
491 ················this.moveToState(this.mCurState,·b3);507 ················this.moveToState(this.mCurState,·b3);
492 ············}508 ············}
493 ············else·{509 ············else·{
494 ················list3·=·list4;510 ················list3·=·list4;
495 ················n6·=·n8;511 ················n6·=·n8;
496 ············}512 ············}
497 ········}513 ········}
498 ········for·(int·l·=·index;·l·<·n6;·++l)·{514 ········for·(int·j·=·index;·j·<·n6;·++j)·{
499 ············final·BackStackRecord·backStackRecord3·=·(BackStackRecord)list.get(l);515 ············final·BackStackRecord·backStackRecord2·=·(BackStackRecord)list.get(j);
500 ············if·(list3.get(l)·&&·backStackRecord3.mIndex·>=·0)·{516 ············if·(list3.get(j)·&&·backStackRecord2.mIndex·>=·0)·{
501 ················backStackRecord3.mIndex·=·-1;517 ················backStackRecord2.mIndex·=·-1;
502 ············}518 ············}
503 ············backStackRecord3.runOnCommitRunnables();519 ············backStackRecord2.runOnCommitRunnables();
504 ········}520 ········}
505 ········if·(n2·!=·0)·{521 ········if·(n2·!=·0)·{
506 ············this.reportBackStackChanged();522 ············this.reportBackStackChanged();
507 ········}523 ········}
508 ····}524 ····}
509 ····525 ····
510 ····private·void·executePostponedTransaction(final·ArrayList·list,·final·ArrayList·list2)·{526 ····private·void·executePostponedTransaction(final·ArrayList·list,·final·ArrayList·list2)·{
Offset 795, 19 lines modifiedOffset 811, 19 lines modified
795 ····void·addBackStackState(final·BackStackRecord·e)·{811 ····void·addBackStackState(final·BackStackRecord·e)·{
796 ········if·(this.mBackStack·==·null)·{812 ········if·(this.mBackStack·==·null)·{
797 ············this.mBackStack·=·new·ArrayList();813 ············this.mBackStack·=·new·ArrayList();
798 ········}814 ········}
799 ········this.mBackStack.add(e);815 ········this.mBackStack.add(e);
800 ····}816 ····}
801 ····817 ····
802 ····void·addCancellationSignal(final·Fragment·fragment,·final·CancellationSignal·e)·{818 ····void·addCancellationSignal(final·Fragment·key,·final·CancellationSignal·e)·{
803 ········if·(this.mExitAnimationCancellationSignals.get(fragment)·==·null)·{819 ········if·(this.mExitAnimationCancellationSignals.get(key)·==·null)·{
804 ············this.mExitAnimationCancellationSignals.put(fragment,·new·HashSet());820 ············this.mExitAnimationCancellationSignals.put(key,·new·HashSet());
805 ········}821 ········}
806 ········((HashSet<CancellationSignal>)this.mExitAnimationCancellationSignals.get(fragment)).add(e);822 ········((HashSet<CancellationSignal>)this.mExitAnimationCancellationSignals.get(key)).add(e);
807 ····}823 ····}
808 ····824 ····
809 ····void·addFragment(final·Fragment·obj)·{825 ····void·addFragment(final·Fragment·obj)·{
810 ········if·(isLoggingEnabled(2))·{826 ········if·(isLoggingEnabled(2))·{
811 ············final·StringBuilder·sb·=·new·StringBuilder();827 ············final·StringBuilder·sb·=·new·StringBuilder();
812 ············sb.append("add:·");828 ············sb.append("add:·");
813 ············sb.append(obj);829 ············sb.append(obj);
Offset 939, 16 lines modifiedOffset 955, 16 lines modified
939 ············if·(menuAvailable)·{955 ············if·(menuAvailable)·{
940 ················return·true;956 ················return·true;
941 ············}957 ············}
942 ········}958 ········}
943 ········return·false;959 ········return·false;
944 ····}960 ····}
945 ····961 ····
946 ····public·final·void·clearFragmentResult(final·String·s)·{962 ····public·final·void·clearFragmentResult(final·String·key)·{
947 ········this.mResults.remove(s);963 ········this.mResults.remove(key);
948 ····}964 ····}
949 ····965 ····
950 ····void·completeExecute(final·BackStackRecord·e,·final·boolean·b,·final·boolean·b2,·final·boolean·b3)·{966 ····void·completeExecute(final·BackStackRecord·e,·final·boolean·b,·final·boolean·b2,·final·boolean·b3)·{
951 ········if·(b)·{967 ········if·(b)·{
952 ············e.executePopOps(b3);968 ············e.executePopOps(b3);
953 ········}969 ········}
954 ········else·{970 ········else·{
Offset 1608, 39 lines modifiedOffset 1624, 39 lines modified
1608 ········n·=·Math.min(n,·fragmentStateManager.computeExpectedState());1624 ········n·=·Math.min(n,·fragmentStateManager.computeExpectedState());
1609 ········final·int·mState·=·fragment.mState;1625 ········final·int·mState·=·fragment.mState;
1610 ········final·String·s·=·"FragmentManager";1626 ········final·String·s·=·"FragmentManager";
1611 ········final·int·n2·=·3;1627 ········final·int·n2·=·3;
1612 ········final·int·n3·=·-1;1628 ········final·int·n3·=·-1;
1613 ········final·int·n4·=·5;1629 ········final·int·n4·=·5;
1614 ········final·int·n5·=·4;1630 ········final·int·n5·=·4;
1615 ········Label_0756:·{1631 ········Label_0750:·{
1616 ············if·(mState·<=·n)·{1632 ············if·(mState·<=·n)·{
1617 ················if·(mState·<·n·&&·!this.mExitAnimationCancellationSignals.isEmpty())·{1633 ················if·(mState·<·n·&&·!this.mExitAnimationCancellationSignals.isEmpty())·{
1618 ····················this.cancelExitAnimation(fragment);1634 ····················this.cancelExitAnimation(fragment);
1619 ················}1635 ················}
1620 ················final·int·mState2·=·fragment.mState;1636 ················final·int·mState2·=·fragment.mState;
1621 ················Label_0286:·{1637 ················Label_0284:·{
1622 ····················Label_0276:·{1638 ····················Label_0274:·{
1623 ························Label_0266:·{1639 ························Label_0264:·{
1624 ····························Label_0246:·{1640 ····························Label_0244:·{
1625 ································if·(mState2·!=·n3)·{1641 ································if·(mState2·!=·n3)·{
1626 ····································if·(mState2·!=·0)·{1642 ····································if·(mState2·!=·0)·{
1627 ········································if·(mState2·==·fragmentManagerState)·{1643 ········································if·(mState2·==·fragmentManagerState)·{
1628 ············································break·Label_0246;1644 ············································break·Label_0244;
1629 ········································}1645 ········································}
1630 ········································if·(mState2·==·b)·{1646 ········································if·(mState2·==·b)·{
1631 ············································break·Label_0266;1647 ············································break·Label_0264;
1632 ········································}1648 ········································}
1633 ········································if·(mState2·==·n5)·{1649 ········································if·(mState2·==·n5)·{
1634 ············································break·Label_0276;1650 ············································break·Label_0274;
1635 ········································}1651 ········································}
1636 ········································if·(mState2·!=·n4)·{1652 ········································if·(mState2·!=·n4)·{
1637 ············································break·Label_0756;1653 ············································break·Label_0750;
1638 ········································}1654 ········································}
1639 ········································break·Label_0286;1655 ········································break·Label_0284;
1640 ····································}1656 ····································}
1641 ································}1657 ································}
1642 ································else·if·(n·>·n3)·{1658 ································else·if·(n·>·n3)·{
1643 ····································fragmentStateManager.attach();1659 ····································fragmentStateManager.attach();
1644 ································}1660 ································}
1645 ································if·(n·>·0)·{1661 ································if·(n·>·0)·{
1646 ····································fragmentStateManager.create();1662 ····································fragmentStateManager.create();
Offset 1662, 23 lines modifiedOffset 1678, 23 lines modified
1662 ····················}1678 ····················}
1663 ················}1679 ················}
1664 ················if·(n·>·n4)·{1680 ················if·(n·>·n4)·{
1665 ····················fragmentStateManager.resume();1681 ····················fragmentStateManager.resume();
1666 ················}1682 ················}
1667 ············}1683 ············}
1668 ············else·if·(mState·>·n)·{1684 ············else·if·(mState·>·n)·{
1669 ················Label_0744:·{1685 ················Label_0738:·{
1670 ····················if·(mState·!=·0)·{1686 ····················if·(mState·!=·0)·{
1671 ························if·(mState·!=·fragmentManagerState)·{1687 ························if·(mState·!=·fragmentManagerState)·{
1672 ····························if·(mState·!=·b)·{1688 ····························if·(mState·!=·b)·{
1673 ································if·(mState·!=·n5)·{1689 ································if·(mState·!=·n5)·{
1674 ····································if·(mState·!=·n4)·{1690 ····································if·(mState·!=·n4)·{
1675 ········································final·int·n6·=·7;1691 ········································final·int·n6·=·7;
1676 ········································if·(mState·!=·n6)·{1692 ········································if·(mState·!=·n6)·{
1677 ············································break·Label_0756;1693 ············································break·Label_0750;
1678 ········································}1694 ········································}
1679 ········································if·(n·<·n6)·{1695 ········································if·(n·<·n6)·{
1680 ············································fragmentStateManager.pause();1696 ············································fragmentStateManager.pause();
1681 ········································}1697 ········································}
1682 ····································}1698 ····································}
1683 ····································if·(n·<·n4)·{1699 ····································if·(n·<·n4)·{
1684 ········································fragmentStateManager.stop();1700 ········································fragmentStateManager.stop();
Offset 1724, 15 lines modifiedOffset 1740, 15 lines modified
1724 ································if·(this.mExitAnimationCancellationSignals.get(fragment)·==·null)·{1740 ································if·(this.mExitAnimationCancellationSignals.get(fragment)·==·null)·{
1725 ····································fragmentStateManager.destroyFragmentView();1741 ····································fragmentStateManager.destroyFragmentView();
1726 ································}1742 ································}
1727 ····························}1743 ····························}
1728 ························}1744 ························}
1729 ························if·(n·<·fragmentManagerState)·{1745 ························if·(n·<·fragmentManagerState)·{
1730 ····························if·(this.mExitAnimationCancellationSignals.get(fragment)·!=·null)·{1746 ····························if·(this.mExitAnimationCancellationSignals.get(fragment)·!=·null)·{
1731 ································break·Label_0744;1747 ································break·Label_0738;
1732 ····························}1748 ····························}
1733 ····························fragmentStateManager.destroy();1749 ····························fragmentStateManager.destroy();
1734 ························}1750 ························}
1735 ····················}1751 ····················}
1736 ····················fragmentManagerState·=·n;1752 ····················fragmentManagerState·=·n;
1737 ················}1753 ················}
1738 ················if·(fragmentManagerState·<·0)·{1754 ················if·(fragmentManagerState·<·0)·{