Rabbit-R1/original r1/java/sources/androidx/transition/FragmentTransitionSupport.java
2024-05-21 17:08:36 -04:00

297 lines
12 KiB
Java

package androidx.transition;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
import androidx.core.os.CancellationSignal;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransitionImpl;
import androidx.transition.Transition;
import java.util.ArrayList;
import java.util.List;
/* loaded from: classes2.dex */
public class FragmentTransitionSupport extends FragmentTransitionImpl {
@Override // androidx.fragment.app.FragmentTransitionImpl
public boolean canHandle(Object obj) {
return obj instanceof Transition;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public Object cloneTransition(Object obj) {
if (obj != null) {
return ((Transition) obj).mo5320clone();
}
return null;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public Object wrapTransitionInSet(Object obj) {
if (obj == null) {
return null;
}
TransitionSet transitionSet = new TransitionSet();
transitionSet.addTransition((Transition) obj);
return transitionSet;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void setSharedElementTargets(Object obj, View view, ArrayList<View> arrayList) {
TransitionSet transitionSet = (TransitionSet) obj;
List<View> targets = transitionSet.getTargets();
targets.clear();
int size = arrayList.size();
for (int i = 0; i < size; i++) {
bfsAddViewChildren(targets, arrayList.get(i));
}
targets.add(view);
arrayList.add(view);
addTargets(transitionSet, arrayList);
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void setEpicenter(Object obj, View view) {
if (view != null) {
final Rect rect = new Rect();
getBoundsOnScreen(view, rect);
((Transition) obj).setEpicenterCallback(new Transition.EpicenterCallback() { // from class: androidx.transition.FragmentTransitionSupport.1
@Override // androidx.transition.Transition.EpicenterCallback
public Rect onGetEpicenter(Transition transition) {
return rect;
}
});
}
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void addTargets(Object obj, ArrayList<View> arrayList) {
Transition transition = (Transition) obj;
if (transition == null) {
return;
}
int i = 0;
if (transition instanceof TransitionSet) {
TransitionSet transitionSet = (TransitionSet) transition;
int transitionCount = transitionSet.getTransitionCount();
while (i < transitionCount) {
addTargets(transitionSet.getTransitionAt(i), arrayList);
i++;
}
return;
}
if (hasSimpleTarget(transition) || !isNullOrEmpty(transition.getTargets())) {
return;
}
int size = arrayList.size();
while (i < size) {
transition.addTarget(arrayList.get(i));
i++;
}
}
private static boolean hasSimpleTarget(Transition transition) {
return (isNullOrEmpty(transition.getTargetIds()) && isNullOrEmpty(transition.getTargetNames()) && isNullOrEmpty(transition.getTargetTypes())) ? false : true;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public Object mergeTransitionsTogether(Object obj, Object obj2, Object obj3) {
TransitionSet transitionSet = new TransitionSet();
if (obj != null) {
transitionSet.addTransition((Transition) obj);
}
if (obj2 != null) {
transitionSet.addTransition((Transition) obj2);
}
if (obj3 != null) {
transitionSet.addTransition((Transition) obj3);
}
return transitionSet;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void scheduleHideFragmentView(Object obj, final View view, final ArrayList<View> arrayList) {
((Transition) obj).addListener(new Transition.TransitionListener() { // from class: androidx.transition.FragmentTransitionSupport.2
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionCancel(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionPause(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionResume(Transition transition) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionStart(Transition transition) {
transition.removeListener(this);
transition.addListener(this);
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionEnd(Transition transition) {
transition.removeListener(this);
view.setVisibility(8);
int size = arrayList.size();
for (int i = 0; i < size; i++) {
((View) arrayList.get(i)).setVisibility(0);
}
}
});
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public Object mergeTransitionsInSequence(Object obj, Object obj2, Object obj3) {
Transition transition = (Transition) obj;
Transition transition2 = (Transition) obj2;
Transition transition3 = (Transition) obj3;
if (transition != null && transition2 != null) {
transition = new TransitionSet().addTransition(transition).addTransition(transition2).setOrdering(1);
} else if (transition == null) {
transition = transition2 != null ? transition2 : null;
}
if (transition3 == null) {
return transition;
}
TransitionSet transitionSet = new TransitionSet();
if (transition != null) {
transitionSet.addTransition(transition);
}
transitionSet.addTransition(transition3);
return transitionSet;
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void beginDelayedTransition(ViewGroup viewGroup, Object obj) {
TransitionManager.beginDelayedTransition(viewGroup, (Transition) obj);
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void scheduleRemoveTargets(Object obj, final Object obj2, final ArrayList<View> arrayList, final Object obj3, final ArrayList<View> arrayList2, final Object obj4, final ArrayList<View> arrayList3) {
((Transition) obj).addListener(new TransitionListenerAdapter() { // from class: androidx.transition.FragmentTransitionSupport.3
@Override // androidx.transition.TransitionListenerAdapter, androidx.transition.Transition.TransitionListener
public void onTransitionStart(Transition transition) {
Object obj5 = obj2;
if (obj5 != null) {
FragmentTransitionSupport.this.replaceTargets(obj5, arrayList, null);
}
Object obj6 = obj3;
if (obj6 != null) {
FragmentTransitionSupport.this.replaceTargets(obj6, arrayList2, null);
}
Object obj7 = obj4;
if (obj7 != null) {
FragmentTransitionSupport.this.replaceTargets(obj7, arrayList3, null);
}
}
@Override // androidx.transition.TransitionListenerAdapter, androidx.transition.Transition.TransitionListener
public void onTransitionEnd(Transition transition) {
transition.removeListener(this);
}
});
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void setListenerForTransitionEnd(Fragment fragment, Object obj, CancellationSignal cancellationSignal, final Runnable runnable) {
final Transition transition = (Transition) obj;
cancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() { // from class: androidx.transition.FragmentTransitionSupport.4
@Override // androidx.core.os.CancellationSignal.OnCancelListener
public void onCancel() {
transition.cancel();
}
});
transition.addListener(new Transition.TransitionListener() { // from class: androidx.transition.FragmentTransitionSupport.5
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionCancel(Transition transition2) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionPause(Transition transition2) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionResume(Transition transition2) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionStart(Transition transition2) {
}
@Override // androidx.transition.Transition.TransitionListener
public void onTransitionEnd(Transition transition2) {
runnable.run();
}
});
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void swapSharedElementTargets(Object obj, ArrayList<View> arrayList, ArrayList<View> arrayList2) {
TransitionSet transitionSet = (TransitionSet) obj;
if (transitionSet != null) {
transitionSet.getTargets().clear();
transitionSet.getTargets().addAll(arrayList2);
replaceTargets(transitionSet, arrayList, arrayList2);
}
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void replaceTargets(Object obj, ArrayList<View> arrayList, ArrayList<View> arrayList2) {
Transition transition = (Transition) obj;
int i = 0;
if (transition instanceof TransitionSet) {
TransitionSet transitionSet = (TransitionSet) transition;
int transitionCount = transitionSet.getTransitionCount();
while (i < transitionCount) {
replaceTargets(transitionSet.getTransitionAt(i), arrayList, arrayList2);
i++;
}
return;
}
if (hasSimpleTarget(transition)) {
return;
}
List<View> targets = transition.getTargets();
if (targets.size() == arrayList.size() && targets.containsAll(arrayList)) {
int size = arrayList2 == null ? 0 : arrayList2.size();
while (i < size) {
transition.addTarget(arrayList2.get(i));
i++;
}
for (int size2 = arrayList.size() - 1; size2 >= 0; size2--) {
transition.removeTarget(arrayList.get(size2));
}
}
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void addTarget(Object obj, View view) {
if (obj != null) {
((Transition) obj).addTarget(view);
}
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void removeTarget(Object obj, View view) {
if (obj != null) {
((Transition) obj).removeTarget(view);
}
}
@Override // androidx.fragment.app.FragmentTransitionImpl
public void setEpicenter(Object obj, final Rect rect) {
if (obj != null) {
((Transition) obj).setEpicenterCallback(new Transition.EpicenterCallback() { // from class: androidx.transition.FragmentTransitionSupport.6
@Override // androidx.transition.Transition.EpicenterCallback
public Rect onGetEpicenter(Transition transition) {
Rect rect2 = rect;
if (rect2 == null || rect2.isEmpty()) {
return null;
}
return rect;
}
});
}
}
}