353 lines
14 KiB
Java
353 lines
14 KiB
Java
package androidx.fragment.app;
|
|
|
|
import android.graphics.Rect;
|
|
import android.transition.Transition;
|
|
import android.transition.TransitionManager;
|
|
import android.transition.TransitionSet;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.RequiresApi;
|
|
import androidx.core.os.CancellationSignal;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
@RequiresApi(21)
|
|
public class FragmentTransitionCompat21 extends FragmentTransitionImpl {
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionCompat21$1 reason: invalid class name */
|
|
public class AnonymousClass1 extends Transition.EpicenterCallback {
|
|
public final /* synthetic */ Rect val$epicenter;
|
|
|
|
public AnonymousClass1(Rect rect) {
|
|
this.val$epicenter = rect;
|
|
}
|
|
|
|
@Override // android.transition.Transition.EpicenterCallback
|
|
public Rect onGetEpicenter(Transition transition) {
|
|
return this.val$epicenter;
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionCompat21$2 reason: invalid class name */
|
|
public class AnonymousClass2 implements Transition.TransitionListener {
|
|
public final /* synthetic */ ArrayList val$exitingViews;
|
|
public final /* synthetic */ View val$fragmentView;
|
|
|
|
public AnonymousClass2(View view, ArrayList arrayList) {
|
|
this.val$fragmentView = view;
|
|
this.val$exitingViews = arrayList;
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionCancel(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionEnd(Transition transition) {
|
|
transition.removeListener(this);
|
|
this.val$fragmentView.setVisibility(8);
|
|
int size = this.val$exitingViews.size();
|
|
for (int i = 0; i < size; i++) {
|
|
((View) this.val$exitingViews.get(i)).setVisibility(0);
|
|
}
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionPause(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionResume(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionStart(Transition transition) {
|
|
transition.removeListener(this);
|
|
transition.addListener(this);
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionCompat21$3 reason: invalid class name */
|
|
public class AnonymousClass3 implements Transition.TransitionListener {
|
|
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 */ Object val$sharedElementTransition;
|
|
public final /* synthetic */ ArrayList val$sharedElementsIn;
|
|
|
|
public AnonymousClass3(Object obj, ArrayList arrayList, Object obj2, ArrayList arrayList2, Object obj3, ArrayList arrayList3) {
|
|
this.val$enterTransition = obj;
|
|
this.val$enteringViews = arrayList;
|
|
this.val$exitTransition = obj2;
|
|
this.val$exitingViews = arrayList2;
|
|
this.val$sharedElementTransition = obj3;
|
|
this.val$sharedElementsIn = arrayList3;
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionCancel(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionEnd(Transition transition) {
|
|
transition.removeListener(this);
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionPause(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionResume(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionStart(Transition transition) {
|
|
Object obj = this.val$enterTransition;
|
|
if (obj != null) {
|
|
FragmentTransitionCompat21.this.replaceTargets(obj, this.val$enteringViews, null);
|
|
}
|
|
Object obj2 = this.val$exitTransition;
|
|
if (obj2 != null) {
|
|
FragmentTransitionCompat21.this.replaceTargets(obj2, this.val$exitingViews, null);
|
|
}
|
|
Object obj3 = this.val$sharedElementTransition;
|
|
if (obj3 != null) {
|
|
FragmentTransitionCompat21.this.replaceTargets(obj3, this.val$sharedElementsIn, null);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionCompat21$4 reason: invalid class name */
|
|
public class AnonymousClass4 implements Transition.TransitionListener {
|
|
public final /* synthetic */ Runnable val$transitionCompleteRunnable;
|
|
|
|
public AnonymousClass4(Runnable runnable) {
|
|
this.val$transitionCompleteRunnable = runnable;
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionCancel(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionEnd(Transition transition) {
|
|
this.val$transitionCompleteRunnable.run();
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionPause(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionResume(Transition transition) {
|
|
}
|
|
|
|
@Override // android.transition.Transition.TransitionListener
|
|
public void onTransitionStart(Transition transition) {
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionCompat21$5 reason: invalid class name */
|
|
public class AnonymousClass5 extends Transition.EpicenterCallback {
|
|
public final /* synthetic */ Rect val$epicenter;
|
|
|
|
public AnonymousClass5(Rect rect) {
|
|
this.val$epicenter = rect;
|
|
}
|
|
|
|
@Override // android.transition.Transition.EpicenterCallback
|
|
public Rect onGetEpicenter(Transition transition) {
|
|
Rect rect = this.val$epicenter;
|
|
if (rect == null || rect.isEmpty()) {
|
|
return null;
|
|
}
|
|
return this.val$epicenter;
|
|
}
|
|
}
|
|
|
|
private static boolean hasSimpleTarget(Transition transition) {
|
|
return !FragmentTransitionImpl.isNullOrEmpty(transition.getTargetIds()) || !FragmentTransitionImpl.isNullOrEmpty(transition.getTargetNames()) || !FragmentTransitionImpl.isNullOrEmpty(transition.getTargetTypes());
|
|
}
|
|
|
|
@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 addTargets(Object obj, ArrayList<View> arrayList) {
|
|
Transition transition = (Transition) obj;
|
|
if (transition != null) {
|
|
int i = 0;
|
|
if (transition instanceof TransitionSet) {
|
|
TransitionSet transitionSet = (TransitionSet) transition;
|
|
int transitionCount = transitionSet.getTransitionCount();
|
|
while (i < transitionCount) {
|
|
addTargets(transitionSet.getTransitionAt(i), arrayList);
|
|
i++;
|
|
}
|
|
} else if (!hasSimpleTarget(transition) && FragmentTransitionImpl.isNullOrEmpty(transition.getTargets())) {
|
|
int size = arrayList.size();
|
|
while (i < size) {
|
|
transition.addTarget(arrayList.get(i));
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void beginDelayedTransition(ViewGroup viewGroup, Object obj) {
|
|
TransitionManager.beginDelayedTransition(viewGroup, (Transition) obj);
|
|
}
|
|
|
|
@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).clone();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@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 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 removeTarget(Object obj, View view) {
|
|
if (obj != null) {
|
|
((Transition) obj).removeTarget(view);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void replaceTargets(Object obj, ArrayList<View> arrayList, ArrayList<View> arrayList2) {
|
|
List<View> targets;
|
|
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++;
|
|
}
|
|
} else if (!hasSimpleTarget(transition) && (targets = transition.getTargets()) != null && 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 scheduleHideFragmentView(Object obj, View view, ArrayList<View> arrayList) {
|
|
((Transition) obj).addListener(new AnonymousClass2(view, arrayList));
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void scheduleRemoveTargets(Object obj, Object obj2, ArrayList<View> arrayList, Object obj3, ArrayList<View> arrayList2, Object obj4, ArrayList<View> arrayList3) {
|
|
((Transition) obj).addListener(new AnonymousClass3(obj2, arrayList, obj3, arrayList2, obj4, arrayList3));
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void setEpicenter(Object obj, Rect rect) {
|
|
if (obj != null) {
|
|
((Transition) obj).setEpicenterCallback(new AnonymousClass5(rect));
|
|
}
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void setEpicenter(Object obj, View view) {
|
|
if (view != null) {
|
|
Rect rect = new Rect();
|
|
getBoundsOnScreen(view, rect);
|
|
((Transition) obj).setEpicenterCallback(new AnonymousClass1(rect));
|
|
}
|
|
}
|
|
|
|
@Override // androidx.fragment.app.FragmentTransitionImpl
|
|
public void setListenerForTransitionEnd(@NonNull Fragment fragment, @NonNull Object obj, @NonNull CancellationSignal cancellationSignal, @NonNull Runnable runnable) {
|
|
((Transition) obj).addListener(new AnonymousClass4(runnable));
|
|
}
|
|
|
|
@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++) {
|
|
FragmentTransitionImpl.bfsAddViewChildren(targets, arrayList.get(i));
|
|
}
|
|
targets.add(view);
|
|
arrayList.add(view);
|
|
addTargets(transitionSet, arrayList);
|
|
}
|
|
|
|
@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 Object wrapTransitionInSet(Object obj) {
|
|
if (obj == null) {
|
|
return null;
|
|
}
|
|
TransitionSet transitionSet = new TransitionSet();
|
|
transitionSet.addTransition((Transition) obj);
|
|
return transitionSet;
|
|
}
|
|
}
|