269 lines
11 KiB
Java
269 lines
11 KiB
Java
package androidx.fragment.app;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.graphics.Rect;
|
|
import android.graphics.RectF;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewParent;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.core.os.CancellationSignal;
|
|
import androidx.core.view.OneShotPreDrawListener;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.core.view.ViewGroupCompat;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
@SuppressLint({"UnknownNullness"})
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public abstract class FragmentTransitionImpl {
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionImpl$1 reason: invalid class name */
|
|
public class AnonymousClass1 implements Runnable {
|
|
public final /* synthetic */ ArrayList val$inNames;
|
|
public final /* synthetic */ int val$numSharedElements;
|
|
public final /* synthetic */ ArrayList val$outNames;
|
|
public final /* synthetic */ ArrayList val$sharedElementsIn;
|
|
public final /* synthetic */ ArrayList val$sharedElementsOut;
|
|
|
|
public AnonymousClass1(int i, ArrayList arrayList, ArrayList arrayList2, ArrayList arrayList3, ArrayList arrayList4) {
|
|
this.val$numSharedElements = i;
|
|
this.val$sharedElementsIn = arrayList;
|
|
this.val$inNames = arrayList2;
|
|
this.val$sharedElementsOut = arrayList3;
|
|
this.val$outNames = arrayList4;
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
for (int i = 0; i < this.val$numSharedElements; i++) {
|
|
ViewCompat.setTransitionName((View) this.val$sharedElementsIn.get(i), (String) this.val$inNames.get(i));
|
|
ViewCompat.setTransitionName((View) this.val$sharedElementsOut.get(i), (String) this.val$outNames.get(i));
|
|
}
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionImpl$2 reason: invalid class name */
|
|
public class AnonymousClass2 implements Runnable {
|
|
public final /* synthetic */ Map val$nameOverrides;
|
|
public final /* synthetic */ ArrayList val$sharedElementsIn;
|
|
|
|
public AnonymousClass2(ArrayList arrayList, Map map) {
|
|
this.val$sharedElementsIn = arrayList;
|
|
this.val$nameOverrides = map;
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
int size = this.val$sharedElementsIn.size();
|
|
for (int i = 0; i < size; i++) {
|
|
View view = (View) this.val$sharedElementsIn.get(i);
|
|
String transitionName = ViewCompat.getTransitionName(view);
|
|
if (transitionName != null) {
|
|
ViewCompat.setTransitionName(view, FragmentTransitionImpl.findKeyForValue(this.val$nameOverrides, transitionName));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* renamed from: androidx.fragment.app.FragmentTransitionImpl$3 reason: invalid class name */
|
|
public class AnonymousClass3 implements Runnable {
|
|
public final /* synthetic */ Map val$nameOverrides;
|
|
public final /* synthetic */ ArrayList val$sharedElementsIn;
|
|
|
|
public AnonymousClass3(ArrayList arrayList, Map map) {
|
|
this.val$sharedElementsIn = arrayList;
|
|
this.val$nameOverrides = map;
|
|
}
|
|
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
int size = this.val$sharedElementsIn.size();
|
|
for (int i = 0; i < size; i++) {
|
|
View view = (View) this.val$sharedElementsIn.get(i);
|
|
ViewCompat.setTransitionName(view, (String) this.val$nameOverrides.get(ViewCompat.getTransitionName(view)));
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void bfsAddViewChildren(List<View> list, View view) {
|
|
int size = list.size();
|
|
if (!containedBeforeIndex(list, view, size)) {
|
|
list.add(view);
|
|
for (int i = size; i < list.size(); i++) {
|
|
View view2 = list.get(i);
|
|
if (view2 instanceof ViewGroup) {
|
|
ViewGroup viewGroup = (ViewGroup) view2;
|
|
int childCount = viewGroup.getChildCount();
|
|
for (int i2 = 0; i2 < childCount; i2++) {
|
|
View childAt = viewGroup.getChildAt(i2);
|
|
if (!containedBeforeIndex(list, childAt, size)) {
|
|
list.add(childAt);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static boolean containedBeforeIndex(List<View> list, View view, int i) {
|
|
for (int i2 = 0; i2 < i; i2++) {
|
|
if (list.get(i2) == view) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static String findKeyForValue(Map<String, String> map, String str) {
|
|
for (Map.Entry<String, String> entry : map.entrySet()) {
|
|
if (str.equals(entry.getValue())) {
|
|
return entry.getKey();
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static boolean isNullOrEmpty(List list) {
|
|
return list == null || list.isEmpty();
|
|
}
|
|
|
|
public abstract void addTarget(Object obj, View view);
|
|
|
|
public abstract void addTargets(Object obj, ArrayList<View> arrayList);
|
|
|
|
public abstract void beginDelayedTransition(ViewGroup viewGroup, Object obj);
|
|
|
|
public abstract boolean canHandle(Object obj);
|
|
|
|
public void captureTransitioningViews(ArrayList<View> arrayList, View view) {
|
|
if (view.getVisibility() != 0) {
|
|
return;
|
|
}
|
|
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++) {
|
|
captureTransitioningViews(arrayList, viewGroup.getChildAt(i));
|
|
}
|
|
return;
|
|
}
|
|
arrayList.add(view);
|
|
}
|
|
|
|
public abstract Object cloneTransition(Object obj);
|
|
|
|
public void findNamedViews(Map<String, View> map, @NonNull View view) {
|
|
if (view.getVisibility() == 0) {
|
|
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++) {
|
|
findNamedViews(map, viewGroup.getChildAt(i));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void getBoundsOnScreen(View view, Rect rect) {
|
|
if (ViewCompat.isAttachedToWindow(view)) {
|
|
RectF rectF = new RectF();
|
|
rectF.set(0.0f, 0.0f, (float) view.getWidth(), (float) view.getHeight());
|
|
view.getMatrix().mapRect(rectF);
|
|
rectF.offset((float) view.getLeft(), (float) view.getTop());
|
|
ViewParent parent = view.getParent();
|
|
while (parent instanceof View) {
|
|
View view2 = (View) parent;
|
|
rectF.offset((float) (-view2.getScrollX()), (float) (-view2.getScrollY()));
|
|
view2.getMatrix().mapRect(rectF);
|
|
rectF.offset((float) view2.getLeft(), (float) view2.getTop());
|
|
parent = view2.getParent();
|
|
}
|
|
int[] iArr = new int[2];
|
|
view.getRootView().getLocationOnScreen(iArr);
|
|
rectF.offset((float) iArr[0], (float) iArr[1]);
|
|
rect.set(Math.round(rectF.left), Math.round(rectF.top), Math.round(rectF.right), Math.round(rectF.bottom));
|
|
}
|
|
}
|
|
|
|
public abstract Object mergeTransitionsInSequence(Object obj, Object obj2, Object obj3);
|
|
|
|
public abstract Object mergeTransitionsTogether(Object obj, Object obj2, Object obj3);
|
|
|
|
public ArrayList<String> prepareSetNameOverridesReordered(ArrayList<View> arrayList) {
|
|
ArrayList<String> arrayList2 = new ArrayList<>();
|
|
int size = arrayList.size();
|
|
for (int i = 0; i < size; i++) {
|
|
View view = arrayList.get(i);
|
|
arrayList2.add(ViewCompat.getTransitionName(view));
|
|
ViewCompat.setTransitionName(view, null);
|
|
}
|
|
return arrayList2;
|
|
}
|
|
|
|
public abstract void removeTarget(Object obj, View view);
|
|
|
|
public abstract void replaceTargets(Object obj, ArrayList<View> arrayList, ArrayList<View> arrayList2);
|
|
|
|
public abstract void scheduleHideFragmentView(Object obj, View view, ArrayList<View> arrayList);
|
|
|
|
public void scheduleNameReset(ViewGroup viewGroup, ArrayList<View> arrayList, Map<String, String> map) {
|
|
OneShotPreDrawListener.add(viewGroup, new AnonymousClass3(arrayList, map));
|
|
}
|
|
|
|
public abstract void scheduleRemoveTargets(Object obj, Object obj2, ArrayList<View> arrayList, Object obj3, ArrayList<View> arrayList2, Object obj4, ArrayList<View> arrayList3);
|
|
|
|
public abstract void setEpicenter(Object obj, Rect rect);
|
|
|
|
public abstract void setEpicenter(Object obj, View view);
|
|
|
|
public void setListenerForTransitionEnd(@NonNull Fragment fragment, @NonNull Object obj, @NonNull CancellationSignal cancellationSignal, @NonNull Runnable runnable) {
|
|
runnable.run();
|
|
}
|
|
|
|
public void setNameOverridesOrdered(View view, ArrayList<View> arrayList, Map<String, String> map) {
|
|
OneShotPreDrawListener.add(view, new AnonymousClass2(arrayList, map));
|
|
}
|
|
|
|
public void setNameOverridesReordered(View view, ArrayList<View> arrayList, ArrayList<View> arrayList2, ArrayList<String> arrayList3, Map<String, String> map) {
|
|
int size = arrayList2.size();
|
|
ArrayList arrayList4 = new ArrayList();
|
|
for (int i = 0; i < size; i++) {
|
|
View view2 = arrayList.get(i);
|
|
String transitionName = ViewCompat.getTransitionName(view2);
|
|
arrayList4.add(transitionName);
|
|
if (transitionName != null) {
|
|
ViewCompat.setTransitionName(view2, null);
|
|
String str = map.get(transitionName);
|
|
int i2 = 0;
|
|
while (true) {
|
|
if (i2 >= size) {
|
|
break;
|
|
} else if (str.equals(arrayList3.get(i2))) {
|
|
ViewCompat.setTransitionName(arrayList2.get(i2), transitionName);
|
|
break;
|
|
} else {
|
|
i2++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
OneShotPreDrawListener.add(view, new AnonymousClass1(size, arrayList2, arrayList3, arrayList, arrayList4));
|
|
}
|
|
|
|
public abstract void setSharedElementTargets(Object obj, View view, ArrayList<View> arrayList);
|
|
|
|
public abstract void swapSharedElementTargets(Object obj, ArrayList<View> arrayList, ArrayList<View> arrayList2);
|
|
|
|
public abstract Object wrapTransitionInSet(Object obj);
|
|
}
|