alexandroid/decompiled/jadx/sources/androidx/compose/runtime/internal/ThreadMap.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

134 lines
5.3 KiB
Java

package androidx.compose.runtime.internal;
import com.amazon.alexa.ra.core.data.fragments.SmartFragmentContent;
import com.dee.app.metrics.MetricsConstants;
import kotlin.Metadata;
import kotlin.jvm.internal.SourceDebugExtension;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
@StabilityInferred(parameters = 0)
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0016\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0005\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0004\b\u0001\u0018\u00002\u00020\u0001B'\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u000e\u0010\u0006\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00010\u0007¢\u0006\u0004\b\b\u0010\tJ\u0010\u0010\u000b\u001a\u0004\u0018\u00010\u00012\u0006\u0010\f\u001a\u00020\rJ\u0018\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\f\u001a\u00020\r2\b\u0010\u0010\u001a\u0004\u0018\u00010\u0001J\u0018\u0010\u0011\u001a\u00020\u00002\u0006\u0010\f\u001a\u00020\r2\b\u0010\u0010\u001a\u0004\u0018\u00010\u0001J\u0010\u0010\u0012\u001a\u00020\u00032\u0006\u0010\f\u001a\u00020\rH\u0002R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0018\u0010\u0006\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00010\u0007X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\n¨\u0006\u0013"}, d2 = {"Landroidx/compose/runtime/internal/ThreadMap;", "", "size", "", "keys", "", "values", "", "<init>", "(I[J[Ljava/lang/Object;)V", "[Ljava/lang/Object;", MetricsConstants.Method.CACHE_GET, "key", "", "trySet", "", "value", "newWith", "find", SmartFragmentContent.RUNTIME}, k = 1, mv = {2, 0, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nSnapshotThreadLocal.kt\nKotlin\n*S Kotlin\n*F\n+ 1 SnapshotThreadLocal.kt\nandroidx/compose/runtime/internal/ThreadMap\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,154:1\n12734#2,3:155\n*S KotlinDebug\n*F\n+ 1 SnapshotThreadLocal.kt\nandroidx/compose/runtime/internal/ThreadMap\n*L\n84#1:155,3\n*E\n"})
/* loaded from: classes13.dex */
public final class ThreadMap {
public static final int $stable = 8;
@NotNull
private final long[] keys;
private final int size;
@NotNull
private final Object[] values;
public ThreadMap(int i, @NotNull long[] jArr, @NotNull Object[] objArr) {
this.size = i;
this.keys = jArr;
this.values = objArr;
}
private final int find(long key) {
int i = this.size - 1;
if (i != -1) {
int i2 = 0;
if (i != 0) {
while (i2 <= i) {
int i3 = (i2 + i) >>> 1;
long j = this.keys[i3] - key;
if (j < 0) {
i2 = i3 + 1;
} else {
if (j <= 0) {
return i3;
}
i = i3 - 1;
}
}
return -(i2 + 1);
}
long j2 = this.keys[0];
if (j2 == key) {
return 0;
}
if (j2 > key) {
return -2;
}
}
return -1;
}
@Nullable
public final Object get(long key) {
int find = find(key);
if (find >= 0) {
return this.values[find];
}
return null;
}
@NotNull
public final ThreadMap newWith(long key, @Nullable Object value) {
int i = this.size;
int i2 = 0;
int i3 = 0;
for (Object obj : this.values) {
if (obj != null) {
i3++;
}
}
int i4 = i3 + 1;
long[] jArr = new long[i4];
Object[] objArr = new Object[i4];
if (i4 > 1) {
int i5 = 0;
while (true) {
if (i2 >= i4 || i5 >= i) {
break;
}
long j = this.keys[i5];
Object obj2 = this.values[i5];
if (j > key) {
jArr[i2] = key;
objArr[i2] = value;
i2++;
break;
}
if (obj2 != null) {
jArr[i2] = j;
objArr[i2] = obj2;
i2++;
}
i5++;
}
if (i5 == i) {
jArr[i3] = key;
objArr[i3] = value;
} else {
while (i2 < i4) {
long j2 = this.keys[i5];
Object obj3 = this.values[i5];
if (obj3 != null) {
jArr[i2] = j2;
objArr[i2] = obj3;
i2++;
}
i5++;
}
}
} else {
jArr[0] = key;
objArr[0] = value;
}
return new ThreadMap(i4, jArr, objArr);
}
public final boolean trySet(long key, @Nullable Object value) {
int find = find(key);
if (find < 0) {
return false;
}
this.values[find] = value;
return true;
}
}