- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
321 lines
10 KiB
Java
321 lines
10 KiB
Java
package androidx.collection;
|
|
|
|
import androidx.annotation.IntRange;
|
|
import java.util.Arrays;
|
|
import kotlin.collections.ArraysKt___ArraysJvmKt;
|
|
import kotlin.collections.ArraysKt___ArraysKt;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@SourceDebugExtension({"SMAP\nIntList.kt\nKotlin\n*S Kotlin\n*F\n+ 1 IntList.kt\nandroidx/collection/MutableIntList\n+ 2 IntList.kt\nandroidx/collection/IntList\n+ 3 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,969:1\n549#1:970\n70#2:971\n253#2,6:974\n70#2:980\n70#2:981\n70#2:982\n70#2:989\n70#2:990\n13600#3,2:972\n1663#3,6:983\n*S KotlinDebug\n*F\n+ 1 IntList.kt\nandroidx/collection/MutableIntList\n*L\n692#1:970\n753#1:971\n772#1:974,6\n783#1:980\n787#1:981\n834#1:982\n850#1:989\n869#1:990\n763#1:972,2\n836#1:983,6\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public final class MutableIntList extends IntList {
|
|
public MutableIntList() {
|
|
this(0, 1, null);
|
|
}
|
|
|
|
public final void clear() {
|
|
this._size = 0;
|
|
}
|
|
|
|
public final boolean removeAll(IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
int i = this._size;
|
|
int i2 = elements._size - 1;
|
|
if (i2 >= 0) {
|
|
int i3 = 0;
|
|
while (true) {
|
|
remove(elements.get(i3));
|
|
if (i3 == i2) {
|
|
break;
|
|
}
|
|
i3++;
|
|
}
|
|
}
|
|
return i != this._size;
|
|
}
|
|
|
|
public final void minusAssign(IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
int[] iArr = elements.content;
|
|
int i = elements._size;
|
|
for (int i2 = 0; i2 < i; i2++) {
|
|
remove(iArr[i2]);
|
|
}
|
|
}
|
|
|
|
public /* synthetic */ MutableIntList(int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this((i2 & 1) != 0 ? 16 : i);
|
|
}
|
|
|
|
public MutableIntList(int i) {
|
|
super(i, null);
|
|
}
|
|
|
|
public final int getCapacity() {
|
|
return this.content.length;
|
|
}
|
|
|
|
public final boolean add(int i) {
|
|
ensureCapacity(this._size + 1);
|
|
int[] iArr = this.content;
|
|
int i2 = this._size;
|
|
iArr[i2] = i;
|
|
this._size = i2 + 1;
|
|
return true;
|
|
}
|
|
|
|
public final void add(@IntRange(from = 0) int i, int i2) {
|
|
int i3;
|
|
if (i < 0 || i > (i3 = this._size)) {
|
|
throw new IndexOutOfBoundsException("Index " + i + " must be in 0.." + this._size);
|
|
}
|
|
ensureCapacity(i3 + 1);
|
|
int[] iArr = this.content;
|
|
int i4 = this._size;
|
|
if (i != i4) {
|
|
ArraysKt___ArraysJvmKt.copyInto(iArr, iArr, i + 1, i, i4);
|
|
}
|
|
iArr[i] = i2;
|
|
this._size++;
|
|
}
|
|
|
|
public final boolean addAll(@IntRange(from = 0) int i, int[] elements) {
|
|
int i2;
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
if (i < 0 || i > (i2 = this._size)) {
|
|
throw new IndexOutOfBoundsException("Index " + i + " must be in 0.." + this._size);
|
|
}
|
|
if (elements.length == 0) {
|
|
return false;
|
|
}
|
|
ensureCapacity(i2 + elements.length);
|
|
int[] iArr = this.content;
|
|
int i3 = this._size;
|
|
if (i != i3) {
|
|
ArraysKt___ArraysJvmKt.copyInto(iArr, iArr, elements.length + i, i, i3);
|
|
}
|
|
ArraysKt___ArraysJvmKt.copyInto$default(elements, iArr, i, 0, 0, 12, (Object) null);
|
|
this._size += elements.length;
|
|
return true;
|
|
}
|
|
|
|
public final boolean addAll(@IntRange(from = 0) int i, IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
if (i < 0 || i > this._size) {
|
|
throw new IndexOutOfBoundsException("Index " + i + " must be in 0.." + this._size);
|
|
}
|
|
if (elements.isEmpty()) {
|
|
return false;
|
|
}
|
|
ensureCapacity(this._size + elements._size);
|
|
int[] iArr = this.content;
|
|
int i2 = this._size;
|
|
if (i != i2) {
|
|
ArraysKt___ArraysJvmKt.copyInto(iArr, iArr, elements._size + i, i, i2);
|
|
}
|
|
ArraysKt___ArraysJvmKt.copyInto(elements.content, iArr, i, 0, elements._size);
|
|
this._size += elements._size;
|
|
return true;
|
|
}
|
|
|
|
public final boolean addAll(IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
return addAll(this._size, elements);
|
|
}
|
|
|
|
public final boolean addAll(int[] elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
return addAll(this._size, elements);
|
|
}
|
|
|
|
public final void plusAssign(IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
addAll(this._size, elements);
|
|
}
|
|
|
|
public final void plusAssign(int[] elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
addAll(this._size, elements);
|
|
}
|
|
|
|
public static /* synthetic */ void trim$default(MutableIntList mutableIntList, int i, int i2, Object obj) {
|
|
if ((i2 & 1) != 0) {
|
|
i = mutableIntList._size;
|
|
}
|
|
mutableIntList.trim(i);
|
|
}
|
|
|
|
public final void trim(int i) {
|
|
int max = Math.max(i, this._size);
|
|
int[] iArr = this.content;
|
|
if (iArr.length > max) {
|
|
int[] copyOf = Arrays.copyOf(iArr, max);
|
|
Intrinsics.checkNotNullExpressionValue(copyOf, "copyOf(this, newSize)");
|
|
this.content = copyOf;
|
|
}
|
|
}
|
|
|
|
public final void ensureCapacity(int i) {
|
|
int[] iArr = this.content;
|
|
if (iArr.length < i) {
|
|
int[] copyOf = Arrays.copyOf(iArr, Math.max(i, (iArr.length * 3) / 2));
|
|
Intrinsics.checkNotNullExpressionValue(copyOf, "copyOf(this, newSize)");
|
|
this.content = copyOf;
|
|
}
|
|
}
|
|
|
|
public final void plusAssign(int i) {
|
|
add(i);
|
|
}
|
|
|
|
public final void minusAssign(int i) {
|
|
remove(i);
|
|
}
|
|
|
|
public final boolean remove(int i) {
|
|
int indexOf = indexOf(i);
|
|
if (indexOf < 0) {
|
|
return false;
|
|
}
|
|
removeAt(indexOf);
|
|
return true;
|
|
}
|
|
|
|
public final boolean removeAll(int[] elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
int i = this._size;
|
|
for (int i2 : elements) {
|
|
remove(i2);
|
|
}
|
|
return i != this._size;
|
|
}
|
|
|
|
public final int removeAt(@IntRange(from = 0) int i) {
|
|
int i2;
|
|
if (i < 0 || i >= (i2 = this._size)) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("Index ");
|
|
sb.append(i);
|
|
sb.append(" must be in 0..");
|
|
sb.append(this._size - 1);
|
|
throw new IndexOutOfBoundsException(sb.toString());
|
|
}
|
|
int[] iArr = this.content;
|
|
int i3 = iArr[i];
|
|
if (i != i2 - 1) {
|
|
ArraysKt___ArraysJvmKt.copyInto(iArr, iArr, i, i + 1, i2);
|
|
}
|
|
this._size--;
|
|
return i3;
|
|
}
|
|
|
|
public final void removeRange(@IntRange(from = 0) int i, @IntRange(from = 0) int i2) {
|
|
int i3;
|
|
if (i < 0 || i > (i3 = this._size) || i2 < 0 || i2 > i3) {
|
|
throw new IndexOutOfBoundsException("Start (" + i + ") and end (" + i2 + ") must be in 0.." + this._size);
|
|
}
|
|
if (i2 >= i) {
|
|
if (i2 != i) {
|
|
if (i2 < i3) {
|
|
int[] iArr = this.content;
|
|
ArraysKt___ArraysJvmKt.copyInto(iArr, iArr, i, i2, i3);
|
|
}
|
|
this._size -= i2 - i;
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
throw new IllegalArgumentException("Start (" + i + ") is more than end (" + i2 + ')');
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:11:0x001e, code lost:
|
|
|
|
removeAt(r2);
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public final boolean retainAll(int[] r8) {
|
|
/*
|
|
r7 = this;
|
|
java.lang.String r0 = "elements"
|
|
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r8, r0)
|
|
int r0 = r7._size
|
|
int[] r1 = r7.content
|
|
int r2 = r0 + (-1)
|
|
Lb:
|
|
r3 = 0
|
|
r4 = -1
|
|
if (r4 >= r2) goto L24
|
|
r4 = r1[r2]
|
|
int r5 = r8.length
|
|
L12:
|
|
if (r3 >= r5) goto L1e
|
|
r6 = r8[r3]
|
|
if (r6 != r4) goto L1b
|
|
if (r3 >= 0) goto L21
|
|
goto L1e
|
|
L1b:
|
|
int r3 = r3 + 1
|
|
goto L12
|
|
L1e:
|
|
r7.removeAt(r2)
|
|
L21:
|
|
int r2 = r2 + (-1)
|
|
goto Lb
|
|
L24:
|
|
int r8 = r7._size
|
|
if (r0 == r8) goto L29
|
|
r3 = 1
|
|
L29:
|
|
return r3
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: androidx.collection.MutableIntList.retainAll(int[]):boolean");
|
|
}
|
|
|
|
public final boolean retainAll(IntList elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
int i = this._size;
|
|
int[] iArr = this.content;
|
|
for (int i2 = i - 1; -1 < i2; i2--) {
|
|
if (!elements.contains(iArr[i2])) {
|
|
removeAt(i2);
|
|
}
|
|
}
|
|
return i != this._size;
|
|
}
|
|
|
|
public final int set(@IntRange(from = 0) int i, int i2) {
|
|
if (i < 0 || i >= this._size) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("set index ");
|
|
sb.append(i);
|
|
sb.append(" must be between 0 .. ");
|
|
sb.append(this._size - 1);
|
|
throw new IndexOutOfBoundsException(sb.toString());
|
|
}
|
|
int[] iArr = this.content;
|
|
int i3 = iArr[i];
|
|
iArr[i] = i2;
|
|
return i3;
|
|
}
|
|
|
|
public final void sort() {
|
|
ArraysKt___ArraysJvmKt.sort(this.content, 0, this._size);
|
|
}
|
|
|
|
public final void sortDescending() {
|
|
ArraysKt___ArraysKt.sortDescending(this.content, 0, this._size);
|
|
}
|
|
|
|
public final void minusAssign(int[] elements) {
|
|
Intrinsics.checkNotNullParameter(elements, "elements");
|
|
for (int i : elements) {
|
|
remove(i);
|
|
}
|
|
}
|
|
}
|