Files

108 lines
5.5 KiB
Java

package kotlinx.coroutines;
import com.google.android.gms.measurement.api.AppMeasurementSdk;
import com.google.firebase.remoteconfig.RemoteConfigConstants;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import kotlin.KotlinNothingValueException;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
/* JADX INFO: Access modifiers changed from: package-private */
@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0001\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\b\u0002\u0018\u00002#\u0012\u0015\u0012\u0013\u0018\u00010\u0002¢\u0006\f\b\u0003\u0012\b\b\u0004\u0012\u0004\b\b(\u0005\u0012\u0004\u0012\u00020\u00060\u0001j\u0002`\u0007B\r\u0012\u0006\u0010\b\u001a\u00020\\u0006\u0002\u0010\nJ\u0006\u0010\u0012\u001a\u00020\u0006J\u0010\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0015\u001a\u00020\u0016H\u0002J\u0013\u0010\u0017\u001a\u00020\u00062\b\u0010\u0005\u001a\u0004\u0018\u00010\u0002H\u0096\u0002J\u0006\u0010\u0018\u001a\u00020\u0006R\t\u0010\u000b\u001a\u00020\fX\u0082\u0004R\u0010\u0010\r\u001a\u0004\u0018\u00010\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\u000f\u001a\n \u0011*\u0004\u0018\u00010\u00100\u0010X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0019"}, d2 = {"Lkotlinx/coroutines/ThreadState;", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "job", "Lkotlinx/coroutines/Job;", "(Lkotlinx/coroutines/Job;)V", "_state", "Lkotlinx/atomicfu/AtomicInt;", "cancelHandle", "Lkotlinx/coroutines/DisposableHandle;", "targetThread", "Ljava/lang/Thread;", "kotlin.jvm.PlatformType", "clearInterrupt", "invalidState", "", RemoteConfigConstants.ResponseFieldKey.STATE, "", "invoke", "setup", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class ThreadState implements Function1<Throwable, Unit> {
private static final /* synthetic */ AtomicIntegerFieldUpdater _state$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(ThreadState.class, "_state$volatile");
private volatile /* synthetic */ int _state$volatile;
private DisposableHandle cancelHandle;
private final Job job;
private final Thread targetThread = Thread.currentThread();
public ThreadState(Job job) {
this.job = job;
}
private final /* synthetic */ int get_state$volatile() {
return this._state$volatile;
}
private final Void invalidState(int state) {
throw new IllegalStateException(("Illegal state " + state).toString());
}
private final /* synthetic */ void loop$atomicfu(Object obj, AtomicIntegerFieldUpdater atomicIntegerFieldUpdater, Function1<? super Integer, Unit> function1) {
while (true) {
function1.invoke(Integer.valueOf(atomicIntegerFieldUpdater.get(obj)));
}
}
private final /* synthetic */ void set_state$volatile(int i) {
this._state$volatile = i;
}
public final void clearInterrupt() {
AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _state$volatile$FU;
while (true) {
int i = atomicIntegerFieldUpdater.get(this);
if (i != 0) {
if (i != 2) {
if (i == 3) {
Thread.interrupted();
return;
} else {
invalidState(i);
throw new KotlinNothingValueException();
}
}
} else if (_state$volatile$FU.compareAndSet(this, i, 1)) {
DisposableHandle disposableHandle = this.cancelHandle;
if (disposableHandle != null) {
disposableHandle.dispose();
return;
}
return;
}
}
}
@Override // kotlin.jvm.functions.Function1
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
invoke2(th);
return Unit.INSTANCE;
}
public final void setup() {
int i;
this.cancelHandle = this.job.invokeOnCompletion(true, true, this);
AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _state$volatile$FU;
do {
i = atomicIntegerFieldUpdater.get(this);
if (i != 0) {
if (i == 2 || i == 3) {
return;
}
invalidState(i);
throw new KotlinNothingValueException();
}
} while (!_state$volatile$FU.compareAndSet(this, i, 0));
}
/* renamed from: invoke, reason: avoid collision after fix types in other method */
public void invoke2(Throwable cause) {
int i;
AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _state$volatile$FU;
do {
i = atomicIntegerFieldUpdater.get(this);
if (i != 0) {
if (i == 1 || i == 2 || i == 3) {
return;
}
invalidState(i);
throw new KotlinNothingValueException();
}
} while (!_state$volatile$FU.compareAndSet(this, i, 2));
this.targetThread.interrupt();
_state$volatile$FU.set(this, 3);
}
}