package androidx.fragment.app; import android.content.Context; import android.graphics.Rect; import android.util.SparseArray; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.collection.ArrayMap; import androidx.core.app.SharedElementCallback; import androidx.core.os.CancellationSignal; import androidx.core.view.OneShotPreDrawListener; import androidx.core.view.ViewCompat; import androidx.fragment.app.FragmentTransaction; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class FragmentTransition { private static final int[] INVERSE_OPS = {0, 3, 0, 1, 5, 4, 7, 6, 9, 8, 10}; public static final FragmentTransitionImpl PLATFORM_IMPL = new FragmentTransitionCompat21(); public static final FragmentTransitionImpl SUPPORT_IMPL = resolveSupportImpl(); /* renamed from: androidx.fragment.app.FragmentTransition$1 reason: invalid class name */ public class AnonymousClass1 implements Runnable { public final /* synthetic */ Callback val$callback; public final /* synthetic */ Fragment val$outFragment; public final /* synthetic */ CancellationSignal val$signal; public AnonymousClass1(Callback callback, Fragment fragment, CancellationSignal cancellationSignal) { this.val$callback = callback; this.val$outFragment = fragment; this.val$signal = cancellationSignal; } @Override // java.lang.Runnable public void run() { this.val$callback.onComplete(this.val$outFragment, this.val$signal); } } /* renamed from: androidx.fragment.app.FragmentTransition$2 reason: invalid class name */ public class AnonymousClass2 implements Runnable { public final /* synthetic */ ArrayList val$exitingViews; public AnonymousClass2(ArrayList arrayList) { this.val$exitingViews = arrayList; } @Override // java.lang.Runnable public void run() { FragmentTransition.setViewVisibility(this.val$exitingViews, 4); } } /* renamed from: androidx.fragment.app.FragmentTransition$3 reason: invalid class name */ public class AnonymousClass3 implements Runnable { public final /* synthetic */ Callback val$callback; public final /* synthetic */ Fragment val$outFragment; public final /* synthetic */ CancellationSignal val$signal; public AnonymousClass3(Callback callback, Fragment fragment, CancellationSignal cancellationSignal) { this.val$callback = callback; this.val$outFragment = fragment; this.val$signal = cancellationSignal; } @Override // java.lang.Runnable public void run() { this.val$callback.onComplete(this.val$outFragment, this.val$signal); } } /* renamed from: androidx.fragment.app.FragmentTransition$4 reason: invalid class name */ public class AnonymousClass4 implements Runnable { public final /* synthetic */ Object val$enterTransition; public final /* synthetic */ ArrayList val$enteringViews; public final /* synthetic */ Object val$exitTransition; public final /* synthetic */ ArrayList val$exitingViews; public final /* synthetic */ FragmentTransitionImpl val$impl; public final /* synthetic */ Fragment val$inFragment; public final /* synthetic */ View val$nonExistentView; public final /* synthetic */ ArrayList val$sharedElementsIn; public AnonymousClass4(Object obj, FragmentTransitionImpl fragmentTransitionImpl, View view, Fragment fragment, ArrayList arrayList, ArrayList arrayList2, ArrayList arrayList3, Object obj2) { this.val$enterTransition = obj; this.val$impl = fragmentTransitionImpl; this.val$nonExistentView = view; this.val$inFragment = fragment; this.val$sharedElementsIn = arrayList; this.val$enteringViews = arrayList2; this.val$exitingViews = arrayList3; this.val$exitTransition = obj2; } @Override // java.lang.Runnable public void run() { Object obj = this.val$enterTransition; if (obj != null) { this.val$impl.removeTarget(obj, this.val$nonExistentView); this.val$enteringViews.addAll(FragmentTransition.configureEnteringExitingViews(this.val$impl, this.val$enterTransition, this.val$inFragment, this.val$sharedElementsIn, this.val$nonExistentView)); } if (this.val$exitingViews != null) { if (this.val$exitTransition != null) { ArrayList arrayList = new ArrayList<>(); arrayList.add(this.val$nonExistentView); this.val$impl.replaceTargets(this.val$exitTransition, this.val$exitingViews, arrayList); } this.val$exitingViews.clear(); this.val$exitingViews.add(this.val$nonExistentView); } } } /* renamed from: androidx.fragment.app.FragmentTransition$5 reason: invalid class name */ public class AnonymousClass5 implements Runnable { public final /* synthetic */ Rect val$epicenter; public final /* synthetic */ View val$epicenterView; public final /* synthetic */ FragmentTransitionImpl val$impl; public final /* synthetic */ Fragment val$inFragment; public final /* synthetic */ boolean val$inIsPop; public final /* synthetic */ ArrayMap val$inSharedElements; public final /* synthetic */ Fragment val$outFragment; public AnonymousClass5(Fragment fragment, Fragment fragment2, boolean z2, ArrayMap arrayMap, View view, FragmentTransitionImpl fragmentTransitionImpl, Rect rect) { this.val$inFragment = fragment; this.val$outFragment = fragment2; this.val$inIsPop = z2; this.val$inSharedElements = arrayMap; this.val$epicenterView = view; this.val$impl = fragmentTransitionImpl; this.val$epicenter = rect; } @Override // java.lang.Runnable public void run() { FragmentTransition.callSharedElementStartEnd(this.val$inFragment, this.val$outFragment, this.val$inIsPop, this.val$inSharedElements, false); View view = this.val$epicenterView; if (view != null) { this.val$impl.getBoundsOnScreen(view, this.val$epicenter); } } } /* renamed from: androidx.fragment.app.FragmentTransition$6 reason: invalid class name */ public class AnonymousClass6 implements Runnable { public final /* synthetic */ Object val$enterTransition; public final /* synthetic */ Object val$finalSharedElementTransition; public final /* synthetic */ FragmentContainerTransition val$fragments; public final /* synthetic */ FragmentTransitionImpl val$impl; public final /* synthetic */ Rect val$inEpicenter; public final /* synthetic */ Fragment val$inFragment; public final /* synthetic */ boolean val$inIsPop; public final /* synthetic */ ArrayMap val$nameOverrides; public final /* synthetic */ View val$nonExistentView; public final /* synthetic */ Fragment val$outFragment; public final /* synthetic */ ArrayList val$sharedElementsIn; public final /* synthetic */ ArrayList val$sharedElementsOut; public AnonymousClass6(FragmentTransitionImpl fragmentTransitionImpl, ArrayMap arrayMap, Object obj, FragmentContainerTransition fragmentContainerTransition, ArrayList arrayList, View view, Fragment fragment, Fragment fragment2, boolean z2, ArrayList arrayList2, Object obj2, Rect rect) { this.val$impl = fragmentTransitionImpl; this.val$nameOverrides = arrayMap; this.val$finalSharedElementTransition = obj; this.val$fragments = fragmentContainerTransition; this.val$sharedElementsIn = arrayList; this.val$nonExistentView = view; this.val$inFragment = fragment; this.val$outFragment = fragment2; this.val$inIsPop = z2; this.val$sharedElementsOut = arrayList2; this.val$enterTransition = obj2; this.val$inEpicenter = rect; } @Override // java.lang.Runnable public void run() { ArrayMap captureInSharedElements = FragmentTransition.captureInSharedElements(this.val$impl, this.val$nameOverrides, this.val$finalSharedElementTransition, this.val$fragments); if (captureInSharedElements != null) { this.val$sharedElementsIn.addAll(captureInSharedElements.values()); this.val$sharedElementsIn.add(this.val$nonExistentView); } FragmentTransition.callSharedElementStartEnd(this.val$inFragment, this.val$outFragment, this.val$inIsPop, captureInSharedElements, false); Object obj = this.val$finalSharedElementTransition; if (obj != null) { this.val$impl.swapSharedElementTargets(obj, this.val$sharedElementsOut, this.val$sharedElementsIn); View inEpicenterView = FragmentTransition.getInEpicenterView(captureInSharedElements, this.val$fragments, this.val$enterTransition, this.val$inIsPop); if (inEpicenterView != null) { this.val$impl.getBoundsOnScreen(inEpicenterView, this.val$inEpicenter); } } } } public interface Callback { void onComplete(@NonNull Fragment fragment, @NonNull CancellationSignal cancellationSignal); void onStart(@NonNull Fragment fragment, @NonNull CancellationSignal cancellationSignal); } public static class FragmentContainerTransition { public Fragment firstOut; public boolean firstOutIsPop; public BackStackRecord firstOutTransaction; public Fragment lastIn; public boolean lastInIsPop; public BackStackRecord lastInTransaction; } private FragmentTransition() { } private static void addSharedElementsWithMatchingNames(ArrayList arrayList, ArrayMap arrayMap, Collection collection) { for (int size = arrayMap.size() - 1; size >= 0; size--) { View valueAt = arrayMap.valueAt(size); if (collection.contains(ViewCompat.getTransitionName(valueAt))) { arrayList.add(valueAt); } } } /* JADX WARNING: Code restructure failed: missing block: B:29:0x0039, code lost: if (r0.mAdded != false) goto L_0x008c; */ /* JADX WARNING: Code restructure failed: missing block: B:51:0x006e, code lost: r9 = true; */ /* JADX WARNING: Code restructure failed: missing block: B:63:0x008a, code lost: if (r0.mHidden == false) goto L_0x008c; */ /* JADX WARNING: Code restructure failed: missing block: B:64:0x008c, code lost: r9 = true; */ /* JADX WARNING: Removed duplicated region for block: B:69:0x009a */ /* JADX WARNING: Removed duplicated region for block: B:79:0x00b5 */ /* JADX WARNING: Removed duplicated region for block: B:86:0x00d9 A[ADDED_TO_REGION] */ /* JADX WARNING: Removed duplicated region for block: B:92:? A[ADDED_TO_REGION, RETURN, SYNTHETIC] */ private static void addToFirstInLastOut(BackStackRecord backStackRecord, FragmentTransaction.Op op, SparseArray sparseArray, boolean z2, boolean z3) { int i; boolean z4; boolean z5; FragmentContainerTransition fragmentContainerTransition; boolean z6; Fragment fragment = op.mFragment; if (fragment != null && (i = fragment.mContainerId) != 0) { int i2 = z2 ? INVERSE_OPS[op.mCmd] : op.mCmd; boolean z7 = false; boolean z8 = true; if (i2 != 1) { if (i2 != 3) { if (i2 != 4) { if (i2 != 5) { if (i2 != 6) { if (i2 != 7) { z4 = false; z8 = false; z5 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.lastIn = fragment; fragmentContainerTransition.lastInIsPop = z2; fragmentContainerTransition.lastInTransaction = backStackRecord; } if (!z3 && z8) { if (fragmentContainerTransition != null && fragmentContainerTransition.firstOut == fragment) { fragmentContainerTransition.firstOut = null; } if (!backStackRecord.mReorderingAllowed) { FragmentManager fragmentManager = backStackRecord.mManager; fragmentManager.getFragmentStore().makeActive(fragmentManager.createOrGetFragmentStateManager(fragment)); fragmentManager.moveToState(fragment); } } if (z5 && (fragmentContainerTransition == null || fragmentContainerTransition.firstOut == null)) { fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; } if (z3 && z4 && fragmentContainerTransition != null && fragmentContainerTransition.lastIn == fragment) { fragmentContainerTransition.lastIn = null; return; } return; } } } else if (z3) { if (fragment.mHiddenChanged) { if (!fragment.mHidden) { } } z6 = false; z7 = z6; z4 = false; z5 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { return; } return; } else { z6 = fragment.mHidden; z7 = z6; z4 = false; z5 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } } else if (!z3) { boolean z9 = false; z5 = z9; z4 = true; z8 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } else { boolean z9 = false; z5 = z9; z4 = true; z8 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } } if (!z3) { boolean z9 = false; z5 = z9; z4 = true; z8 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } else { boolean z9 = false; z5 = z9; z4 = true; z8 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } } if (z3) { z6 = fragment.mIsNewlyAdded; z7 = z6; z4 = false; z5 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } else { if (!fragment.mAdded) { } z6 = false; z7 = z6; z4 = false; z5 = false; fragmentContainerTransition = sparseArray.get(i); if (z7) { } fragmentContainerTransition.firstOut = null; if (!backStackRecord.mReorderingAllowed) { } fragmentContainerTransition = ensureContainer(fragmentContainerTransition, sparseArray, i); fragmentContainerTransition.firstOut = fragment; fragmentContainerTransition.firstOutIsPop = z2; fragmentContainerTransition.firstOutTransaction = backStackRecord; if (z3) { } } } } public static void calculateFragments(BackStackRecord backStackRecord, SparseArray sparseArray, boolean z2) { int size = backStackRecord.mOps.size(); for (int i = 0; i < size; i++) { addToFirstInLastOut(backStackRecord, backStackRecord.mOps.get(i), sparseArray, false, z2); } } private static ArrayMap calculateNameOverrides(int i, ArrayList arrayList, ArrayList arrayList2, int i2, int i3) { ArrayList arrayList3; ArrayList arrayList4; ArrayMap arrayMap = new ArrayMap<>(); for (int i4 = i3 - 1; i4 >= i2; i4--) { BackStackRecord backStackRecord = arrayList.get(i4); if (backStackRecord.interactsWith(i)) { boolean booleanValue = arrayList2.get(i4).booleanValue(); ArrayList arrayList5 = backStackRecord.mSharedElementSourceNames; if (arrayList5 != null) { int size = arrayList5.size(); if (booleanValue) { arrayList3 = backStackRecord.mSharedElementSourceNames; arrayList4 = backStackRecord.mSharedElementTargetNames; } else { ArrayList arrayList6 = backStackRecord.mSharedElementSourceNames; arrayList3 = backStackRecord.mSharedElementTargetNames; arrayList4 = arrayList6; } for (int i5 = 0; i5 < size; i5++) { String str = arrayList4.get(i5); String str2 = arrayList3.get(i5); String remove = arrayMap.remove(str2); if (remove != null) { arrayMap.put(str, remove); } else { arrayMap.put(str, str2); } } } } } return arrayMap; } public static void calculatePopFragments(BackStackRecord backStackRecord, SparseArray sparseArray, boolean z2) { if (backStackRecord.mManager.getContainer().onHasView()) { for (int size = backStackRecord.mOps.size() - 1; size >= 0; size--) { addToFirstInLastOut(backStackRecord, backStackRecord.mOps.get(size), sparseArray, true, z2); } } } public static void callSharedElementStartEnd(Fragment fragment, Fragment fragment2, boolean z2, ArrayMap arrayMap, boolean z3) { SharedElementCallback enterTransitionCallback = z2 ? fragment2.getEnterTransitionCallback() : fragment.getEnterTransitionCallback(); if (enterTransitionCallback != null) { ArrayList arrayList = new ArrayList(); ArrayList arrayList2 = new ArrayList(); int size = arrayMap == null ? 0 : arrayMap.size(); for (int i = 0; i < size; i++) { arrayList2.add(arrayMap.keyAt(i)); arrayList.add(arrayMap.valueAt(i)); } if (z3) { enterTransitionCallback.onSharedElementStart(arrayList2, arrayList, null); } else { enterTransitionCallback.onSharedElementEnd(arrayList2, arrayList, null); } } } private static boolean canHandleAll(FragmentTransitionImpl fragmentTransitionImpl, List list) { int size = list.size(); for (int i = 0; i < size; i++) { if (!fragmentTransitionImpl.canHandle(list.get(i))) { return false; } } return true; } public static ArrayMap captureInSharedElements(FragmentTransitionImpl fragmentTransitionImpl, ArrayMap arrayMap, Object obj, FragmentContainerTransition fragmentContainerTransition) { SharedElementCallback sharedElementCallback; ArrayList arrayList; String findKeyForValue; Fragment fragment = fragmentContainerTransition.lastIn; View view = fragment.getView(); if (arrayMap.isEmpty() || obj == null || view == null) { arrayMap.clear(); return null; } ArrayMap arrayMap2 = new ArrayMap<>(); fragmentTransitionImpl.findNamedViews(arrayMap2, view); BackStackRecord backStackRecord = fragmentContainerTransition.lastInTransaction; if (fragmentContainerTransition.lastInIsPop) { sharedElementCallback = fragment.getExitTransitionCallback(); arrayList = backStackRecord.mSharedElementSourceNames; } else { sharedElementCallback = fragment.getEnterTransitionCallback(); arrayList = backStackRecord.mSharedElementTargetNames; } if (arrayList != null) { arrayMap2.retainAll(arrayList); arrayMap2.retainAll(arrayMap.values()); } if (sharedElementCallback != null) { sharedElementCallback.onMapSharedElements(arrayList, arrayMap2); for (int size = arrayList.size() - 1; size >= 0; size--) { String str = arrayList.get(size); View view2 = arrayMap2.get(str); if (view2 == null) { String findKeyForValue2 = findKeyForValue(arrayMap, str); if (findKeyForValue2 != null) { arrayMap.remove(findKeyForValue2); } } else if (!str.equals(ViewCompat.getTransitionName(view2)) && (findKeyForValue = findKeyForValue(arrayMap, str)) != null) { arrayMap.put(findKeyForValue, ViewCompat.getTransitionName(view2)); } } } else { retainValues(arrayMap, arrayMap2); } return arrayMap2; } private static ArrayMap captureOutSharedElements(FragmentTransitionImpl fragmentTransitionImpl, ArrayMap arrayMap, Object obj, FragmentContainerTransition fragmentContainerTransition) { SharedElementCallback sharedElementCallback; ArrayList arrayList; if (arrayMap.isEmpty() || obj == null) { arrayMap.clear(); return null; } Fragment fragment = fragmentContainerTransition.firstOut; ArrayMap arrayMap2 = new ArrayMap<>(); fragmentTransitionImpl.findNamedViews(arrayMap2, fragment.requireView()); BackStackRecord backStackRecord = fragmentContainerTransition.firstOutTransaction; if (fragmentContainerTransition.firstOutIsPop) { sharedElementCallback = fragment.getEnterTransitionCallback(); arrayList = backStackRecord.mSharedElementTargetNames; } else { sharedElementCallback = fragment.getExitTransitionCallback(); arrayList = backStackRecord.mSharedElementSourceNames; } if (arrayList != null) { arrayMap2.retainAll(arrayList); } if (sharedElementCallback != null) { sharedElementCallback.onMapSharedElements(arrayList, arrayMap2); for (int size = arrayList.size() - 1; size >= 0; size--) { String str = arrayList.get(size); View view = arrayMap2.get(str); if (view == null) { arrayMap.remove(str); } else if (!str.equals(ViewCompat.getTransitionName(view))) { arrayMap.put(ViewCompat.getTransitionName(view), arrayMap.remove(str)); } } } else { arrayMap.retainAll(arrayMap2.keySet()); } return arrayMap2; } private static FragmentTransitionImpl chooseImpl(Fragment fragment, Fragment fragment2) { ArrayList arrayList = new ArrayList(); if (fragment != null) { Object exitTransition = fragment.getExitTransition(); if (exitTransition != null) { arrayList.add(exitTransition); } Object returnTransition = fragment.getReturnTransition(); if (returnTransition != null) { arrayList.add(returnTransition); } Object sharedElementReturnTransition = fragment.getSharedElementReturnTransition(); if (sharedElementReturnTransition != null) { arrayList.add(sharedElementReturnTransition); } } if (fragment2 != null) { Object enterTransition = fragment2.getEnterTransition(); if (enterTransition != null) { arrayList.add(enterTransition); } Object reenterTransition = fragment2.getReenterTransition(); if (reenterTransition != null) { arrayList.add(reenterTransition); } Object sharedElementEnterTransition = fragment2.getSharedElementEnterTransition(); if (sharedElementEnterTransition != null) { arrayList.add(sharedElementEnterTransition); } } if (arrayList.isEmpty()) { return null; } FragmentTransitionImpl fragmentTransitionImpl = PLATFORM_IMPL; if (fragmentTransitionImpl != null && canHandleAll(fragmentTransitionImpl, arrayList)) { return fragmentTransitionImpl; } FragmentTransitionImpl fragmentTransitionImpl2 = SUPPORT_IMPL; if (fragmentTransitionImpl2 != null && canHandleAll(fragmentTransitionImpl2, arrayList)) { return fragmentTransitionImpl2; } if (fragmentTransitionImpl == null && fragmentTransitionImpl2 == null) { return null; } throw new IllegalArgumentException("Invalid Transition types"); } public static ArrayList configureEnteringExitingViews(FragmentTransitionImpl fragmentTransitionImpl, Object obj, Fragment fragment, ArrayList arrayList, View view) { if (obj == null) { return null; } ArrayList arrayList2 = new ArrayList<>(); View view2 = fragment.getView(); if (view2 != null) { fragmentTransitionImpl.captureTransitioningViews(arrayList2, view2); } if (arrayList != null) { arrayList2.removeAll(arrayList); } if (arrayList2.isEmpty()) { return arrayList2; } arrayList2.add(view); fragmentTransitionImpl.addTargets(obj, arrayList2); return arrayList2; } private static Object configureSharedElementsOrdered(FragmentTransitionImpl fragmentTransitionImpl, ViewGroup viewGroup, View view, ArrayMap arrayMap, FragmentContainerTransition fragmentContainerTransition, ArrayList arrayList, ArrayList arrayList2, Object obj, Object obj2) { ArrayMap arrayMap2; Object obj3; Object obj4; Rect rect; Fragment fragment = fragmentContainerTransition.lastIn; Fragment fragment2 = fragmentContainerTransition.firstOut; if (fragment == null || fragment2 == null) { return null; } boolean z2 = fragmentContainerTransition.lastInIsPop; if (arrayMap.isEmpty()) { arrayMap2 = arrayMap; obj3 = null; } else { obj3 = getSharedElementTransition(fragmentTransitionImpl, fragment, fragment2, z2); arrayMap2 = arrayMap; } ArrayMap captureOutSharedElements = captureOutSharedElements(fragmentTransitionImpl, arrayMap2, obj3, fragmentContainerTransition); if (arrayMap.isEmpty()) { obj4 = null; } else { arrayList.addAll(captureOutSharedElements.values()); obj4 = obj3; } if (obj == null && obj2 == null && obj4 == null) { return null; } callSharedElementStartEnd(fragment, fragment2, z2, captureOutSharedElements, true); if (obj4 != null) { rect = new Rect(); fragmentTransitionImpl.setSharedElementTargets(obj4, view, arrayList); setOutEpicenter(fragmentTransitionImpl, obj4, obj2, captureOutSharedElements, fragmentContainerTransition.firstOutIsPop, fragmentContainerTransition.firstOutTransaction); if (obj != null) { fragmentTransitionImpl.setEpicenter(obj, rect); } } else { rect = null; } OneShotPreDrawListener.add(viewGroup, new AnonymousClass6(fragmentTransitionImpl, arrayMap, obj4, fragmentContainerTransition, arrayList2, view, fragment, fragment2, z2, arrayList, obj, rect)); return obj4; } private static Object configureSharedElementsReordered(FragmentTransitionImpl fragmentTransitionImpl, ViewGroup viewGroup, View view, ArrayMap arrayMap, FragmentContainerTransition fragmentContainerTransition, ArrayList arrayList, ArrayList arrayList2, Object obj, Object obj2) { Object obj3; Rect rect; View view2; Fragment fragment = fragmentContainerTransition.lastIn; Fragment fragment2 = fragmentContainerTransition.firstOut; if (fragment != null) { fragment.requireView().setVisibility(0); } if (fragment == null || fragment2 == null) { return null; } boolean z2 = fragmentContainerTransition.lastInIsPop; Object sharedElementTransition = arrayMap.isEmpty() ? null : getSharedElementTransition(fragmentTransitionImpl, fragment, fragment2, z2); ArrayMap captureOutSharedElements = captureOutSharedElements(fragmentTransitionImpl, arrayMap, sharedElementTransition, fragmentContainerTransition); ArrayMap captureInSharedElements = captureInSharedElements(fragmentTransitionImpl, arrayMap, sharedElementTransition, fragmentContainerTransition); if (arrayMap.isEmpty()) { if (captureOutSharedElements != null) { captureOutSharedElements.clear(); } if (captureInSharedElements != null) { captureInSharedElements.clear(); } obj3 = null; } else { addSharedElementsWithMatchingNames(arrayList, captureOutSharedElements, arrayMap.keySet()); addSharedElementsWithMatchingNames(arrayList2, captureInSharedElements, arrayMap.values()); obj3 = sharedElementTransition; } if (obj == null && obj2 == null && obj3 == null) { return null; } callSharedElementStartEnd(fragment, fragment2, z2, captureOutSharedElements, true); if (obj3 != null) { arrayList2.add(view); fragmentTransitionImpl.setSharedElementTargets(obj3, view, arrayList); setOutEpicenter(fragmentTransitionImpl, obj3, obj2, captureOutSharedElements, fragmentContainerTransition.firstOutIsPop, fragmentContainerTransition.firstOutTransaction); Rect rect2 = new Rect(); View inEpicenterView = getInEpicenterView(captureInSharedElements, fragmentContainerTransition, obj, z2); if (inEpicenterView != null) { fragmentTransitionImpl.setEpicenter(obj, rect2); } rect = rect2; view2 = inEpicenterView; } else { view2 = null; rect = null; } OneShotPreDrawListener.add(viewGroup, new AnonymousClass5(fragment, fragment2, z2, captureInSharedElements, view2, fragmentTransitionImpl, rect)); return obj3; } private static void configureTransitionsOrdered(@NonNull ViewGroup viewGroup, FragmentContainerTransition fragmentContainerTransition, View view, ArrayMap arrayMap, Callback callback) { Object obj; Fragment fragment = fragmentContainerTransition.lastIn; Fragment fragment2 = fragmentContainerTransition.firstOut; FragmentTransitionImpl chooseImpl = chooseImpl(fragment2, fragment); if (chooseImpl != null) { boolean z2 = fragmentContainerTransition.lastInIsPop; boolean z3 = fragmentContainerTransition.firstOutIsPop; Object enterTransition = getEnterTransition(chooseImpl, fragment, z2); Object exitTransition = getExitTransition(chooseImpl, fragment2, z3); ArrayList arrayList = new ArrayList(); ArrayList arrayList2 = new ArrayList<>(); Object configureSharedElementsOrdered = configureSharedElementsOrdered(chooseImpl, viewGroup, view, arrayMap, fragmentContainerTransition, arrayList, arrayList2, enterTransition, exitTransition); if (enterTransition == null && configureSharedElementsOrdered == null) { obj = exitTransition; if (obj == null) { return; } } else { obj = exitTransition; } ArrayList configureEnteringExitingViews = configureEnteringExitingViews(chooseImpl, obj, fragment2, arrayList, view); if (configureEnteringExitingViews == null || configureEnteringExitingViews.isEmpty()) { obj = null; } chooseImpl.addTarget(enterTransition, view); Object mergeTransitions = mergeTransitions(chooseImpl, enterTransition, obj, configureSharedElementsOrdered, fragment, fragmentContainerTransition.lastInIsPop); if (!(fragment2 == null || configureEnteringExitingViews == null || (configureEnteringExitingViews.size() <= 0 && arrayList.size() <= 0))) { CancellationSignal cancellationSignal = new CancellationSignal(); callback.onStart(fragment2, cancellationSignal); chooseImpl.setListenerForTransitionEnd(fragment2, mergeTransitions, cancellationSignal, new AnonymousClass3(callback, fragment2, cancellationSignal)); } if (mergeTransitions != null) { ArrayList arrayList3 = new ArrayList<>(); chooseImpl.scheduleRemoveTargets(mergeTransitions, enterTransition, arrayList3, obj, configureEnteringExitingViews, configureSharedElementsOrdered, arrayList2); scheduleTargetChange(chooseImpl, viewGroup, fragment, view, arrayList2, enterTransition, arrayList3, obj, configureEnteringExitingViews); chooseImpl.setNameOverridesOrdered(viewGroup, arrayList2, arrayMap); chooseImpl.beginDelayedTransition(viewGroup, mergeTransitions); chooseImpl.scheduleNameReset(viewGroup, arrayList2, arrayMap); } } } private static void configureTransitionsReordered(@NonNull ViewGroup viewGroup, FragmentContainerTransition fragmentContainerTransition, View view, ArrayMap arrayMap, Callback callback) { Object obj; Fragment fragment = fragmentContainerTransition.lastIn; Fragment fragment2 = fragmentContainerTransition.firstOut; FragmentTransitionImpl chooseImpl = chooseImpl(fragment2, fragment); if (chooseImpl != null) { boolean z2 = fragmentContainerTransition.lastInIsPop; boolean z3 = fragmentContainerTransition.firstOutIsPop; ArrayList arrayList = new ArrayList<>(); ArrayList arrayList2 = new ArrayList<>(); Object enterTransition = getEnterTransition(chooseImpl, fragment, z2); Object exitTransition = getExitTransition(chooseImpl, fragment2, z3); Object configureSharedElementsReordered = configureSharedElementsReordered(chooseImpl, viewGroup, view, arrayMap, fragmentContainerTransition, arrayList2, arrayList, enterTransition, exitTransition); if (enterTransition == null && configureSharedElementsReordered == null) { obj = exitTransition; if (obj == null) { return; } } else { obj = exitTransition; } ArrayList configureEnteringExitingViews = configureEnteringExitingViews(chooseImpl, obj, fragment2, arrayList2, view); ArrayList configureEnteringExitingViews2 = configureEnteringExitingViews(chooseImpl, enterTransition, fragment, arrayList, view); setViewVisibility(configureEnteringExitingViews2, 4); Object mergeTransitions = mergeTransitions(chooseImpl, enterTransition, obj, configureSharedElementsReordered, fragment, z2); if (!(fragment2 == null || configureEnteringExitingViews == null || (configureEnteringExitingViews.size() <= 0 && arrayList2.size() <= 0))) { CancellationSignal cancellationSignal = new CancellationSignal(); callback.onStart(fragment2, cancellationSignal); chooseImpl.setListenerForTransitionEnd(fragment2, mergeTransitions, cancellationSignal, new AnonymousClass1(callback, fragment2, cancellationSignal)); } if (mergeTransitions != null) { replaceHide(chooseImpl, obj, fragment2, configureEnteringExitingViews); ArrayList prepareSetNameOverridesReordered = chooseImpl.prepareSetNameOverridesReordered(arrayList); chooseImpl.scheduleRemoveTargets(mergeTransitions, enterTransition, configureEnteringExitingViews2, obj, configureEnteringExitingViews, configureSharedElementsReordered, arrayList); chooseImpl.beginDelayedTransition(viewGroup, mergeTransitions); chooseImpl.setNameOverridesReordered(viewGroup, arrayList2, arrayList, prepareSetNameOverridesReordered, arrayMap); setViewVisibility(configureEnteringExitingViews2, 0); chooseImpl.swapSharedElementTargets(configureSharedElementsReordered, arrayList2, arrayList); } } } private static FragmentContainerTransition ensureContainer(FragmentContainerTransition fragmentContainerTransition, SparseArray sparseArray, int i) { if (fragmentContainerTransition != null) { return fragmentContainerTransition; } FragmentContainerTransition fragmentContainerTransition2 = new FragmentContainerTransition(); sparseArray.put(i, fragmentContainerTransition2); return fragmentContainerTransition2; } public static String findKeyForValue(ArrayMap arrayMap, String str) { int size = arrayMap.size(); for (int i = 0; i < size; i++) { if (str.equals(arrayMap.valueAt(i))) { return arrayMap.keyAt(i); } } return null; } private static Object getEnterTransition(FragmentTransitionImpl fragmentTransitionImpl, Fragment fragment, boolean z2) { if (fragment == null) { return null; } return fragmentTransitionImpl.cloneTransition(z2 ? fragment.getReenterTransition() : fragment.getEnterTransition()); } private static Object getExitTransition(FragmentTransitionImpl fragmentTransitionImpl, Fragment fragment, boolean z2) { if (fragment == null) { return null; } return fragmentTransitionImpl.cloneTransition(z2 ? fragment.getReturnTransition() : fragment.getExitTransition()); } public static View getInEpicenterView(ArrayMap arrayMap, FragmentContainerTransition fragmentContainerTransition, Object obj, boolean z2) { ArrayList arrayList; BackStackRecord backStackRecord = fragmentContainerTransition.lastInTransaction; if (obj == null || arrayMap == null || (arrayList = backStackRecord.mSharedElementSourceNames) == null || arrayList.isEmpty()) { return null; } return arrayMap.get(z2 ? backStackRecord.mSharedElementSourceNames.get(0) : backStackRecord.mSharedElementTargetNames.get(0)); } private static Object getSharedElementTransition(FragmentTransitionImpl fragmentTransitionImpl, Fragment fragment, Fragment fragment2, boolean z2) { if (fragment == null || fragment2 == null) { return null; } return fragmentTransitionImpl.wrapTransitionInSet(fragmentTransitionImpl.cloneTransition(z2 ? fragment2.getSharedElementReturnTransition() : fragment.getSharedElementEnterTransition())); } private static Object mergeTransitions(FragmentTransitionImpl fragmentTransitionImpl, Object obj, Object obj2, Object obj3, Fragment fragment, boolean z2) { return (obj == null || obj2 == null || fragment == null) ? true : z2 ? fragment.getAllowReturnTransitionOverlap() : fragment.getAllowEnterTransitionOverlap() ? fragmentTransitionImpl.mergeTransitionsTogether(obj2, obj, obj3) : fragmentTransitionImpl.mergeTransitionsInSequence(obj2, obj, obj3); } private static void replaceHide(FragmentTransitionImpl fragmentTransitionImpl, Object obj, Fragment fragment, ArrayList arrayList) { if (fragment != null && obj != null && fragment.mAdded && fragment.mHidden && fragment.mHiddenChanged) { fragment.setHideReplaced(true); fragmentTransitionImpl.scheduleHideFragmentView(obj, fragment.getView(), arrayList); OneShotPreDrawListener.add(fragment.mContainer, new AnonymousClass2(arrayList)); } } private static FragmentTransitionImpl resolveSupportImpl() { try { return (FragmentTransitionImpl) Class.forName("androidx.transition.FragmentTransitionSupport").getDeclaredConstructor(new Class[0]).newInstance(new Object[0]); } catch (Exception unused) { return null; } } public static void retainValues(@NonNull ArrayMap arrayMap, @NonNull ArrayMap arrayMap2) { for (int size = arrayMap.size() - 1; size >= 0; size--) { if (!arrayMap2.containsKey(arrayMap.valueAt(size))) { arrayMap.removeAt(size); } } } private static void scheduleTargetChange(FragmentTransitionImpl fragmentTransitionImpl, ViewGroup viewGroup, Fragment fragment, View view, ArrayList arrayList, Object obj, ArrayList arrayList2, Object obj2, ArrayList arrayList3) { OneShotPreDrawListener.add(viewGroup, new AnonymousClass4(obj, fragmentTransitionImpl, view, fragment, arrayList, arrayList2, arrayList3, obj2)); } private static void setOutEpicenter(FragmentTransitionImpl fragmentTransitionImpl, Object obj, Object obj2, ArrayMap arrayMap, boolean z2, BackStackRecord backStackRecord) { ArrayList arrayList = backStackRecord.mSharedElementSourceNames; if (arrayList != null && !arrayList.isEmpty()) { View view = arrayMap.get(z2 ? backStackRecord.mSharedElementTargetNames.get(0) : backStackRecord.mSharedElementSourceNames.get(0)); fragmentTransitionImpl.setEpicenter(obj, view); if (obj2 != null) { fragmentTransitionImpl.setEpicenter(obj2, view); } } } public static void setViewVisibility(ArrayList arrayList, int i) { if (arrayList != null) { for (int size = arrayList.size() - 1; size >= 0; size--) { arrayList.get(size).setVisibility(i); } } } public static void startTransitions(@NonNull Context context, @NonNull FragmentContainer fragmentContainer, ArrayList arrayList, ArrayList arrayList2, int i, int i2, boolean z2, Callback callback) { ViewGroup viewGroup; SparseArray sparseArray = new SparseArray(); for (int i3 = i; i3 < i2; i3++) { BackStackRecord backStackRecord = arrayList.get(i3); if (arrayList2.get(i3).booleanValue()) { calculatePopFragments(backStackRecord, sparseArray, z2); } else { calculateFragments(backStackRecord, sparseArray, z2); } } if (sparseArray.size() != 0) { View view = new View(context); int size = sparseArray.size(); for (int i4 = 0; i4 < size; i4++) { int keyAt = sparseArray.keyAt(i4); ArrayMap calculateNameOverrides = calculateNameOverrides(keyAt, arrayList, arrayList2, i, i2); FragmentContainerTransition fragmentContainerTransition = (FragmentContainerTransition) sparseArray.valueAt(i4); if (fragmentContainer.onHasView() && (viewGroup = (ViewGroup) fragmentContainer.onFindViewById(keyAt)) != null) { if (z2) { configureTransitionsReordered(viewGroup, fragmentContainerTransition, view, calculateNameOverrides, callback); } else { configureTransitionsOrdered(viewGroup, fragmentContainerTransition, view, calculateNameOverrides, callback); } } } } } public static boolean supportsTransition() { return (PLATFORM_IMPL == null && SUPPORT_IMPL == null) ? false : true; } }