mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
423 lines
26 KiB
Java
423 lines
26 KiB
Java
|
package androidx.compose.runtime.snapshots;
|
|||
|
|
|||
|
import androidx.compose.runtime.collection.IdentityArraySet;
|
|||
|
import androidx.exifinterface.media.ExifInterface;
|
|||
|
import io.sentry.protocol.SentryStackTrace;
|
|||
|
import io.sentry.protocol.SentryThread;
|
|||
|
import java.util.List;
|
|||
|
import java.util.Set;
|
|||
|
import kotlin.Metadata;
|
|||
|
import kotlin.Unit;
|
|||
|
import kotlin.collections.CollectionsKt;
|
|||
|
import kotlin.jvm.functions.Function0;
|
|||
|
import kotlin.jvm.functions.Function1;
|
|||
|
import kotlin.jvm.functions.Function2;
|
|||
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|||
|
import kotlin.jvm.internal.InlineMarker;
|
|||
|
import kotlin.jvm.internal.Intrinsics;
|
|||
|
|
|||
|
/* compiled from: Snapshot.kt */
|
|||
|
@Metadata(d1 = {"\u0000R\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0015\n\u0002\u0018\u0002\n\u0002\b\u001b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\b7\u0018\u0000 S2\u00020\u0001:\u0001SB\u0017\b\u0004\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\r\u00100\u001a\u00020\"H\u0000¢\u0006\u0002\b1J\r\u00102\u001a\u00020\"H\u0010¢\u0006\u0002\b3J\b\u00104\u001a\u00020\"H\u0016J%\u00105\u001a\u0002H6\"\u0004\b\u0000\u001062\f\u00107\u001a\b\u0012\u0004\u0012\u0002H608H\u0086\bø\u0001\u0000¢\u0006\u0002\u00109J\b\u0010:\u001a\u00020\bH&J\n\u0010;\u001a\u0004\u0018\u00010\u0000H\u0011J\u0015\u0010<\u001a\u00020\"2\u0006\u0010=\u001a\u00020\u0000H ¢\u0006\u0002\b>J\u0015\u0010?\u001a\u00020\"2\u0006\u0010=\u001a\u00020\u0000H ¢\u0006\u0002\b@J\r\u0010A\u001a\u00020\"H ¢\u0006\u0002\bBJ\u0015\u0010C\u001a\u00020\"2\u0006\u0010D\u001a\u00020\u001aH ¢\u0006\u0002\bEJ\r\u0010F\u001a\u00020\"H\u0000¢\u0006\u0002\bGJ\r\u0010H\u001a\u00020\"H\u0010¢\u0006\u0002\bIJ\u0012\u0010J\u001a\u00020\"2\b\u0010=\u001a\u0004\u0018\u00010\u0000H\u0011J \u0010K\u001a\u00020\u00002\u0016\b\u0002\u0010 \u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\"\u0018\u00010!H&J\r\u0010L\u001a\u00020\u0003H\u0000¢\u0006\u0002\bMJ\n\u0010N\u001a\u0004\u0018\u00010\u0000H\u0007J\u0012\u0010O\u001a\u00020\"2\b\u0010P\u001a\u0004\u0018\u00010\u0000H\u0007J\r\u0010Q\u001a\u00020\"H\u0000¢\u0006\u0002\bRR\u001a\u0010\u0007\u001a\u00020\bX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\t\u0010\n\"\u0004\b\u000b\u0010\fR$\u0010\u0002\u001a\u00020\u00032\u0006\u0010\r\u001a\u00020\u0003@PX\u0096\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u000e\u0010\u000f\"\u0004\b\u0010\u0010\u0011R\u001a\u0010\u0004\u001a\u00020\u0005X\u0090\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0013\"\u0004\b\u0014\u0010\u0015R\u0015\u0010\u0016\u001a\u00020\b8À\u0002X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0017\u0010\nR\u001a\u0010\u0018\u001a\n\u0012\u0004\u0012\u00020\u001a\u0018\u00010\u0019X \u0004¢\u0006\u0006\u001a\u0004\b\u001b\u0010\u001cR\u0014\u0010\u001d\u001a\u00020\u0003X\u0082\u000e¢\u0006\b\n\u0000\u0012\u0004\b\u001e\u0010\u001fR \u0010 \u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\"\u0018\u00010!X \u0004¢\u0006\u0006\u001a\u0004\b#\u0010$R\u0012\u0010%\u001a\u00020\bX¦\u0004¢\u0006\u0006\u001a\u0004\b&\u0010\nR\u0012\u0010'\u001a\u00020\u0000X¦\u0004¢\u0006\u0006\u001a\u0004\b(\u0010)R$\u0010+\u001a\u00020\u00032\u0006\u0010*\u001a\u00020\u00038P@PX\u0090\u000e¢\u0006\f\u001a\u0004\b,\u0010\u000f\"\u0004\b-\u0010\u0011R \u0010.\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\"\u0018\u00010!X \u0004¢\u0006\u0006\u001a\u0004\b/\u0010$\u0082\u0001\u0004TUVW\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006X"}, d2 = {"Landroidx/compose/runtime/snapshots/Snapshot;", "", "id", "", "invalid", "Landroidx/compose/runtime/snapshots/SnapshotIdSet;", "(ILandroidx/compose/runtime/snapshots/SnapshotIdSet;)V", "disposed", "", "getDisposed$runtime_release", "()Z", "setDisposed$runtime_release", "(Z)V", "<set-?>", "getId", "()I", "setId$runtime_release", "(I)V", "getInvalid$runtime_release", "()Landroidx/compose/runtime/snapshots/SnapshotIdSet;", "setInvalid$runtime_release", "(Landroidx/compose/runtime/snapshots/SnapshotIdSet;)V", "isPinned", "isPinned$runtime_release", "modified", "Landroidx/compose/runtime/collection/IdentityArraySet;", "Landroidx/compose/runtime/snapshots/StateObject;", "getModified$runtime_release", "()Landroidx/compose/runtime/collection/IdentityArraySet;", "pinningTrackingHandle", "getPinningTrackingHandle$annotations", "()V", "readObserver", "Lkotlin/Function1;", "", "getReadObserver$runtime_release", "()Lkotlin/jvm/functions/Function1;", "readOnly",
|
|||
|
/* loaded from: classes.dex */
|
|||
|
public abstract class Snapshot {
|
|||
|
private boolean disposed;
|
|||
|
private int id;
|
|||
|
private SnapshotIdSet invalid;
|
|||
|
private int pinningTrackingHandle;
|
|||
|
|
|||
|
/* renamed from: Companion, reason: from kotlin metadata */
|
|||
|
public static final Companion INSTANCE = new Companion(null);
|
|||
|
public static final int $stable = 8;
|
|||
|
|
|||
|
public /* synthetic */ Snapshot(int i, SnapshotIdSet snapshotIdSet, DefaultConstructorMarker defaultConstructorMarker) {
|
|||
|
this(i, snapshotIdSet);
|
|||
|
}
|
|||
|
|
|||
|
private static /* synthetic */ void getPinningTrackingHandle$annotations() {
|
|||
|
}
|
|||
|
|
|||
|
/* renamed from: getDisposed$runtime_release, reason: from getter */
|
|||
|
public final boolean getDisposed() {
|
|||
|
return this.disposed;
|
|||
|
}
|
|||
|
|
|||
|
public int getId() {
|
|||
|
return this.id;
|
|||
|
}
|
|||
|
|
|||
|
/* renamed from: getInvalid$runtime_release, reason: from getter */
|
|||
|
public SnapshotIdSet getInvalid() {
|
|||
|
return this.invalid;
|
|||
|
}
|
|||
|
|
|||
|
public abstract IdentityArraySet<StateObject> getModified$runtime_release();
|
|||
|
|
|||
|
public abstract Function1<Object, Unit> getReadObserver$runtime_release();
|
|||
|
|
|||
|
public abstract boolean getReadOnly();
|
|||
|
|
|||
|
public abstract Snapshot getRoot();
|
|||
|
|
|||
|
public int getWriteCount$runtime_release() {
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
public abstract Function1<Object, Unit> getWriteObserver$runtime_release();
|
|||
|
|
|||
|
public abstract boolean hasPendingChanges();
|
|||
|
|
|||
|
/* renamed from: nestedActivated$runtime_release */
|
|||
|
public abstract void mo2287nestedActivated$runtime_release(Snapshot snapshot);
|
|||
|
|
|||
|
/* renamed from: nestedDeactivated$runtime_release */
|
|||
|
public abstract void mo2288nestedDeactivated$runtime_release(Snapshot snapshot);
|
|||
|
|
|||
|
public abstract void notifyObjectsInitialized$runtime_release();
|
|||
|
|
|||
|
/* renamed from: recordModified$runtime_release */
|
|||
|
public abstract void mo2289recordModified$runtime_release(StateObject state);
|
|||
|
|
|||
|
public final void setDisposed$runtime_release(boolean z) {
|
|||
|
this.disposed = z;
|
|||
|
}
|
|||
|
|
|||
|
public void setId$runtime_release(int i) {
|
|||
|
this.id = i;
|
|||
|
}
|
|||
|
|
|||
|
public void setInvalid$runtime_release(SnapshotIdSet snapshotIdSet) {
|
|||
|
Intrinsics.checkNotNullParameter(snapshotIdSet, "<set-?>");
|
|||
|
this.invalid = snapshotIdSet;
|
|||
|
}
|
|||
|
|
|||
|
public abstract Snapshot takeNestedSnapshot(Function1<Object, Unit> readObserver);
|
|||
|
|
|||
|
public final int takeoverPinnedSnapshot$runtime_release() {
|
|||
|
int i = this.pinningTrackingHandle;
|
|||
|
this.pinningTrackingHandle = -1;
|
|||
|
return i;
|
|||
|
}
|
|||
|
|
|||
|
private Snapshot(int i, SnapshotIdSet snapshotIdSet) {
|
|||
|
this.invalid = snapshotIdSet;
|
|||
|
this.id = i;
|
|||
|
this.pinningTrackingHandle = i != 0 ? SnapshotKt.trackPinning(i, getInvalid()) : -1;
|
|||
|
}
|
|||
|
|
|||
|
public void setWriteCount$runtime_release(int i) {
|
|||
|
throw new IllegalStateException("Updating write count is not supported for this snapshot".toString());
|
|||
|
}
|
|||
|
|
|||
|
/* JADX WARN: Multi-variable type inference failed */
|
|||
|
public static /* synthetic */ Snapshot takeNestedSnapshot$default(Snapshot snapshot, Function1 function1, int i, Object obj) {
|
|||
|
if (obj != null) {
|
|||
|
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: takeNestedSnapshot");
|
|||
|
}
|
|||
|
if ((i & 1) != 0) {
|
|||
|
function1 = null;
|
|||
|
}
|
|||
|
return snapshot.takeNestedSnapshot(function1);
|
|||
|
}
|
|||
|
|
|||
|
public final <T> T enter(Function0<? extends T> block) {
|
|||
|
Intrinsics.checkNotNullParameter(block, "block");
|
|||
|
Snapshot makeCurrent = makeCurrent();
|
|||
|
try {
|
|||
|
return block.invoke();
|
|||
|
} finally {
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
restoreCurrent(makeCurrent);
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public Snapshot makeCurrent() {
|
|||
|
Snapshot snapshot = (Snapshot) SnapshotKt.access$getThreadSnapshot$p().get();
|
|||
|
SnapshotKt.access$getThreadSnapshot$p().set(this);
|
|||
|
return snapshot;
|
|||
|
}
|
|||
|
|
|||
|
public void restoreCurrent(Snapshot snapshot) {
|
|||
|
SnapshotKt.access$getThreadSnapshot$p().set(snapshot);
|
|||
|
}
|
|||
|
|
|||
|
public final Snapshot unsafeEnter() {
|
|||
|
return makeCurrent();
|
|||
|
}
|
|||
|
|
|||
|
public final void unsafeLeave(Snapshot oldSnapshot) {
|
|||
|
if (SnapshotKt.access$getThreadSnapshot$p().get() != this) {
|
|||
|
throw new IllegalStateException(("Cannot leave snapshot; " + this + " is not the current snapshot").toString());
|
|||
|
}
|
|||
|
restoreCurrent(oldSnapshot);
|
|||
|
}
|
|||
|
|
|||
|
public final boolean isPinned$runtime_release() {
|
|||
|
return this.pinningTrackingHandle >= 0;
|
|||
|
}
|
|||
|
|
|||
|
public void closeLocked$runtime_release() {
|
|||
|
SnapshotKt.access$setOpenSnapshots$p(SnapshotKt.access$getOpenSnapshots$p().clear(getId()));
|
|||
|
}
|
|||
|
|
|||
|
public void releasePinnedSnapshotsForCloseLocked$runtime_release() {
|
|||
|
releasePinnedSnapshotLocked$runtime_release();
|
|||
|
}
|
|||
|
|
|||
|
public final void validateNotDisposed$runtime_release() {
|
|||
|
if (!(!this.disposed)) {
|
|||
|
throw new IllegalArgumentException("Cannot use a disposed snapshot".toString());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public final void releasePinnedSnapshotLocked$runtime_release() {
|
|||
|
int i = this.pinningTrackingHandle;
|
|||
|
if (i >= 0) {
|
|||
|
SnapshotKt.releasePinningLocked(i);
|
|||
|
this.pinningTrackingHandle = -1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/* compiled from: Snapshot.kt */
|
|||
|
@Metadata(d1 = {"\u0000Z\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\"\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\b\u0010\n\u001a\u00020\u0004H\u0001J%\u0010\u000b\u001a\u0002H\f\"\u0004\b\u0000\u0010\f2\f\u0010\r\u001a\b\u0012\u0004\u0012\u0002H\f0\u000eH\u0086\bø\u0001\u0000¢\u0006\u0002\u0010\u000fJ\u0006\u0010\u0010\u001a\u00020\u0011JO\u0010\u0012\u001a\u0002H\f\"\u0004\b\u0000\u0010\f2\u0016\b\u0002\u0010\u0013\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u00142\u0016\b\u0002\u0010\u0015\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u00142\f\u0010\r\u001a\b\u0012\u0004\u0012\u0002H\f0\u000e¢\u0006\u0002\u0010\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0007J&\u0010\u0019\u001a\u00020\u001a2\u001e\u0010\u001b\u001a\u001a\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00010\u001d\u0012\u0004\u0012\u00020\u0004\u0012\u0004\u0012\u00020\u00110\u001cJ\u001a\u0010\u001e\u001a\u00020\u001a2\u0012\u0010\u001b\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00110\u0014J\n\u0010\u001f\u001a\u0004\u0018\u00010\u0004H\u0001J\u0012\u0010 \u001a\u00020\u00112\b\u0010!\u001a\u0004\u0018\u00010\u0004H\u0001J\u0006\u0010\"\u001a\u00020\u0011J6\u0010#\u001a\u00020$2\u0016\b\u0002\u0010\u0013\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u00142\u0016\b\u0002\u0010\u0015\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u0014J\u001e\u0010%\u001a\u00020\u00042\u0016\b\u0002\u0010\u0013\u001a\u0010\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u0014J%\u0010&\u001a\u0002H'\"\u0004\b\u0000\u0010'2\f\u0010\r\u001a\b\u0012\u0004\u0012\u0002H'0\u000eH\u0086\bø\u0001\u0000¢\u0006\u0002\u0010\u000fJ7\u0010(\u001a\u0002H\f\"\u0004\b\u0000\u0010\f2\u0011\u0010\r\u001a\r\u0012\u0004\u0012\u0002H\f0\u000e¢\u0006\u0002\b)H\u0086\bø\u0001\u0000\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\u000fR\u0011\u0010\u0003\u001a\u00020\u00048F¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0011\u0010\u0007\u001a\u00020\b8F¢\u0006\u0006\u001a\u0004\b\u0007\u0010\t\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006*"}, d2 = {"Landroidx/compose/runtime/snapshots/Snapshot$Companion;", "", "()V", SentryThread.JsonKeys.CURRENT, "Landroidx/compose/runtime/snapshots/Snapshot;", "getCurrent", "()Landroidx/compose/runtime/snapshots/Snapshot;", "isApplyObserverNotificationPending", "", "()Z", "createNonObservableSnapshot", "global", ExifInterface.GPS_DIRECTION_TRUE, "block", "Lkotlin/Function0;", "(Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "notifyObjectsInitialized", "", "observe", "readObserver", "Lkotlin/Function1;", "writeObserver", "(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "openSnapshotCount", "", "registerApplyObserver", "Landroidx/compose/runtime/snapshots/ObserverHandle;", "observer", "Lkotlin/Function2;", "", "registerGlobalWriteObserver", "removeCurrent", "restoreCurrent", "previous", "sendApplyNotifications", "takeMutableSnapshot", "Landroidx/compose/runtime/snapshots/MutableSnapshot;", "takeSnapshot", "withMutableSnapshot", "R", "withoutReadObservation", "Landroidx/compose/runtime/DisallowComposableCalls;", "runtime_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
|||
|
/* loaded from: classes.dex */
|
|||
|
public static final class Companion {
|
|||
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|||
|
this();
|
|||
|
}
|
|||
|
|
|||
|
private Companion() {
|
|||
|
}
|
|||
|
|
|||
|
public final Snapshot getCurrent() {
|
|||
|
return SnapshotKt.currentSnapshot();
|
|||
|
}
|
|||
|
|
|||
|
public final boolean isApplyObserverNotificationPending() {
|
|||
|
return SnapshotKt.access$getPendingApplyObserverCount$p().get() > 0;
|
|||
|
}
|
|||
|
|
|||
|
/* JADX WARN: Multi-variable type inference failed */
|
|||
|
public static /* synthetic */ Snapshot takeSnapshot$default(Companion companion, Function1 function1, int i, Object obj) {
|
|||
|
if ((i & 1) != 0) {
|
|||
|
function1 = null;
|
|||
|
}
|
|||
|
return companion.takeSnapshot(function1);
|
|||
|
}
|
|||
|
|
|||
|
public final Snapshot takeSnapshot(Function1<Object, Unit> readObserver) {
|
|||
|
return SnapshotKt.currentSnapshot().takeNestedSnapshot(readObserver);
|
|||
|
}
|
|||
|
|
|||
|
/* JADX WARN: Multi-variable type inference failed */
|
|||
|
public static /* synthetic */ MutableSnapshot takeMutableSnapshot$default(Companion companion, Function1 function1, Function1 function12, int i, Object obj) {
|
|||
|
if ((i & 1) != 0) {
|
|||
|
function1 = null;
|
|||
|
}
|
|||
|
if ((i & 2) != 0) {
|
|||
|
function12 = null;
|
|||
|
}
|
|||
|
return companion.takeMutableSnapshot(function1, function12);
|
|||
|
}
|
|||
|
|
|||
|
public final MutableSnapshot takeMutableSnapshot(Function1<Object, Unit> readObserver, Function1<Object, Unit> writeObserver) {
|
|||
|
MutableSnapshot takeNestedMutableSnapshot;
|
|||
|
Snapshot currentSnapshot = SnapshotKt.currentSnapshot();
|
|||
|
MutableSnapshot mutableSnapshot = currentSnapshot instanceof MutableSnapshot ? (MutableSnapshot) currentSnapshot : null;
|
|||
|
if (mutableSnapshot == null || (takeNestedMutableSnapshot = mutableSnapshot.takeNestedMutableSnapshot(readObserver, writeObserver)) == null) {
|
|||
|
throw new IllegalStateException("Cannot create a mutable snapshot of an read-only snapshot".toString());
|
|||
|
}
|
|||
|
return takeNestedMutableSnapshot;
|
|||
|
}
|
|||
|
|
|||
|
public final <T> T global(Function0<? extends T> block) {
|
|||
|
Intrinsics.checkNotNullParameter(block, "block");
|
|||
|
Snapshot removeCurrent = removeCurrent();
|
|||
|
T invoke = block.invoke();
|
|||
|
Snapshot.INSTANCE.restoreCurrent(removeCurrent);
|
|||
|
return invoke;
|
|||
|
}
|
|||
|
|
|||
|
public final <R> R withMutableSnapshot(Function0<? extends R> block) {
|
|||
|
Intrinsics.checkNotNullParameter(block, "block");
|
|||
|
MutableSnapshot takeMutableSnapshot$default = takeMutableSnapshot$default(this, null, null, 3, null);
|
|||
|
try {
|
|||
|
MutableSnapshot mutableSnapshot = takeMutableSnapshot$default;
|
|||
|
Snapshot makeCurrent = mutableSnapshot.makeCurrent();
|
|||
|
try {
|
|||
|
R invoke = block.invoke();
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
mutableSnapshot.restoreCurrent(makeCurrent);
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
takeMutableSnapshot$default.apply().check();
|
|||
|
return invoke;
|
|||
|
} catch (Throwable th) {
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
mutableSnapshot.restoreCurrent(makeCurrent);
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
throw th;
|
|||
|
}
|
|||
|
} finally {
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
takeMutableSnapshot$default.dispose();
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/* JADX WARN: Multi-variable type inference failed */
|
|||
|
public static /* synthetic */ Object observe$default(Companion companion, Function1 function1, Function1 function12, Function0 function0, int i, Object obj) {
|
|||
|
if ((i & 1) != 0) {
|
|||
|
function1 = null;
|
|||
|
}
|
|||
|
if ((i & 2) != 0) {
|
|||
|
function12 = null;
|
|||
|
}
|
|||
|
return companion.observe(function1, function12, function0);
|
|||
|
}
|
|||
|
|
|||
|
public final <T> T observe(Function1<Object, Unit> readObserver, Function1<Object, Unit> writeObserver, Function0<? extends T> block) {
|
|||
|
TransparentObserverMutableSnapshot transparentObserverMutableSnapshot;
|
|||
|
Intrinsics.checkNotNullParameter(block, "block");
|
|||
|
if (readObserver != null || writeObserver != null) {
|
|||
|
Snapshot snapshot = (Snapshot) SnapshotKt.access$getThreadSnapshot$p().get();
|
|||
|
if (snapshot == null || (snapshot instanceof MutableSnapshot)) {
|
|||
|
transparentObserverMutableSnapshot = new TransparentObserverMutableSnapshot(snapshot instanceof MutableSnapshot ? (MutableSnapshot) snapshot : null, readObserver, writeObserver, true, false);
|
|||
|
} else {
|
|||
|
if (readObserver == null) {
|
|||
|
return block.invoke();
|
|||
|
}
|
|||
|
transparentObserverMutableSnapshot = snapshot.takeNestedSnapshot(readObserver);
|
|||
|
}
|
|||
|
try {
|
|||
|
Snapshot makeCurrent = transparentObserverMutableSnapshot.makeCurrent();
|
|||
|
try {
|
|||
|
return block.invoke();
|
|||
|
} finally {
|
|||
|
transparentObserverMutableSnapshot.restoreCurrent(makeCurrent);
|
|||
|
}
|
|||
|
} finally {
|
|||
|
transparentObserverMutableSnapshot.dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
return block.invoke();
|
|||
|
}
|
|||
|
|
|||
|
public final Snapshot createNonObservableSnapshot() {
|
|||
|
return SnapshotKt.createTransparentSnapshotWithNoParentReadObserver$default((Snapshot) SnapshotKt.access$getThreadSnapshot$p().get(), null, false, 6, null);
|
|||
|
}
|
|||
|
|
|||
|
public final <T> T withoutReadObservation(Function0<? extends T> block) {
|
|||
|
Intrinsics.checkNotNullParameter(block, "block");
|
|||
|
Snapshot createNonObservableSnapshot = createNonObservableSnapshot();
|
|||
|
try {
|
|||
|
Snapshot makeCurrent = createNonObservableSnapshot.makeCurrent();
|
|||
|
try {
|
|||
|
return block.invoke();
|
|||
|
} finally {
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
createNonObservableSnapshot.restoreCurrent(makeCurrent);
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
}
|
|||
|
} finally {
|
|||
|
InlineMarker.finallyStart(1);
|
|||
|
createNonObservableSnapshot.dispose();
|
|||
|
InlineMarker.finallyEnd(1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public final ObserverHandle registerApplyObserver(final Function2<? super Set<? extends Object>, ? super Snapshot, Unit> observer) {
|
|||
|
Intrinsics.checkNotNullParameter(observer, "observer");
|
|||
|
SnapshotKt.access$advanceGlobalSnapshot(SnapshotKt.access$getEmptyLambda$p());
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
SnapshotKt.access$getApplyObservers$p().add(observer);
|
|||
|
}
|
|||
|
return new ObserverHandle() { // from class: androidx.compose.runtime.snapshots.Snapshot$Companion$registerApplyObserver$2
|
|||
|
@Override // androidx.compose.runtime.snapshots.ObserverHandle
|
|||
|
public final void dispose() {
|
|||
|
List list;
|
|||
|
Function2<Set<? extends Object>, Snapshot, Unit> function2 = observer;
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
list = SnapshotKt.applyObservers;
|
|||
|
list.remove(function2);
|
|||
|
Unit unit = Unit.INSTANCE;
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
public final void notifyObjectsInitialized() {
|
|||
|
SnapshotKt.currentSnapshot().notifyObjectsInitialized$runtime_release();
|
|||
|
}
|
|||
|
|
|||
|
public final int openSnapshotCount() {
|
|||
|
return CollectionsKt.toList(SnapshotKt.access$getOpenSnapshots$p()).size();
|
|||
|
}
|
|||
|
|
|||
|
public final Snapshot removeCurrent() {
|
|||
|
Snapshot snapshot = (Snapshot) SnapshotKt.access$getThreadSnapshot$p().get();
|
|||
|
if (snapshot != null) {
|
|||
|
SnapshotKt.access$getThreadSnapshot$p().set(null);
|
|||
|
}
|
|||
|
return snapshot;
|
|||
|
}
|
|||
|
|
|||
|
public final void restoreCurrent(Snapshot previous) {
|
|||
|
if (previous != null) {
|
|||
|
SnapshotKt.access$getThreadSnapshot$p().set(previous);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public final ObserverHandle registerGlobalWriteObserver(final Function1<Object, Unit> observer) {
|
|||
|
Intrinsics.checkNotNullParameter(observer, "observer");
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
SnapshotKt.access$getGlobalWriteObservers$p().add(observer);
|
|||
|
}
|
|||
|
SnapshotKt.access$advanceGlobalSnapshot();
|
|||
|
return new ObserverHandle() { // from class: androidx.compose.runtime.snapshots.Snapshot$Companion$registerGlobalWriteObserver$2
|
|||
|
@Override // androidx.compose.runtime.snapshots.ObserverHandle
|
|||
|
public final void dispose() {
|
|||
|
List list;
|
|||
|
Function1<Object, Unit> function1 = observer;
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
list = SnapshotKt.globalWriteObservers;
|
|||
|
list.remove(function1);
|
|||
|
}
|
|||
|
SnapshotKt.advanceGlobalSnapshot();
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
public final void sendApplyNotifications() {
|
|||
|
boolean z;
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
IdentityArraySet<StateObject> modified$runtime_release = ((GlobalSnapshot) SnapshotKt.access$getCurrentGlobalSnapshot$p().get()).getModified$runtime_release();
|
|||
|
z = false;
|
|||
|
if (modified$runtime_release != null) {
|
|||
|
if (modified$runtime_release.isNotEmpty()) {
|
|||
|
z = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (z) {
|
|||
|
SnapshotKt.access$advanceGlobalSnapshot();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void dispose() {
|
|||
|
this.disposed = true;
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
releasePinnedSnapshotLocked$runtime_release();
|
|||
|
Unit unit = Unit.INSTANCE;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public final void closeAndReleasePinning$runtime_release() {
|
|||
|
synchronized (SnapshotKt.getLock()) {
|
|||
|
closeLocked$runtime_release();
|
|||
|
releasePinnedSnapshotsForCloseLocked$runtime_release();
|
|||
|
Unit unit = Unit.INSTANCE;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|