jimu-decompiled/sources/androidx/transition/TransitionManager.java
2025-05-13 19:24:51 +02:00

136 lines
4.9 KiB
Java

package androidx.transition;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import androidx.collection.ArrayMap;
import androidx.core.view.ViewCompat;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Iterator;
/* loaded from: classes.dex */
public class TransitionManager {
private static Transition a = new AutoTransition();
private static ThreadLocal<WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>>> b = new ThreadLocal<>();
static ArrayList<ViewGroup> c = new ArrayList<>();
private static class MultiListener implements ViewTreeObserver.OnPreDrawListener, View.OnAttachStateChangeListener {
Transition a;
ViewGroup b;
MultiListener(Transition transition, ViewGroup viewGroup) {
this.a = transition;
this.b = viewGroup;
}
private void a() {
this.b.getViewTreeObserver().removeOnPreDrawListener(this);
this.b.removeOnAttachStateChangeListener(this);
}
@Override // android.view.ViewTreeObserver.OnPreDrawListener
public boolean onPreDraw() {
a();
if (!TransitionManager.c.remove(this.b)) {
return true;
}
final ArrayMap<ViewGroup, ArrayList<Transition>> a = TransitionManager.a();
ArrayList<Transition> arrayList = a.get(this.b);
ArrayList arrayList2 = null;
if (arrayList == null) {
arrayList = new ArrayList<>();
a.put(this.b, arrayList);
} else if (arrayList.size() > 0) {
arrayList2 = new ArrayList(arrayList);
}
arrayList.add(this.a);
this.a.a(new TransitionListenerAdapter() { // from class: androidx.transition.TransitionManager.MultiListener.1
/* JADX WARN: Multi-variable type inference failed */
@Override // androidx.transition.Transition.TransitionListener
public void c(Transition transition) {
((ArrayList) a.get(MultiListener.this.b)).remove(transition);
}
});
this.a.a(this.b, false);
if (arrayList2 != null) {
Iterator it = arrayList2.iterator();
while (it.hasNext()) {
((Transition) it.next()).e(this.b);
}
}
this.a.a(this.b);
return true;
}
@Override // android.view.View.OnAttachStateChangeListener
public void onViewAttachedToWindow(View view) {
}
@Override // android.view.View.OnAttachStateChangeListener
public void onViewDetachedFromWindow(View view) {
a();
TransitionManager.c.remove(this.b);
ArrayList<Transition> arrayList = TransitionManager.a().get(this.b);
if (arrayList != null && arrayList.size() > 0) {
Iterator<Transition> it = arrayList.iterator();
while (it.hasNext()) {
it.next().e(this.b);
}
}
this.a.a(true);
}
}
static ArrayMap<ViewGroup, ArrayList<Transition>> a() {
ArrayMap<ViewGroup, ArrayList<Transition>> arrayMap;
WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> weakReference = b.get();
if (weakReference != null && (arrayMap = weakReference.get()) != null) {
return arrayMap;
}
ArrayMap<ViewGroup, ArrayList<Transition>> arrayMap2 = new ArrayMap<>();
b.set(new WeakReference<>(arrayMap2));
return arrayMap2;
}
private static void b(ViewGroup viewGroup, Transition transition) {
if (transition == null || viewGroup == null) {
return;
}
MultiListener multiListener = new MultiListener(transition, viewGroup);
viewGroup.addOnAttachStateChangeListener(multiListener);
viewGroup.getViewTreeObserver().addOnPreDrawListener(multiListener);
}
private static void c(ViewGroup viewGroup, Transition transition) {
ArrayList<Transition> arrayList = a().get(viewGroup);
if (arrayList != null && arrayList.size() > 0) {
Iterator<Transition> it = arrayList.iterator();
while (it.hasNext()) {
it.next().c(viewGroup);
}
}
if (transition != null) {
transition.a(viewGroup, true);
}
Scene a2 = Scene.a(viewGroup);
if (a2 != null) {
a2.a();
}
}
public static void a(ViewGroup viewGroup, Transition transition) {
if (c.contains(viewGroup) || !ViewCompat.x(viewGroup)) {
return;
}
c.add(viewGroup);
if (transition == null) {
transition = a;
}
Transition mo3clone = transition.mo3clone();
c(viewGroup, mo3clone);
Scene.a(viewGroup, null);
b(viewGroup, mo3clone);
}
}