discord-jadx/app/src/main/java/androidx/fragment/app/DefaultSpecialEffectsContro...

886 lines
43 KiB
Java

package androidx.fragment.app;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.graphics.Rect;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.collection.ArrayMap;
import androidx.core.app.SharedElementCallback;
import androidx.core.os.CancellationSignal;
import androidx.core.util.Preconditions;
import androidx.core.view.OneShotPreDrawListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.ViewGroupCompat;
import androidx.fragment.app.FragmentAnim;
import androidx.fragment.app.SpecialEffectsController;
import c.d.b.a.a;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class DefaultSpecialEffectsController extends SpecialEffectsController {
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public final /* synthetic */ List val$awaitingContainerChanges;
public final /* synthetic */ SpecialEffectsController.Operation val$operation;
public AnonymousClass1(List list, SpecialEffectsController.Operation operation) {
this.val$awaitingContainerChanges = list;
this.val$operation = operation;
}
@Override // java.lang.Runnable
public void run() {
if (this.val$awaitingContainerChanges.contains(this.val$operation)) {
this.val$awaitingContainerChanges.remove(this.val$operation);
DefaultSpecialEffectsController.this.applyContainerChanges(this.val$operation);
}
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$10 reason: invalid class name */
public static /* synthetic */ class AnonymousClass10 {
public static final /* synthetic */ int[] $SwitchMap$androidx$fragment$app$SpecialEffectsController$Operation$State;
static {
SpecialEffectsController.Operation.State.values();
int[] iArr = new int[4];
$SwitchMap$androidx$fragment$app$SpecialEffectsController$Operation$State = iArr;
try {
iArr[SpecialEffectsController.Operation.State.GONE.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$androidx$fragment$app$SpecialEffectsController$Operation$State[SpecialEffectsController.Operation.State.INVISIBLE.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$androidx$fragment$app$SpecialEffectsController$Operation$State[SpecialEffectsController.Operation.State.REMOVED.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$androidx$fragment$app$SpecialEffectsController$Operation$State[SpecialEffectsController.Operation.State.VISIBLE.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$2 reason: invalid class name */
public class AnonymousClass2 extends AnimatorListenerAdapter {
public final /* synthetic */ AnimationInfo val$animationInfo;
public final /* synthetic */ ViewGroup val$container;
public final /* synthetic */ boolean val$isHideOperation;
public final /* synthetic */ SpecialEffectsController.Operation val$operation;
public final /* synthetic */ View val$viewToAnimate;
public AnonymousClass2(ViewGroup viewGroup, View view, boolean z2, SpecialEffectsController.Operation operation, AnimationInfo animationInfo) {
this.val$container = viewGroup;
this.val$viewToAnimate = view;
this.val$isHideOperation = z2;
this.val$operation = operation;
this.val$animationInfo = animationInfo;
}
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
public void onAnimationEnd(Animator animator) {
this.val$container.endViewTransition(this.val$viewToAnimate);
if (this.val$isHideOperation) {
this.val$operation.getFinalState().applyState(this.val$viewToAnimate);
}
this.val$animationInfo.completeSpecialEffect();
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$3 reason: invalid class name */
public class AnonymousClass3 implements CancellationSignal.OnCancelListener {
public final /* synthetic */ Animator val$animator;
public AnonymousClass3(Animator animator) {
this.val$animator = animator;
}
@Override // androidx.core.os.CancellationSignal.OnCancelListener
public void onCancel() {
this.val$animator.end();
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$4 reason: invalid class name */
public class AnonymousClass4 implements Animation.AnimationListener {
public final /* synthetic */ AnimationInfo val$animationInfo;
public final /* synthetic */ ViewGroup val$container;
public final /* synthetic */ View val$viewToAnimate;
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$4$1 reason: invalid class name */
public class AnonymousClass1 implements Runnable {
public AnonymousClass1() {
}
@Override // java.lang.Runnable
public void run() {
AnonymousClass4 r0 = AnonymousClass4.this;
r0.val$container.endViewTransition(r0.val$viewToAnimate);
AnonymousClass4.this.val$animationInfo.completeSpecialEffect();
}
}
public AnonymousClass4(ViewGroup viewGroup, View view, AnimationInfo animationInfo) {
this.val$container = viewGroup;
this.val$viewToAnimate = view;
this.val$animationInfo = animationInfo;
}
@Override // android.view.animation.Animation.AnimationListener
public void onAnimationEnd(Animation animation) {
this.val$container.post(new AnonymousClass1());
}
@Override // android.view.animation.Animation.AnimationListener
public void onAnimationRepeat(Animation animation) {
}
@Override // android.view.animation.Animation.AnimationListener
public void onAnimationStart(Animation animation) {
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$5 reason: invalid class name */
public class AnonymousClass5 implements CancellationSignal.OnCancelListener {
public final /* synthetic */ AnimationInfo val$animationInfo;
public final /* synthetic */ ViewGroup val$container;
public final /* synthetic */ View val$viewToAnimate;
public AnonymousClass5(View view, ViewGroup viewGroup, AnimationInfo animationInfo) {
this.val$viewToAnimate = view;
this.val$container = viewGroup;
this.val$animationInfo = animationInfo;
}
@Override // androidx.core.os.CancellationSignal.OnCancelListener
public void onCancel() {
this.val$viewToAnimate.clearAnimation();
this.val$container.endViewTransition(this.val$viewToAnimate);
this.val$animationInfo.completeSpecialEffect();
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$6 reason: invalid class name */
public class AnonymousClass6 implements Runnable {
public final /* synthetic */ SpecialEffectsController.Operation val$firstOut;
public final /* synthetic */ boolean val$isPop;
public final /* synthetic */ SpecialEffectsController.Operation val$lastIn;
public final /* synthetic */ ArrayMap val$lastInViews;
public AnonymousClass6(SpecialEffectsController.Operation operation, SpecialEffectsController.Operation operation2, boolean z2, ArrayMap arrayMap) {
this.val$lastIn = operation;
this.val$firstOut = operation2;
this.val$isPop = z2;
this.val$lastInViews = arrayMap;
}
@Override // java.lang.Runnable
public void run() {
FragmentTransition.callSharedElementStartEnd(this.val$lastIn.getFragment(), this.val$firstOut.getFragment(), this.val$isPop, this.val$lastInViews, false);
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$7 reason: invalid class name */
public class AnonymousClass7 implements Runnable {
public final /* synthetic */ FragmentTransitionImpl val$impl;
public final /* synthetic */ Rect val$lastInEpicenterRect;
public final /* synthetic */ View val$lastInEpicenterView;
public AnonymousClass7(FragmentTransitionImpl fragmentTransitionImpl, View view, Rect rect) {
this.val$impl = fragmentTransitionImpl;
this.val$lastInEpicenterView = view;
this.val$lastInEpicenterRect = rect;
}
@Override // java.lang.Runnable
public void run() {
this.val$impl.getBoundsOnScreen(this.val$lastInEpicenterView, this.val$lastInEpicenterRect);
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$8 reason: invalid class name */
public class AnonymousClass8 implements Runnable {
public final /* synthetic */ ArrayList val$transitioningViews;
public AnonymousClass8(ArrayList arrayList) {
this.val$transitioningViews = arrayList;
}
@Override // java.lang.Runnable
public void run() {
FragmentTransition.setViewVisibility(this.val$transitioningViews, 4);
}
}
/* renamed from: androidx.fragment.app.DefaultSpecialEffectsController$9 reason: invalid class name */
public class AnonymousClass9 implements Runnable {
public final /* synthetic */ TransitionInfo val$transitionInfo;
public AnonymousClass9(TransitionInfo transitionInfo) {
this.val$transitionInfo = transitionInfo;
}
@Override // java.lang.Runnable
public void run() {
this.val$transitionInfo.completeSpecialEffect();
}
}
public static class AnimationInfo extends SpecialEffectsInfo {
@Nullable
private FragmentAnim.AnimationOrAnimator mAnimation;
private boolean mLoadedAnim = false;
public AnimationInfo(@NonNull SpecialEffectsController.Operation operation, @NonNull CancellationSignal cancellationSignal) {
super(operation, cancellationSignal);
}
@Nullable
public FragmentAnim.AnimationOrAnimator getAnimation(@NonNull Context context) {
if (this.mLoadedAnim) {
return this.mAnimation;
}
FragmentAnim.AnimationOrAnimator loadAnimation = FragmentAnim.loadAnimation(context, getOperation().getFragment(), getOperation().getFinalState() == SpecialEffectsController.Operation.State.VISIBLE);
this.mAnimation = loadAnimation;
this.mLoadedAnim = true;
return loadAnimation;
}
}
public static class SpecialEffectsInfo {
@NonNull
private final SpecialEffectsController.Operation mOperation;
@NonNull
private final CancellationSignal mSignal;
public SpecialEffectsInfo(@NonNull SpecialEffectsController.Operation operation, @NonNull CancellationSignal cancellationSignal) {
this.mOperation = operation;
this.mSignal = cancellationSignal;
}
public void completeSpecialEffect() {
this.mOperation.completeSpecialEffect(this.mSignal);
}
@NonNull
public SpecialEffectsController.Operation getOperation() {
return this.mOperation;
}
@NonNull
public CancellationSignal getSignal() {
return this.mSignal;
}
public boolean isVisibilityUnchanged() {
SpecialEffectsController.Operation.State state;
SpecialEffectsController.Operation.State from = SpecialEffectsController.Operation.State.from(this.mOperation.getFragment().mView);
SpecialEffectsController.Operation.State finalState = this.mOperation.getFinalState();
return from == finalState || !(from == (state = SpecialEffectsController.Operation.State.VISIBLE) || finalState == state);
}
}
public static class TransitionInfo extends SpecialEffectsInfo {
private final boolean mOverlapAllowed;
@Nullable
private final Object mSharedElementTransition;
@Nullable
private final Object mTransition;
public TransitionInfo(@NonNull SpecialEffectsController.Operation operation, @NonNull CancellationSignal cancellationSignal, boolean z2, boolean z3) {
super(operation, cancellationSignal);
if (operation.getFinalState() == SpecialEffectsController.Operation.State.VISIBLE) {
this.mTransition = z2 ? operation.getFragment().getReenterTransition() : operation.getFragment().getEnterTransition();
this.mOverlapAllowed = z2 ? operation.getFragment().getAllowReturnTransitionOverlap() : operation.getFragment().getAllowEnterTransitionOverlap();
} else {
this.mTransition = z2 ? operation.getFragment().getReturnTransition() : operation.getFragment().getExitTransition();
this.mOverlapAllowed = true;
}
if (!z3) {
this.mSharedElementTransition = null;
} else if (z2) {
this.mSharedElementTransition = operation.getFragment().getSharedElementReturnTransition();
} else {
this.mSharedElementTransition = operation.getFragment().getSharedElementEnterTransition();
}
}
@Nullable
private FragmentTransitionImpl getHandlingImpl(Object obj) {
if (obj == null) {
return null;
}
FragmentTransitionImpl fragmentTransitionImpl = FragmentTransition.PLATFORM_IMPL;
if (fragmentTransitionImpl != null && fragmentTransitionImpl.canHandle(obj)) {
return fragmentTransitionImpl;
}
FragmentTransitionImpl fragmentTransitionImpl2 = FragmentTransition.SUPPORT_IMPL;
if (fragmentTransitionImpl2 != null && fragmentTransitionImpl2.canHandle(obj)) {
return fragmentTransitionImpl2;
}
throw new IllegalArgumentException("Transition " + obj + " for fragment " + getOperation().getFragment() + " is not a valid framework Transition or AndroidX Transition");
}
@Nullable
public FragmentTransitionImpl getHandlingImpl() {
FragmentTransitionImpl handlingImpl = getHandlingImpl(this.mTransition);
FragmentTransitionImpl handlingImpl2 = getHandlingImpl(this.mSharedElementTransition);
if (handlingImpl == null || handlingImpl2 == null || handlingImpl == handlingImpl2) {
return handlingImpl != null ? handlingImpl : handlingImpl2;
}
StringBuilder L = a.L("Mixing framework transitions and AndroidX transitions is not allowed. Fragment ");
L.append(getOperation().getFragment());
L.append(" returned Transition ");
L.append(this.mTransition);
L.append(" which uses a different Transition type than its shared element transition ");
L.append(this.mSharedElementTransition);
throw new IllegalArgumentException(L.toString());
}
@Nullable
public Object getSharedElementTransition() {
return this.mSharedElementTransition;
}
@Nullable
public Object getTransition() {
return this.mTransition;
}
public boolean hasSharedElementTransition() {
return this.mSharedElementTransition != null;
}
public boolean isOverlapAllowed() {
return this.mOverlapAllowed;
}
}
public DefaultSpecialEffectsController(@NonNull ViewGroup viewGroup) {
super(viewGroup);
}
private void startAnimations(@NonNull List<AnimationInfo> list, @NonNull List<SpecialEffectsController.Operation> list2, boolean z2, @NonNull Map<SpecialEffectsController.Operation, Boolean> map) {
ViewGroup container = getContainer();
Context context = container.getContext();
ArrayList arrayList = new ArrayList();
boolean z3 = false;
for (AnimationInfo animationInfo : list) {
if (animationInfo.isVisibilityUnchanged()) {
animationInfo.completeSpecialEffect();
} else {
FragmentAnim.AnimationOrAnimator animation = animationInfo.getAnimation(context);
if (animation == null) {
animationInfo.completeSpecialEffect();
} else {
Animator animator = animation.animator;
if (animator == null) {
arrayList.add(animationInfo);
} else {
SpecialEffectsController.Operation operation = animationInfo.getOperation();
Fragment fragment = operation.getFragment();
if (Boolean.TRUE.equals(map.get(operation))) {
if (FragmentManager.isLoggingEnabled(2)) {
Log.v("FragmentManager", "Ignoring Animator set on " + fragment + " as this Fragment was involved in a Transition.");
}
animationInfo.completeSpecialEffect();
} else {
boolean z4 = operation.getFinalState() == SpecialEffectsController.Operation.State.GONE;
if (z4) {
list2.remove(operation);
}
View view = fragment.mView;
container.startViewTransition(view);
animator.addListener(new AnonymousClass2(container, view, z4, operation, animationInfo));
animator.setTarget(view);
animator.start();
animationInfo.getSignal().setOnCancelListener(new AnonymousClass3(animator));
z3 = true;
}
}
}
}
}
Iterator it = arrayList.iterator();
while (it.hasNext()) {
AnimationInfo animationInfo2 = (AnimationInfo) it.next();
SpecialEffectsController.Operation operation2 = animationInfo2.getOperation();
Fragment fragment2 = operation2.getFragment();
if (z2) {
if (FragmentManager.isLoggingEnabled(2)) {
Log.v("FragmentManager", "Ignoring Animation set on " + fragment2 + " as Animations cannot run alongside Transitions.");
}
animationInfo2.completeSpecialEffect();
} else if (z3) {
if (FragmentManager.isLoggingEnabled(2)) {
Log.v("FragmentManager", "Ignoring Animation set on " + fragment2 + " as Animations cannot run alongside Animators.");
}
animationInfo2.completeSpecialEffect();
} else {
View view2 = fragment2.mView;
Animation animation2 = (Animation) Preconditions.checkNotNull(((FragmentAnim.AnimationOrAnimator) Preconditions.checkNotNull(animationInfo2.getAnimation(context))).animation);
if (operation2.getFinalState() != SpecialEffectsController.Operation.State.REMOVED) {
view2.startAnimation(animation2);
animationInfo2.completeSpecialEffect();
} else {
container.startViewTransition(view2);
FragmentAnim.EndViewTransitionAnimation endViewTransitionAnimation = new FragmentAnim.EndViewTransitionAnimation(animation2, container, view2);
endViewTransitionAnimation.setAnimationListener(new AnonymousClass4(container, view2, animationInfo2));
view2.startAnimation(endViewTransitionAnimation);
}
animationInfo2.getSignal().setOnCancelListener(new AnonymousClass5(view2, container, animationInfo2));
}
}
}
@NonNull
private Map<SpecialEffectsController.Operation, Boolean> startTransitions(@NonNull List<TransitionInfo> list, boolean z2, @Nullable SpecialEffectsController.Operation operation, @Nullable SpecialEffectsController.Operation operation2) {
View view;
ArrayList arrayList;
HashMap hashMap;
Object obj;
View view2;
Rect rect;
SpecialEffectsController.Operation operation3;
HashMap hashMap2;
Rect rect2;
ArrayList arrayList2;
Object obj2;
Object obj3;
View view3;
ArrayList<View> arrayList3;
View view4;
HashMap hashMap3;
Rect rect3;
View view5;
ArrayList<View> arrayList4;
ArrayList<View> arrayList5;
ArrayMap arrayMap;
FragmentTransitionImpl fragmentTransitionImpl;
SharedElementCallback sharedElementCallback;
SharedElementCallback sharedElementCallback2;
ArrayList<String> arrayList6;
View view6;
String findKeyForValue;
ArrayList<String> arrayList7;
boolean z3 = z2;
HashMap hashMap4 = new HashMap();
FragmentTransitionImpl fragmentTransitionImpl2 = null;
for (TransitionInfo transitionInfo : list) {
if (!transitionInfo.isVisibilityUnchanged()) {
FragmentTransitionImpl handlingImpl = transitionInfo.getHandlingImpl();
if (fragmentTransitionImpl2 == null) {
fragmentTransitionImpl2 = handlingImpl;
} else if (!(handlingImpl == null || fragmentTransitionImpl2 == handlingImpl)) {
StringBuilder L = a.L("Mixing framework transitions and AndroidX transitions is not allowed. Fragment ");
L.append(transitionInfo.getOperation().getFragment());
L.append(" returned Transition ");
L.append(transitionInfo.getTransition());
L.append(" which uses a different Transition type than other Fragments.");
throw new IllegalArgumentException(L.toString());
}
}
}
if (fragmentTransitionImpl2 == null) {
for (TransitionInfo transitionInfo2 : list) {
hashMap4.put(transitionInfo2.getOperation(), Boolean.FALSE);
transitionInfo2.completeSpecialEffect();
}
return hashMap4;
}
View view7 = new View(getContainer().getContext());
Rect rect4 = new Rect();
ArrayList<View> arrayList8 = new ArrayList<>();
ArrayList<View> arrayList9 = new ArrayList<>();
ArrayMap arrayMap2 = new ArrayMap();
Object obj4 = null;
SpecialEffectsController.Operation operation4 = operation2;
View view8 = null;
boolean z4 = false;
SpecialEffectsController.Operation operation5 = operation;
for (TransitionInfo transitionInfo3 : list) {
if (!transitionInfo3.hasSharedElementTransition() || operation5 == null || operation4 == null) {
view4 = view8;
arrayMap = arrayMap2;
arrayList5 = arrayList9;
arrayList4 = arrayList8;
fragmentTransitionImpl = fragmentTransitionImpl2;
} else {
Object wrapTransitionInSet = fragmentTransitionImpl2.wrapTransitionInSet(fragmentTransitionImpl2.cloneTransition(transitionInfo3.getSharedElementTransition()));
ArrayList<String> sharedElementSourceNames = operation2.getFragment().getSharedElementSourceNames();
ArrayList<String> sharedElementSourceNames2 = operation.getFragment().getSharedElementSourceNames();
int i = 0;
for (ArrayList<String> sharedElementTargetNames = operation.getFragment().getSharedElementTargetNames(); i < sharedElementTargetNames.size(); sharedElementTargetNames = sharedElementTargetNames) {
int indexOf = sharedElementSourceNames.indexOf(sharedElementTargetNames.get(i));
if (indexOf != -1) {
sharedElementSourceNames.set(indexOf, sharedElementSourceNames2.get(i));
}
i++;
}
ArrayList<String> sharedElementTargetNames2 = operation2.getFragment().getSharedElementTargetNames();
if (!z3) {
sharedElementCallback2 = operation.getFragment().getExitTransitionCallback();
sharedElementCallback = operation2.getFragment().getEnterTransitionCallback();
} else {
sharedElementCallback2 = operation.getFragment().getEnterTransitionCallback();
sharedElementCallback = operation2.getFragment().getExitTransitionCallback();
}
int size = sharedElementSourceNames.size();
int i2 = 0;
while (i2 < size) {
arrayMap2.put(sharedElementSourceNames.get(i2), sharedElementTargetNames2.get(i2));
i2++;
size = size;
view8 = view8;
}
view4 = view8;
ArrayMap<String, View> arrayMap3 = new ArrayMap<>();
findNamedViews(arrayMap3, operation.getFragment().mView);
arrayMap3.retainAll(sharedElementSourceNames);
if (sharedElementCallback2 != null) {
sharedElementCallback2.onMapSharedElements(sharedElementSourceNames, arrayMap3);
int size2 = sharedElementSourceNames.size() - 1;
while (size2 >= 0) {
String str = sharedElementSourceNames.get(size2);
View view9 = arrayMap3.get(str);
if (view9 == null) {
arrayMap2.remove(str);
arrayList7 = sharedElementSourceNames;
} else {
arrayList7 = sharedElementSourceNames;
if (!str.equals(ViewCompat.getTransitionName(view9))) {
arrayMap2.put(ViewCompat.getTransitionName(view9), (String) arrayMap2.remove(str));
}
}
size2--;
sharedElementSourceNames = arrayList7;
}
arrayList6 = sharedElementSourceNames;
} else {
arrayList6 = sharedElementSourceNames;
arrayMap2.retainAll(arrayMap3.keySet());
}
ArrayMap<String, View> arrayMap4 = new ArrayMap<>();
findNamedViews(arrayMap4, operation2.getFragment().mView);
arrayMap4.retainAll(sharedElementTargetNames2);
arrayMap4.retainAll(arrayMap2.values());
if (sharedElementCallback != null) {
sharedElementCallback.onMapSharedElements(sharedElementTargetNames2, arrayMap4);
for (int size3 = sharedElementTargetNames2.size() - 1; size3 >= 0; size3--) {
String str2 = sharedElementTargetNames2.get(size3);
View view10 = arrayMap4.get(str2);
if (view10 == null) {
String findKeyForValue2 = FragmentTransition.findKeyForValue(arrayMap2, str2);
if (findKeyForValue2 != null) {
arrayMap2.remove(findKeyForValue2);
}
} else if (!str2.equals(ViewCompat.getTransitionName(view10)) && (findKeyForValue = FragmentTransition.findKeyForValue(arrayMap2, str2)) != null) {
arrayMap2.put(findKeyForValue, ViewCompat.getTransitionName(view10));
}
}
} else {
FragmentTransition.retainValues(arrayMap2, arrayMap4);
}
retainMatchingViews(arrayMap3, arrayMap2.keySet());
retainMatchingViews(arrayMap4, arrayMap2.values());
if (arrayMap2.isEmpty()) {
arrayList8.clear();
arrayList9.clear();
obj4 = null;
operation5 = operation;
operation4 = operation2;
arrayMap = arrayMap2;
arrayList5 = arrayList9;
arrayList4 = arrayList8;
fragmentTransitionImpl = fragmentTransitionImpl2;
} else {
FragmentTransition.callSharedElementStartEnd(operation2.getFragment(), operation.getFragment(), z3, arrayMap3, true);
OneShotPreDrawListener.add(getContainer(), new AnonymousClass6(operation2, operation, z2, arrayMap4));
for (View view11 : arrayMap3.values()) {
captureTransitioningViews(arrayList8, view11);
}
if (!arrayList6.isEmpty()) {
View view12 = arrayMap3.get(arrayList6.get(0));
fragmentTransitionImpl2.setEpicenter(wrapTransitionInSet, view12);
view4 = view12;
}
for (View view13 : arrayMap4.values()) {
captureTransitioningViews(arrayList9, view13);
}
if (!sharedElementTargetNames2.isEmpty() && (view6 = arrayMap4.get(sharedElementTargetNames2.get(0))) != null) {
OneShotPreDrawListener.add(getContainer(), new AnonymousClass7(fragmentTransitionImpl2, view6, rect4));
z4 = true;
}
fragmentTransitionImpl2.setSharedElementTargets(wrapTransitionInSet, view7, arrayList8);
arrayMap = arrayMap2;
arrayList5 = arrayList9;
arrayList4 = arrayList8;
fragmentTransitionImpl = fragmentTransitionImpl2;
fragmentTransitionImpl2.scheduleRemoveTargets(wrapTransitionInSet, null, null, null, null, wrapTransitionInSet, arrayList5);
Boolean bool = Boolean.TRUE;
hashMap3 = hashMap4;
hashMap3.put(operation, bool);
hashMap3.put(operation2, bool);
rect3 = rect4;
obj4 = wrapTransitionInSet;
operation4 = operation2;
view5 = view7;
operation5 = operation;
arrayMap2 = arrayMap;
arrayList9 = arrayList5;
arrayList8 = arrayList4;
rect4 = rect3;
view8 = view4;
z3 = z2;
view7 = view5;
hashMap4 = hashMap3;
fragmentTransitionImpl2 = fragmentTransitionImpl;
}
}
hashMap3 = hashMap4;
view5 = view7;
rect3 = rect4;
arrayMap2 = arrayMap;
arrayList9 = arrayList5;
arrayList8 = arrayList4;
rect4 = rect3;
view8 = view4;
z3 = z2;
view7 = view5;
hashMap4 = hashMap3;
fragmentTransitionImpl2 = fragmentTransitionImpl;
}
View view14 = view8;
HashMap hashMap5 = hashMap4;
View view15 = view7;
Rect rect5 = rect4;
ArrayList arrayList10 = new ArrayList();
Object obj5 = null;
Object obj6 = null;
for (TransitionInfo transitionInfo4 : list) {
if (transitionInfo4.isVisibilityUnchanged()) {
hashMap5.put(transitionInfo4.getOperation(), Boolean.FALSE);
transitionInfo4.completeSpecialEffect();
} else {
Object cloneTransition = fragmentTransitionImpl2.cloneTransition(transitionInfo4.getTransition());
SpecialEffectsController.Operation operation6 = transitionInfo4.getOperation();
boolean z5 = obj4 != null && (operation6 == operation5 || operation6 == operation4);
if (cloneTransition == null) {
if (!z5) {
hashMap5.put(operation6, Boolean.FALSE);
transitionInfo4.completeSpecialEffect();
}
view = view15;
rect = rect5;
hashMap = hashMap5;
arrayList = arrayList10;
obj = obj6;
view2 = view14;
} else {
ArrayList<View> arrayList11 = new ArrayList<>();
captureTransitioningViews(arrayList11, operation6.getFragment().mView);
if (z5) {
if (operation6 == operation5) {
arrayList11.removeAll(arrayList8);
} else {
arrayList11.removeAll(arrayList9);
}
}
if (arrayList11.isEmpty()) {
fragmentTransitionImpl2.addTarget(cloneTransition, view15);
obj3 = obj6;
operation3 = operation6;
obj2 = obj5;
arrayList2 = arrayList10;
rect2 = rect5;
arrayList3 = arrayList11;
view3 = view14;
hashMap2 = hashMap5;
} else {
fragmentTransitionImpl2.addTargets(cloneTransition, arrayList11);
operation3 = operation6;
obj3 = obj6;
view3 = view14;
obj2 = obj5;
arrayList2 = arrayList10;
rect2 = rect5;
hashMap2 = hashMap5;
fragmentTransitionImpl2.scheduleRemoveTargets(cloneTransition, cloneTransition, arrayList11, null, null, null, null);
if (operation3.getFinalState() == SpecialEffectsController.Operation.State.GONE) {
cloneTransition = cloneTransition;
arrayList3 = arrayList11;
fragmentTransitionImpl2.scheduleHideFragmentView(cloneTransition, operation3.getFragment().mView, arrayList3);
OneShotPreDrawListener.add(getContainer(), new AnonymousClass8(arrayList3));
} else {
cloneTransition = cloneTransition;
arrayList3 = arrayList11;
}
}
if (operation3.getFinalState() == SpecialEffectsController.Operation.State.VISIBLE) {
arrayList = arrayList2;
arrayList.addAll(arrayList3);
rect = rect2;
if (z4) {
fragmentTransitionImpl2.setEpicenter(cloneTransition, rect);
}
view2 = view3;
} else {
view2 = view3;
arrayList = arrayList2;
rect = rect2;
fragmentTransitionImpl2.setEpicenter(cloneTransition, view2);
}
hashMap = hashMap2;
hashMap.put(operation3, Boolean.TRUE);
if (transitionInfo4.isOverlapAllowed()) {
view = view15;
obj = fragmentTransitionImpl2.mergeTransitionsTogether(obj3, cloneTransition, null);
obj5 = obj2;
} else {
obj = obj3;
view = view15;
obj5 = fragmentTransitionImpl2.mergeTransitionsTogether(obj2, cloneTransition, null);
}
}
view14 = view2;
obj6 = obj;
arrayList10 = arrayList;
view15 = view;
hashMap5 = hashMap;
rect5 = rect;
}
}
Object mergeTransitionsInSequence = fragmentTransitionImpl2.mergeTransitionsInSequence(obj6, obj5, obj4);
for (TransitionInfo transitionInfo5 : list) {
if (!transitionInfo5.isVisibilityUnchanged()) {
Object transition = transitionInfo5.getTransition();
SpecialEffectsController.Operation operation7 = transitionInfo5.getOperation();
boolean z6 = obj4 != null && (operation7 == operation5 || operation7 == operation4);
if (transition != null || z6) {
fragmentTransitionImpl2.setListenerForTransitionEnd(transitionInfo5.getOperation().getFragment(), mergeTransitionsInSequence, transitionInfo5.getSignal(), new AnonymousClass9(transitionInfo5));
}
}
}
FragmentTransition.setViewVisibility(arrayList10, 4);
ArrayList<String> prepareSetNameOverridesReordered = fragmentTransitionImpl2.prepareSetNameOverridesReordered(arrayList9);
fragmentTransitionImpl2.beginDelayedTransition(getContainer(), mergeTransitionsInSequence);
fragmentTransitionImpl2.setNameOverridesReordered(getContainer(), arrayList8, arrayList9, prepareSetNameOverridesReordered, arrayMap2);
FragmentTransition.setViewVisibility(arrayList10, 0);
fragmentTransitionImpl2.swapSharedElementTargets(obj4, arrayList8, arrayList9);
return hashMap5;
}
public void applyContainerChanges(@NonNull SpecialEffectsController.Operation operation) {
operation.getFinalState().applyState(operation.getFragment().mView);
}
public void captureTransitioningViews(ArrayList<View> arrayList, View view) {
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
if (ViewGroupCompat.isTransitionGroup(viewGroup)) {
arrayList.add(viewGroup);
return;
}
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = viewGroup.getChildAt(i);
if (childAt.getVisibility() == 0) {
captureTransitioningViews(arrayList, childAt);
}
}
return;
}
arrayList.add(view);
}
@Override // androidx.fragment.app.SpecialEffectsController
public void executeOperations(@NonNull List<SpecialEffectsController.Operation> list, boolean z2) {
SpecialEffectsController.Operation operation = null;
SpecialEffectsController.Operation operation2 = null;
for (SpecialEffectsController.Operation operation3 : list) {
SpecialEffectsController.Operation.State from = SpecialEffectsController.Operation.State.from(operation3.getFragment().mView);
int ordinal = operation3.getFinalState().ordinal();
if (ordinal != 0) {
if (ordinal != 1) {
if (!(ordinal == 2 || ordinal == 3)) {
}
} else if (from != SpecialEffectsController.Operation.State.VISIBLE) {
operation2 = operation3;
}
}
if (from == SpecialEffectsController.Operation.State.VISIBLE && operation == null) {
operation = operation3;
}
}
ArrayList arrayList = new ArrayList();
ArrayList arrayList2 = new ArrayList();
ArrayList arrayList3 = new ArrayList(list);
for (SpecialEffectsController.Operation operation4 : list) {
CancellationSignal cancellationSignal = new CancellationSignal();
operation4.markStartedSpecialEffect(cancellationSignal);
arrayList.add(new AnimationInfo(operation4, cancellationSignal));
CancellationSignal cancellationSignal2 = new CancellationSignal();
operation4.markStartedSpecialEffect(cancellationSignal2);
boolean z3 = false;
if (z2) {
if (operation4 != operation) {
arrayList2.add(new TransitionInfo(operation4, cancellationSignal2, z2, z3));
operation4.addCompletionListener(new AnonymousClass1(arrayList3, operation4));
}
} else if (operation4 != operation2) {
arrayList2.add(new TransitionInfo(operation4, cancellationSignal2, z2, z3));
operation4.addCompletionListener(new AnonymousClass1(arrayList3, operation4));
}
z3 = true;
arrayList2.add(new TransitionInfo(operation4, cancellationSignal2, z2, z3));
operation4.addCompletionListener(new AnonymousClass1(arrayList3, operation4));
}
Map<SpecialEffectsController.Operation, Boolean> startTransitions = startTransitions(arrayList2, z2, operation, operation2);
startAnimations(arrayList, arrayList3, startTransitions.containsValue(Boolean.TRUE), startTransitions);
Iterator it = arrayList3.iterator();
while (it.hasNext()) {
applyContainerChanges((SpecialEffectsController.Operation) it.next());
}
arrayList3.clear();
}
public void findNamedViews(Map<String, View> map, @NonNull View view) {
String transitionName = ViewCompat.getTransitionName(view);
if (transitionName != null) {
map.put(transitionName, view);
}
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = viewGroup.getChildAt(i);
if (childAt.getVisibility() == 0) {
findNamedViews(map, childAt);
}
}
}
}
public void retainMatchingViews(@NonNull ArrayMap<String, View> arrayMap, @NonNull Collection<String> collection) {
Iterator<Map.Entry<String, View>> it = arrayMap.entrySet().iterator();
while (it.hasNext()) {
if (!collection.contains(ViewCompat.getTransitionName(it.next().getValue()))) {
it.remove();
}
}
}
}