mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-26 00:52:31 -06:00
699 lines
33 KiB
Java
699 lines
33 KiB
Java
|
package androidx.compose.ui.node;
|
||
|
|
||
|
import androidx.compose.ui.Modifier;
|
||
|
import java.util.Arrays;
|
||
|
import java.util.Collection;
|
||
|
import java.util.Comparator;
|
||
|
import java.util.Iterator;
|
||
|
import java.util.List;
|
||
|
import java.util.ListIterator;
|
||
|
import java.util.function.UnaryOperator;
|
||
|
import kotlin.Metadata;
|
||
|
import kotlin.Unit;
|
||
|
import kotlin.collections.ArraysKt;
|
||
|
import kotlin.collections.CollectionsKt;
|
||
|
import kotlin.jvm.functions.Function0;
|
||
|
import kotlin.jvm.internal.CollectionToArray;
|
||
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||
|
import kotlin.jvm.internal.Intrinsics;
|
||
|
import kotlin.jvm.internal.markers.KMappedMarker;
|
||
|
|
||
|
/* compiled from: HitTestResult.kt */
|
||
|
@Metadata(d1 = {"\u0000j\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0016\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u0011\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u001e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0007\n\u0002\b\u0004\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010*\n\u0002\b\n\b\u0000\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001:\u000289B\u0005¢\u0006\u0002\u0010\u0003J\u0006\u0010\u0010\u001a\u00020\u0011J\u0006\u0010\u0012\u001a\u00020\u0011J\u0011\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0015\u001a\u00020\u0002H\u0096\u0002J\u0016\u0010\u0016\u001a\u00020\u00142\f\u0010\u0017\u001a\b\u0012\u0004\u0012\u00020\u00020\u0018H\u0016J\b\u0010\u0019\u001a\u00020\u0011H\u0002J\u0018\u0010\u001a\u001a\u00020\u001bH\u0002ø\u0001\u0000ø\u0001\u0001ø\u0001\u0002¢\u0006\u0004\b\u001c\u0010\u001dJ\u0011\u0010\u001e\u001a\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u0007H\u0096\u0002J\u0006\u0010 \u001a\u00020\u0014J$\u0010!\u001a\u00020\u00112\u0006\u0010\"\u001a\u00020\u00022\u0006\u0010#\u001a\u00020\u00142\f\u0010$\u001a\b\u0012\u0004\u0012\u00020\u00110%J,\u0010&\u001a\u00020\u00112\u0006\u0010\"\u001a\u00020\u00022\u0006\u0010'\u001a\u00020(2\u0006\u0010#\u001a\u00020\u00142\f\u0010$\u001a\b\u0012\u0004\u0012\u00020\u00110%J\u0010\u0010)\u001a\u00020\u00072\u0006\u0010\u0015\u001a\u00020\u0002H\u0016J\b\u0010*\u001a\u00020\u0014H\u0016J\u0016\u0010+\u001a\u00020\u00142\u0006\u0010'\u001a\u00020(2\u0006\u0010#\u001a\u00020\u0014J\u000f\u0010,\u001a\b\u0012\u0004\u0012\u00020\u00020-H\u0096\u0002J\u0010\u0010.\u001a\u00020\u00072\u0006\u0010\u0015\u001a\u00020\u0002H\u0016J\u000e\u0010/\u001a\b\u0012\u0004\u0012\u00020\u000200H\u0016J\u0016\u0010/\u001a\b\u0012\u0004\u0012\u00020\u0002002\u0006\u0010\u001f\u001a\u00020\u0007H\u0016J\b\u00101\u001a\u00020\u0011H\u0002J\u001a\u00102\u001a\u00020\u00112\f\u00103\u001a\b\u0012\u0004\u0012\u00020\u00110%H\u0086\bø\u0001\u0003J,\u00104\u001a\u00020\u00112\u0006\u0010\"\u001a\u00020\u00022\u0006\u0010'\u001a\u00020(2\u0006\u0010#\u001a\u00020\u00142\f\u0010$\u001a\b\u0012\u0004\u0012\u00020\u00110%J\u001e\u00105\u001a\b\u0012\u0004\u0012\u00020\u00020\u00012\u0006\u00106\u001a\u00020\u00072\u0006\u00107\u001a\u00020\u0007H\u0016R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u000e¢\u0006\u0002\n\u0000R\u001e\u0010\t\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0007@RX\u0096\u000e¢\u0006\b\n\u0000\u001a\u0004\b\n\u0010\u000bR\u0018\u0010\f\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u000e0\rX\u0082\u000e¢\u0006\u0004\n\u0002\u0010\u000f\u0082\u0002\u0016\n\u0002\b!\n\u0005\b¡\u001e0\u0001\n\u0002\b\u0019\n\u0005\b\u009920\u0001¨\u0006:"}, d2 = {"Landroidx/compose/ui/node/HitTestResult;", "", "Landroidx/compose/ui/Modifier$Node;", "()V", "distanceFromEdgeAndInLayer", "", "hitDepth", "", "<set-?>", "size", "getSize", "()I", "values", "", "", "[Ljava/lang/Object;", "acceptHits", "", "clear", "contains", "", "element", "containsAll", "elements", "", "ensureContainerSize", "findBestHitDistance", "Landroidx/compose/ui/node/DistanceAndInLayer;", "findBestHitDistance-ptXAw2c", "()J", "get", "index", "hasHit", "hit", "node", "isInLayer", "childHitTest", "Lkotlin/Function0;", "hitInMinimumTouchTarget", "distanceFromEdge", "", "indexOf", "isEmpty", "isHitInMinimumTouchTargetBetter", "iterator", "", "lastIndexOf", "listIterator", "", "resizeToHitDepth", "siblingHits", "block", "speculativeHit", "subList", "fromIndex", "toIndex", "HitTestResultIterator", "SubList", "ui_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||
|
/* loaded from: classes.dex */
|
||
|
public final class HitTestResult implements List<Modifier.Node>, KMappedMarker {
|
||
|
private int size;
|
||
|
private Object[] values = new Object[16];
|
||
|
private long[] distanceFromEdgeAndInLayer = new long[16];
|
||
|
private int hitDepth = -1;
|
||
|
|
||
|
/* renamed from: add, reason: avoid collision after fix types in other method */
|
||
|
public void add2(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ void add(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public boolean add(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public /* bridge */ /* synthetic */ boolean add(Object obj) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public boolean addAll(int i, Collection<? extends Modifier.Node> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean addAll(Collection<? extends Modifier.Node> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public int getSize() {
|
||
|
return this.size;
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Can't rename method to resolve collision */
|
||
|
@Override // java.util.List
|
||
|
public Modifier.Node remove(int i) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ Modifier.Node remove(int i) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean remove(Object obj) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean removeAll(Collection<? extends Object> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public void replaceAll(UnaryOperator<Modifier.Node> unaryOperator) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean retainAll(Collection<? extends Object> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
/* renamed from: set, reason: avoid collision after fix types in other method */
|
||
|
public Modifier.Node set2(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ Modifier.Node set(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public void sort(Comparator<? super Modifier.Node> comparator) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public Object[] toArray() {
|
||
|
return CollectionToArray.toArray(this);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public <T> T[] toArray(T[] array) {
|
||
|
Intrinsics.checkNotNullParameter(array, "array");
|
||
|
return (T[]) CollectionToArray.toArray(this, array);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public final /* bridge */ boolean contains(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return contains((Modifier.Node) obj);
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public final /* bridge */ int indexOf(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return indexOf((Modifier.Node) obj);
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public final /* bridge */ int lastIndexOf(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return lastIndexOf((Modifier.Node) obj);
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public final /* bridge */ int size() {
|
||
|
return getSize();
|
||
|
}
|
||
|
|
||
|
public final boolean hasHit() {
|
||
|
long m4009findBestHitDistanceptXAw2c = m4009findBestHitDistanceptXAw2c();
|
||
|
return DistanceAndInLayer.m4004getDistanceimpl(m4009findBestHitDistanceptXAw2c) < 0.0f && DistanceAndInLayer.m4006isInLayerimpl(m4009findBestHitDistanceptXAw2c);
|
||
|
}
|
||
|
|
||
|
public final void acceptHits() {
|
||
|
this.hitDepth = size() - 1;
|
||
|
}
|
||
|
|
||
|
private final void resizeToHitDepth() {
|
||
|
int i = this.hitDepth + 1;
|
||
|
int lastIndex = CollectionsKt.getLastIndex(this);
|
||
|
if (i <= lastIndex) {
|
||
|
while (true) {
|
||
|
this.values[i] = null;
|
||
|
if (i == lastIndex) {
|
||
|
break;
|
||
|
} else {
|
||
|
i++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
this.size = this.hitDepth + 1;
|
||
|
}
|
||
|
|
||
|
public final boolean isHitInMinimumTouchTargetBetter(float distanceFromEdge, boolean isInLayer) {
|
||
|
long DistanceAndInLayer;
|
||
|
if (this.hitDepth == CollectionsKt.getLastIndex(this)) {
|
||
|
return true;
|
||
|
}
|
||
|
DistanceAndInLayer = HitTestResultKt.DistanceAndInLayer(distanceFromEdge, isInLayer);
|
||
|
return DistanceAndInLayer.m4000compareToS_HNhKs(m4009findBestHitDistanceptXAw2c(), DistanceAndInLayer) > 0;
|
||
|
}
|
||
|
|
||
|
/* renamed from: findBestHitDistance-ptXAw2c, reason: not valid java name */
|
||
|
private final long m4009findBestHitDistanceptXAw2c() {
|
||
|
long DistanceAndInLayer;
|
||
|
DistanceAndInLayer = HitTestResultKt.DistanceAndInLayer(Float.POSITIVE_INFINITY, false);
|
||
|
int i = this.hitDepth + 1;
|
||
|
int lastIndex = CollectionsKt.getLastIndex(this);
|
||
|
if (i <= lastIndex) {
|
||
|
while (true) {
|
||
|
long m4001constructorimpl = DistanceAndInLayer.m4001constructorimpl(this.distanceFromEdgeAndInLayer[i]);
|
||
|
if (DistanceAndInLayer.m4000compareToS_HNhKs(m4001constructorimpl, DistanceAndInLayer) < 0) {
|
||
|
DistanceAndInLayer = m4001constructorimpl;
|
||
|
}
|
||
|
if (DistanceAndInLayer.m4004getDistanceimpl(DistanceAndInLayer) < 0.0f && DistanceAndInLayer.m4006isInLayerimpl(DistanceAndInLayer)) {
|
||
|
return DistanceAndInLayer;
|
||
|
}
|
||
|
if (i == lastIndex) {
|
||
|
break;
|
||
|
}
|
||
|
i++;
|
||
|
}
|
||
|
}
|
||
|
return DistanceAndInLayer;
|
||
|
}
|
||
|
|
||
|
public final void hit(Modifier.Node node, boolean isInLayer, Function0<Unit> childHitTest) {
|
||
|
Intrinsics.checkNotNullParameter(node, "node");
|
||
|
Intrinsics.checkNotNullParameter(childHitTest, "childHitTest");
|
||
|
hitInMinimumTouchTarget(node, -1.0f, isInLayer, childHitTest);
|
||
|
}
|
||
|
|
||
|
public final void hitInMinimumTouchTarget(Modifier.Node node, float distanceFromEdge, boolean isInLayer, Function0<Unit> childHitTest) {
|
||
|
long DistanceAndInLayer;
|
||
|
Intrinsics.checkNotNullParameter(node, "node");
|
||
|
Intrinsics.checkNotNullParameter(childHitTest, "childHitTest");
|
||
|
int i = this.hitDepth;
|
||
|
this.hitDepth = i + 1;
|
||
|
ensureContainerSize();
|
||
|
Object[] objArr = this.values;
|
||
|
int i2 = this.hitDepth;
|
||
|
objArr[i2] = node;
|
||
|
long[] jArr = this.distanceFromEdgeAndInLayer;
|
||
|
DistanceAndInLayer = HitTestResultKt.DistanceAndInLayer(distanceFromEdge, isInLayer);
|
||
|
jArr[i2] = DistanceAndInLayer;
|
||
|
resizeToHitDepth();
|
||
|
childHitTest.invoke();
|
||
|
this.hitDepth = i;
|
||
|
}
|
||
|
|
||
|
public final void speculativeHit(Modifier.Node node, float distanceFromEdge, boolean isInLayer, Function0<Unit> childHitTest) {
|
||
|
Intrinsics.checkNotNullParameter(node, "node");
|
||
|
Intrinsics.checkNotNullParameter(childHitTest, "childHitTest");
|
||
|
HitTestResult hitTestResult = this;
|
||
|
if (this.hitDepth == CollectionsKt.getLastIndex(hitTestResult)) {
|
||
|
hitInMinimumTouchTarget(node, distanceFromEdge, isInLayer, childHitTest);
|
||
|
if (this.hitDepth + 1 == CollectionsKt.getLastIndex(hitTestResult)) {
|
||
|
resizeToHitDepth();
|
||
|
return;
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
long m4009findBestHitDistanceptXAw2c = m4009findBestHitDistanceptXAw2c();
|
||
|
int i = this.hitDepth;
|
||
|
this.hitDepth = CollectionsKt.getLastIndex(hitTestResult);
|
||
|
hitInMinimumTouchTarget(node, distanceFromEdge, isInLayer, childHitTest);
|
||
|
if (this.hitDepth + 1 < CollectionsKt.getLastIndex(hitTestResult) && DistanceAndInLayer.m4000compareToS_HNhKs(m4009findBestHitDistanceptXAw2c, m4009findBestHitDistanceptXAw2c()) > 0) {
|
||
|
int i2 = this.hitDepth + 1;
|
||
|
int i3 = i + 1;
|
||
|
Object[] objArr = this.values;
|
||
|
ArraysKt.copyInto(objArr, objArr, i3, i2, size());
|
||
|
long[] jArr = this.distanceFromEdgeAndInLayer;
|
||
|
ArraysKt.copyInto(jArr, jArr, i3, i2, size());
|
||
|
this.hitDepth = ((size() + i) - this.hitDepth) - 1;
|
||
|
}
|
||
|
resizeToHitDepth();
|
||
|
this.hitDepth = i;
|
||
|
}
|
||
|
|
||
|
public final void siblingHits(Function0<Unit> block) {
|
||
|
Intrinsics.checkNotNullParameter(block, "block");
|
||
|
int i = this.hitDepth;
|
||
|
block.invoke();
|
||
|
this.hitDepth = i;
|
||
|
}
|
||
|
|
||
|
private final void ensureContainerSize() {
|
||
|
int i = this.hitDepth;
|
||
|
Object[] objArr = this.values;
|
||
|
if (i >= objArr.length) {
|
||
|
int length = objArr.length + 16;
|
||
|
Object[] copyOf = Arrays.copyOf(objArr, length);
|
||
|
Intrinsics.checkNotNullExpressionValue(copyOf, "copyOf(this, newSize)");
|
||
|
this.values = copyOf;
|
||
|
long[] copyOf2 = Arrays.copyOf(this.distanceFromEdgeAndInLayer, length);
|
||
|
Intrinsics.checkNotNullExpressionValue(copyOf2, "copyOf(this, newSize)");
|
||
|
this.distanceFromEdgeAndInLayer = copyOf2;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public boolean contains(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
return indexOf((Object) element) != -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean containsAll(Collection<? extends Object> elements) {
|
||
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
||
|
Iterator<T> it = elements.iterator();
|
||
|
while (it.hasNext()) {
|
||
|
if (!contains(it.next())) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Can't rename method to resolve collision */
|
||
|
@Override // java.util.List
|
||
|
public Modifier.Node get(int index) {
|
||
|
Object obj = this.values[index];
|
||
|
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type androidx.compose.ui.Modifier.Node");
|
||
|
return (Modifier.Node) obj;
|
||
|
}
|
||
|
|
||
|
public int indexOf(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
int lastIndex = CollectionsKt.getLastIndex(this);
|
||
|
if (lastIndex < 0) {
|
||
|
return -1;
|
||
|
}
|
||
|
int i = 0;
|
||
|
while (!Intrinsics.areEqual(this.values[i], element)) {
|
||
|
if (i == lastIndex) {
|
||
|
return -1;
|
||
|
}
|
||
|
i++;
|
||
|
}
|
||
|
return i;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean isEmpty() {
|
||
|
return size() == 0;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection, java.lang.Iterable
|
||
|
public Iterator<Modifier.Node> iterator() {
|
||
|
return new HitTestResultIterator(this, 0, 0, 0, 7, null);
|
||
|
}
|
||
|
|
||
|
public int lastIndexOf(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
for (int lastIndex = CollectionsKt.getLastIndex(this); -1 < lastIndex; lastIndex--) {
|
||
|
if (Intrinsics.areEqual(this.values[lastIndex], element)) {
|
||
|
return lastIndex;
|
||
|
}
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public ListIterator<Modifier.Node> listIterator() {
|
||
|
return new HitTestResultIterator(this, 0, 0, 0, 7, null);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public ListIterator<Modifier.Node> listIterator(int index) {
|
||
|
return new HitTestResultIterator(this, index, 0, 0, 6, null);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public List<Modifier.Node> subList(int fromIndex, int toIndex) {
|
||
|
return new SubList(fromIndex, toIndex);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public final void clear() {
|
||
|
this.hitDepth = -1;
|
||
|
resizeToHitDepth();
|
||
|
}
|
||
|
|
||
|
/* compiled from: HitTestResult.kt */
|
||
|
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0010*\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\n\n\u0002\u0010\u000b\n\u0002\b\u0006\b\u0082\u0004\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B#\u0012\b\b\u0002\u0010\u0003\u001a\u00020\u0004\u0012\b\b\u0002\u0010\u0005\u001a\u00020\u0004\u0012\b\b\u0002\u0010\u0006\u001a\u00020\u0004¢\u0006\u0002\u0010\u0007J\t\u0010\u000e\u001a\u00020\u000fH\u0096\u0002J\b\u0010\u0010\u001a\u00020\u000fH\u0016J\t\u0010\u0011\u001a\u00020\u0002H\u0096\u0002J\b\u0010\u0012\u001a\u00020\u0004H\u0016J\b\u0010\u0013\u001a\u00020\u0002H\u0016J\b\u0010\u0014\u001a\u00020\u0004H\u0016R\u001a\u0010\u0003\u001a\u00020\u0004X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\b\u0010\t\"\u0004\b\n\u0010\u000bR\u0011\u0010\u0006\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\tR\u0011\u0010\u0005\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\r\u0010\t¨\u0006\u0015"}, d2 = {"Landroidx/compose/ui/node/HitTestResult$HitTestResultIterator;", "", "Landroidx/compose/ui/Modifier$Node;", "index", "", "minIndex", "maxIndex", "(Landroidx/compose/ui/node/HitTestResult;III)V", "getIndex", "()I", "setIndex", "(I)V", "getMaxIndex", "getMinIndex", "hasNext", "", "hasPrevious", "next", "nextIndex", "previous", "previousIndex", "ui_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||
|
/* loaded from: classes.dex */
|
||
|
private final class HitTestResultIterator implements ListIterator<Modifier.Node>, KMappedMarker {
|
||
|
private int index;
|
||
|
private final int maxIndex;
|
||
|
private final int minIndex;
|
||
|
|
||
|
/* renamed from: add, reason: avoid collision after fix types in other method */
|
||
|
public void add2(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator
|
||
|
public /* bridge */ /* synthetic */ void add(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public final int getIndex() {
|
||
|
return this.index;
|
||
|
}
|
||
|
|
||
|
public final int getMaxIndex() {
|
||
|
return this.maxIndex;
|
||
|
}
|
||
|
|
||
|
public final int getMinIndex() {
|
||
|
return this.minIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator, java.util.Iterator
|
||
|
public boolean hasNext() {
|
||
|
return this.index < this.maxIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator
|
||
|
public boolean hasPrevious() {
|
||
|
return this.index > this.minIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator
|
||
|
public int nextIndex() {
|
||
|
return this.index - this.minIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator
|
||
|
public int previousIndex() {
|
||
|
return (this.index - this.minIndex) - 1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator, java.util.Iterator
|
||
|
public void remove() {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
/* renamed from: set, reason: avoid collision after fix types in other method */
|
||
|
public void set2(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator
|
||
|
public /* bridge */ /* synthetic */ void set(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public final void setIndex(int i) {
|
||
|
this.index = i;
|
||
|
}
|
||
|
|
||
|
public HitTestResultIterator(int i, int i2, int i3) {
|
||
|
this.index = i;
|
||
|
this.minIndex = i2;
|
||
|
this.maxIndex = i3;
|
||
|
}
|
||
|
|
||
|
public /* synthetic */ HitTestResultIterator(HitTestResult hitTestResult, int i, int i2, int i3, int i4, DefaultConstructorMarker defaultConstructorMarker) {
|
||
|
this((i4 & 1) != 0 ? 0 : i, (i4 & 2) != 0 ? 0 : i2, (i4 & 4) != 0 ? hitTestResult.size() : i3);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.ListIterator, java.util.Iterator
|
||
|
public Modifier.Node next() {
|
||
|
Object[] objArr = HitTestResult.this.values;
|
||
|
int i = this.index;
|
||
|
this.index = i + 1;
|
||
|
Object obj = objArr[i];
|
||
|
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type androidx.compose.ui.Modifier.Node");
|
||
|
return (Modifier.Node) obj;
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Can't rename method to resolve collision */
|
||
|
@Override // java.util.ListIterator
|
||
|
public Modifier.Node previous() {
|
||
|
Object[] objArr = HitTestResult.this.values;
|
||
|
int i = this.index - 1;
|
||
|
this.index = i;
|
||
|
Object obj = objArr[i];
|
||
|
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type androidx.compose.ui.Modifier.Node");
|
||
|
return (Modifier.Node) obj;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* compiled from: HitTestResult.kt */
|
||
|
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\b\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u001e\n\u0002\b\u0005\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010*\n\u0002\b\u0004\b\u0082\u0004\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0004¢\u0006\u0002\u0010\u0006J\u0011\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u0002H\u0096\u0002J\u0016\u0010\u000f\u001a\u00020\r2\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00020\u0011H\u0016J\u0011\u0010\u0012\u001a\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u0004H\u0096\u0002J\u0010\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u0002H\u0016J\b\u0010\u0015\u001a\u00020\rH\u0016J\u000f\u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00020\u0017H\u0096\u0002J\u0010\u0010\u0018\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u0002H\u0016J\u000e\u0010\u0019\u001a\b\u0012\u0004\u0012\u00020\u00020\u001aH\u0016J\u0016\u0010\u0019\u001a\b\u0012\u0004\u0012\u00020\u00020\u001a2\u0006\u0010\u0013\u001a\u00020\u0004H\u0016J\u001e\u0010\u001b\u001a\b\u0012\u0004\u0012\u00020\u00020\u00012\u0006\u0010\u001c\u001a\u00020\u00042\u0006\u0010\u001d\u001a\u00020\u0004H\u0016R\u0011\u0010\u0005\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\bR\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\bR\u0014\u0010\n\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\b¨\u0006\u001e"}, d2 = {"Landroidx/compose/ui/node/HitTestResult$SubList;", "", "Landroidx/compose/ui/Modifier$Node;", "minIndex", "", "maxIndex", "(Landroidx/compose/ui/node/HitTestResult;II)V", "getMaxIndex", "()I", "getMinIndex", "size", "getSize", "contains", "", "element", "containsAll", "elements", "", "get", "index", "indexOf", "isEmpty", "iterator", "", "lastIndexOf", "listIterator", "", "subList", "fromIndex", "toIndex", "ui_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||
|
/* loaded from: classes.dex */
|
||
|
private final class SubList implements List<Modifier.Node>, KMappedMarker {
|
||
|
private final int maxIndex;
|
||
|
private final int minIndex;
|
||
|
|
||
|
/* renamed from: add, reason: avoid collision after fix types in other method */
|
||
|
public void add2(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ void add(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public boolean add(Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public /* bridge */ /* synthetic */ boolean add(Object obj) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public boolean addAll(int i, Collection<? extends Modifier.Node> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean addAll(Collection<? extends Modifier.Node> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public void clear() {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
public final int getMaxIndex() {
|
||
|
return this.maxIndex;
|
||
|
}
|
||
|
|
||
|
public final int getMinIndex() {
|
||
|
return this.minIndex;
|
||
|
}
|
||
|
|
||
|
public int getSize() {
|
||
|
return this.maxIndex - this.minIndex;
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Can't rename method to resolve collision */
|
||
|
@Override // java.util.List
|
||
|
public Modifier.Node remove(int i) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ Modifier.Node remove(int i) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean remove(Object obj) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean removeAll(Collection<? extends Object> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public void replaceAll(UnaryOperator<Modifier.Node> unaryOperator) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean retainAll(Collection<? extends Object> collection) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
/* renamed from: set, reason: avoid collision after fix types in other method */
|
||
|
public Modifier.Node set2(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public /* bridge */ /* synthetic */ Modifier.Node set(int i, Modifier.Node node) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public void sort(Comparator<? super Modifier.Node> comparator) {
|
||
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public Object[] toArray() {
|
||
|
return CollectionToArray.toArray(this);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public <T> T[] toArray(T[] array) {
|
||
|
Intrinsics.checkNotNullParameter(array, "array");
|
||
|
return (T[]) CollectionToArray.toArray(this, array);
|
||
|
}
|
||
|
|
||
|
public SubList(int i, int i2) {
|
||
|
this.minIndex = i;
|
||
|
this.maxIndex = i2;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public final /* bridge */ boolean contains(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return contains((Modifier.Node) obj);
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public final /* bridge */ int indexOf(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return indexOf((Modifier.Node) obj);
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public final /* bridge */ int lastIndexOf(Object obj) {
|
||
|
if (obj instanceof Modifier.Node) {
|
||
|
return lastIndexOf((Modifier.Node) obj);
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public final /* bridge */ int size() {
|
||
|
return getSize();
|
||
|
}
|
||
|
|
||
|
public boolean contains(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
return indexOf((Object) element) != -1;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean containsAll(Collection<? extends Object> elements) {
|
||
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
||
|
Iterator<T> it = elements.iterator();
|
||
|
while (it.hasNext()) {
|
||
|
if (!contains(it.next())) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Can't rename method to resolve collision */
|
||
|
@Override // java.util.List
|
||
|
public Modifier.Node get(int index) {
|
||
|
Object obj = HitTestResult.this.values[index + this.minIndex];
|
||
|
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type androidx.compose.ui.Modifier.Node");
|
||
|
return (Modifier.Node) obj;
|
||
|
}
|
||
|
|
||
|
public int indexOf(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
int i = this.minIndex;
|
||
|
int i2 = this.maxIndex;
|
||
|
if (i > i2) {
|
||
|
return -1;
|
||
|
}
|
||
|
while (!Intrinsics.areEqual(HitTestResult.this.values[i], element)) {
|
||
|
if (i == i2) {
|
||
|
return -1;
|
||
|
}
|
||
|
i++;
|
||
|
}
|
||
|
return i - this.minIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection
|
||
|
public boolean isEmpty() {
|
||
|
return size() == 0;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List, java.util.Collection, java.lang.Iterable
|
||
|
public Iterator<Modifier.Node> iterator() {
|
||
|
HitTestResult hitTestResult = HitTestResult.this;
|
||
|
int i = this.minIndex;
|
||
|
return new HitTestResultIterator(i, i, this.maxIndex);
|
||
|
}
|
||
|
|
||
|
public int lastIndexOf(Modifier.Node element) {
|
||
|
Intrinsics.checkNotNullParameter(element, "element");
|
||
|
int i = this.maxIndex;
|
||
|
int i2 = this.minIndex;
|
||
|
if (i2 > i) {
|
||
|
return -1;
|
||
|
}
|
||
|
while (!Intrinsics.areEqual(HitTestResult.this.values[i], element)) {
|
||
|
if (i == i2) {
|
||
|
return -1;
|
||
|
}
|
||
|
i--;
|
||
|
}
|
||
|
return i - this.minIndex;
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public ListIterator<Modifier.Node> listIterator() {
|
||
|
HitTestResult hitTestResult = HitTestResult.this;
|
||
|
int i = this.minIndex;
|
||
|
return new HitTestResultIterator(i, i, this.maxIndex);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public ListIterator<Modifier.Node> listIterator(int index) {
|
||
|
HitTestResult hitTestResult = HitTestResult.this;
|
||
|
int i = this.minIndex;
|
||
|
return new HitTestResultIterator(index + i, i, this.maxIndex);
|
||
|
}
|
||
|
|
||
|
@Override // java.util.List
|
||
|
public List<Modifier.Node> subList(int fromIndex, int toIndex) {
|
||
|
HitTestResult hitTestResult = HitTestResult.this;
|
||
|
int i = this.minIndex;
|
||
|
return new SubList(fromIndex + i, i + toIndex);
|
||
|
}
|
||
|
}
|
||
|
}
|