Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

1186 lines
51 KiB
Java

package kotlinx.coroutines;
import androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0;
import com.facebook.internal.AnalyticsEvents;
import java.util.ArrayList;
import java.util.Collections;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CancellationException;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
import kotlin.ExceptionsKt__ExceptionsKt;
import kotlin.Unit;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.CoroutineContext;
import kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt;
import kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsKt;
import kotlin.coroutines.jvm.internal.DebugProbesKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Ref;
import kotlinx.coroutines.Job;
import kotlinx.coroutines.internal.LockFreeLinkedListKt;
import kotlinx.coroutines.internal.LockFreeLinkedListNode;
import kotlinx.coroutines.internal.OpDescriptor;
import kotlinx.coroutines.internal.Symbol;
/* loaded from: classes5.dex */
public class JobSupport implements Job, ChildJob, ParentJob {
private volatile Object _parentHandle;
private volatile Object _state;
public static final AtomicReferenceFieldUpdater _state$FU = AtomicReferenceFieldUpdater.newUpdater(JobSupport.class, Object.class, "_state");
public static final AtomicReferenceFieldUpdater _parentHandle$FU = AtomicReferenceFieldUpdater.newUpdater(JobSupport.class, Object.class, "_parentHandle");
public void afterCompletion(Object obj) {
}
public String cancellationExceptionMessage() {
return "Job was cancelled";
}
public boolean getHandlesException$kotlinx_coroutines_core() {
return true;
}
@Override // kotlin.coroutines.CoroutineContext.Element
public final CoroutineContext.Key getKey() {
return Job.Key;
}
public boolean getOnCancelComplete$kotlinx_coroutines_core() {
return false;
}
public boolean handleJobException(Throwable th) {
return false;
}
public boolean isScopedCoroutine() {
return false;
}
public void onCancelling(Throwable th) {
}
public void onCompletionInternal(Object obj) {
}
public void onStart() {
}
public JobSupport(boolean z) {
this._state = z ? JobSupportKt.EMPTY_ACTIVE : JobSupportKt.EMPTY_NEW;
}
@Override // kotlin.coroutines.CoroutineContext
public Object fold(Object obj, Function2 function2) {
return Job.DefaultImpls.fold(this, obj, function2);
}
@Override // kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
public CoroutineContext.Element get(CoroutineContext.Key key) {
return Job.DefaultImpls.get(this, key);
}
@Override // kotlin.coroutines.CoroutineContext
public CoroutineContext minusKey(CoroutineContext.Key key) {
return Job.DefaultImpls.minusKey(this, key);
}
@Override // kotlin.coroutines.CoroutineContext
public CoroutineContext plus(CoroutineContext coroutineContext) {
return Job.DefaultImpls.plus(this, coroutineContext);
}
public final boolean addLastAtomic(final Object obj, NodeList nodeList, final JobNode jobNode) {
int tryCondAddNext;
LockFreeLinkedListNode.CondAddOp condAddOp = new LockFreeLinkedListNode.CondAddOp(jobNode) { // from class: kotlinx.coroutines.JobSupport$addLastAtomic$$inlined$addLastIf$1
@Override // kotlinx.coroutines.internal.AtomicOp
public Object prepare(LockFreeLinkedListNode lockFreeLinkedListNode) {
if (this.getState$kotlinx_coroutines_core() == obj) {
return null;
}
return LockFreeLinkedListKt.getCONDITION_FALSE();
}
};
do {
tryCondAddNext = nodeList.getPrevNode().tryCondAddNext(jobNode, nodeList, condAddOp);
if (tryCondAddNext == 1) {
return true;
}
} while (tryCondAddNext != 2);
return false;
}
public final ChildHandle getParentHandle$kotlinx_coroutines_core() {
return (ChildHandle) _parentHandle$FU.get(this);
}
public final void setParentHandle$kotlinx_coroutines_core(ChildHandle childHandle) {
_parentHandle$FU.set(this, childHandle);
}
@Override // kotlinx.coroutines.Job
public Job getParent() {
ChildHandle parentHandle$kotlinx_coroutines_core = getParentHandle$kotlinx_coroutines_core();
if (parentHandle$kotlinx_coroutines_core != null) {
return parentHandle$kotlinx_coroutines_core.getParent();
}
return null;
}
public final void initParentJob(Job job) {
if (job == null) {
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
return;
}
job.start();
ChildHandle attachChild = job.attachChild(this);
setParentHandle$kotlinx_coroutines_core(attachChild);
if (isCompleted()) {
attachChild.dispose();
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
}
}
public final Object getState$kotlinx_coroutines_core() {
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
while (true) {
Object obj = atomicReferenceFieldUpdater.get(this);
if (!(obj instanceof OpDescriptor)) {
return obj;
}
((OpDescriptor) obj).perform(this);
}
}
public final Object cancelMakeCompleting(Object obj) {
Symbol symbol;
Object tryMakeCompleting;
Symbol symbol2;
do {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete) || ((state$kotlinx_coroutines_core instanceof Finishing) && ((Finishing) state$kotlinx_coroutines_core).isCompleting())) {
symbol = JobSupportKt.COMPLETING_ALREADY;
return symbol;
}
tryMakeCompleting = tryMakeCompleting(state$kotlinx_coroutines_core, new CompletedExceptionally(createCauseException(obj), false, 2, null));
symbol2 = JobSupportKt.COMPLETING_RETRY;
} while (tryMakeCompleting == symbol2);
return tryMakeCompleting;
}
public final boolean joinInternal() {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
return false;
}
} while (startInternal(state$kotlinx_coroutines_core) < 0);
return true;
}
public final Object makeCancelling(Object obj) {
Symbol symbol;
Symbol symbol2;
Symbol symbol3;
Symbol symbol4;
Symbol symbol5;
Symbol symbol6;
Throwable th = null;
while (true) {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Finishing) {
synchronized (state$kotlinx_coroutines_core) {
if (((Finishing) state$kotlinx_coroutines_core).isSealed()) {
symbol2 = JobSupportKt.TOO_LATE_TO_CANCEL;
return symbol2;
}
boolean isCancelling = ((Finishing) state$kotlinx_coroutines_core).isCancelling();
if (obj != null || !isCancelling) {
if (th == null) {
th = createCauseException(obj);
}
((Finishing) state$kotlinx_coroutines_core).addExceptionLocked(th);
}
Throwable rootCause = isCancelling ^ true ? ((Finishing) state$kotlinx_coroutines_core).getRootCause() : null;
if (rootCause != null) {
notifyCancelling(((Finishing) state$kotlinx_coroutines_core).getList(), rootCause);
}
symbol = JobSupportKt.COMPLETING_ALREADY;
return symbol;
}
}
if (state$kotlinx_coroutines_core instanceof Incomplete) {
if (th == null) {
th = createCauseException(obj);
}
Incomplete incomplete = (Incomplete) state$kotlinx_coroutines_core;
if (incomplete.isActive()) {
if (tryMakeCancelling(incomplete, th)) {
symbol4 = JobSupportKt.COMPLETING_ALREADY;
return symbol4;
}
} else {
Object tryMakeCompleting = tryMakeCompleting(state$kotlinx_coroutines_core, new CompletedExceptionally(th, false, 2, null));
symbol5 = JobSupportKt.COMPLETING_ALREADY;
if (tryMakeCompleting == symbol5) {
throw new IllegalStateException(("Cannot happen in " + state$kotlinx_coroutines_core).toString());
}
symbol6 = JobSupportKt.COMPLETING_RETRY;
if (tryMakeCompleting != symbol6) {
return tryMakeCompleting;
}
}
} else {
symbol3 = JobSupportKt.TOO_LATE_TO_CANCEL;
return symbol3;
}
}
}
public final boolean makeCompleting$kotlinx_coroutines_core(Object obj) {
Object tryMakeCompleting;
Symbol symbol;
Symbol symbol2;
do {
tryMakeCompleting = tryMakeCompleting(getState$kotlinx_coroutines_core(), obj);
symbol = JobSupportKt.COMPLETING_ALREADY;
if (tryMakeCompleting == symbol) {
return false;
}
if (tryMakeCompleting == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
symbol2 = JobSupportKt.COMPLETING_RETRY;
} while (tryMakeCompleting == symbol2);
afterCompletion(tryMakeCompleting);
return true;
}
public final Object makeCompletingOnce$kotlinx_coroutines_core(Object obj) {
Object tryMakeCompleting;
Symbol symbol;
Symbol symbol2;
do {
tryMakeCompleting = tryMakeCompleting(getState$kotlinx_coroutines_core(), obj);
symbol = JobSupportKt.COMPLETING_ALREADY;
if (tryMakeCompleting == symbol) {
throw new IllegalStateException("Job " + this + " is already complete or completing, but is being completed with " + obj, getExceptionOrNull(obj));
}
symbol2 = JobSupportKt.COMPLETING_RETRY;
} while (tryMakeCompleting == symbol2);
return tryMakeCompleting;
}
public final void removeNode$kotlinx_coroutines_core(JobNode jobNode) {
Object state$kotlinx_coroutines_core;
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater;
Empty empty;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof JobNode)) {
if (!(state$kotlinx_coroutines_core instanceof Incomplete) || ((Incomplete) state$kotlinx_coroutines_core).getList() == null) {
return;
}
jobNode.remove();
return;
}
if (state$kotlinx_coroutines_core != jobNode) {
return;
}
atomicReferenceFieldUpdater = _state$FU;
empty = JobSupportKt.EMPTY_ACTIVE;
} while (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(atomicReferenceFieldUpdater, this, state$kotlinx_coroutines_core, empty));
}
@Override // kotlinx.coroutines.Job
public final boolean start() {
int startInternal;
do {
startInternal = startInternal(getState$kotlinx_coroutines_core());
if (startInternal == 0) {
return false;
}
} while (startInternal != 1);
return true;
}
@Override // kotlinx.coroutines.Job
public boolean isActive() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
return (state$kotlinx_coroutines_core instanceof Incomplete) && ((Incomplete) state$kotlinx_coroutines_core).isActive();
}
@Override // kotlinx.coroutines.Job
public final boolean isCompleted() {
return !(getState$kotlinx_coroutines_core() instanceof Incomplete);
}
@Override // kotlinx.coroutines.Job
public final boolean isCancelled() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
return (state$kotlinx_coroutines_core instanceof CompletedExceptionally) || ((state$kotlinx_coroutines_core instanceof Finishing) && ((Finishing) state$kotlinx_coroutines_core).isCancelling());
}
public final Object finalizeFinishingState(Finishing finishing, Object obj) {
boolean isCancelling;
Throwable finalRootCause;
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
Throwable th = completedExceptionally != null ? completedExceptionally.cause : null;
synchronized (finishing) {
isCancelling = finishing.isCancelling();
List sealLocked = finishing.sealLocked(th);
finalRootCause = getFinalRootCause(finishing, sealLocked);
if (finalRootCause != null) {
addSuppressedExceptions(finalRootCause, sealLocked);
}
}
if (finalRootCause != null && finalRootCause != th) {
obj = new CompletedExceptionally(finalRootCause, false, 2, null);
}
if (finalRootCause != null && (cancelParent(finalRootCause) || handleJobException(finalRootCause))) {
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.CompletedExceptionally");
((CompletedExceptionally) obj).makeHandled();
}
if (!isCancelling) {
onCancelling(finalRootCause);
}
onCompletionInternal(obj);
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, finishing, JobSupportKt.boxIncomplete(obj));
completeStateFinalization(finishing, obj);
return obj;
}
public final Throwable getFinalRootCause(Finishing finishing, List list) {
Object obj;
Object obj2 = null;
if (list.isEmpty()) {
if (finishing.isCancelling()) {
return new JobCancellationException(cancellationExceptionMessage(), null, this);
}
return null;
}
List list2 = list;
Iterator it = list2.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (!(((Throwable) obj) instanceof CancellationException)) {
break;
}
}
Throwable th = (Throwable) obj;
if (th != null) {
return th;
}
Throwable th2 = (Throwable) list.get(0);
if (th2 instanceof TimeoutCancellationException) {
Iterator it2 = list2.iterator();
while (true) {
if (!it2.hasNext()) {
break;
}
Object next = it2.next();
Throwable th3 = (Throwable) next;
if (th3 != th2 && (th3 instanceof TimeoutCancellationException)) {
obj2 = next;
break;
}
}
Throwable th4 = (Throwable) obj2;
if (th4 != null) {
return th4;
}
}
return th2;
}
public final void addSuppressedExceptions(Throwable th, List list) {
if (list.size() <= 1) {
return;
}
Set newSetFromMap = Collections.newSetFromMap(new IdentityHashMap(list.size()));
Iterator it = list.iterator();
while (it.hasNext()) {
Throwable th2 = (Throwable) it.next();
if (th2 != th && th2 != th && !(th2 instanceof CancellationException) && newSetFromMap.add(th2)) {
ExceptionsKt__ExceptionsKt.addSuppressed(th, th2);
}
}
}
public final boolean tryFinalizeSimpleState(Incomplete incomplete, Object obj) {
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, incomplete, JobSupportKt.boxIncomplete(obj))) {
return false;
}
onCancelling(null);
onCompletionInternal(obj);
completeStateFinalization(incomplete, obj);
return true;
}
public final void completeStateFinalization(Incomplete incomplete, Object obj) {
ChildHandle parentHandle$kotlinx_coroutines_core = getParentHandle$kotlinx_coroutines_core();
if (parentHandle$kotlinx_coroutines_core != null) {
parentHandle$kotlinx_coroutines_core.dispose();
setParentHandle$kotlinx_coroutines_core(NonDisposableHandle.INSTANCE);
}
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
Throwable th = completedExceptionally != null ? completedExceptionally.cause : null;
if (incomplete instanceof JobNode) {
try {
((JobNode) incomplete).invoke(th);
return;
} catch (Throwable th2) {
handleOnCompletionException$kotlinx_coroutines_core(new CompletionHandlerException("Exception in completion handler " + incomplete + " for " + this, th2));
return;
}
}
NodeList list = incomplete.getList();
if (list != null) {
notifyCompletion(list, th);
}
}
public final Object joinSuspend(Continuation continuation) {
Continuation intercepted;
Object coroutine_suspended;
Object coroutine_suspended2;
intercepted = IntrinsicsKt__IntrinsicsJvmKt.intercepted(continuation);
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(intercepted, 1);
cancellableContinuationImpl.initCancellability();
CancellableContinuationKt.disposeOnCancellation(cancellableContinuationImpl, invokeOnCompletion(new ResumeOnCompletion(cancellableContinuationImpl)));
Object result = cancellableContinuationImpl.getResult();
coroutine_suspended = IntrinsicsKt__IntrinsicsKt.getCOROUTINE_SUSPENDED();
if (result == coroutine_suspended) {
DebugProbesKt.probeCoroutineSuspended(continuation);
}
coroutine_suspended2 = IntrinsicsKt__IntrinsicsKt.getCOROUTINE_SUSPENDED();
return result == coroutine_suspended2 ? result : Unit.INSTANCE;
}
public final void notifyCancelling(NodeList nodeList, Throwable th) {
onCancelling(th);
Object next = nodeList.getNext();
Intrinsics.checkNotNull(next, "null cannot be cast to non-null type kotlinx.coroutines.internal.LockFreeLinkedListNode{ kotlinx.coroutines.internal.LockFreeLinkedListKt.Node }");
CompletionHandlerException completionHandlerException = null;
for (LockFreeLinkedListNode lockFreeLinkedListNode = (LockFreeLinkedListNode) next; !Intrinsics.areEqual(lockFreeLinkedListNode, nodeList); lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode()) {
if (lockFreeLinkedListNode instanceof JobCancellingNode) {
JobNode jobNode = (JobNode) lockFreeLinkedListNode;
try {
jobNode.invoke(th);
} catch (Throwable th2) {
if (completionHandlerException != null) {
ExceptionsKt__ExceptionsKt.addSuppressed(completionHandlerException, th2);
} else {
completionHandlerException = new CompletionHandlerException("Exception in completion handler " + jobNode + " for " + this, th2);
Unit unit = Unit.INSTANCE;
}
}
}
}
if (completionHandlerException != null) {
handleOnCompletionException$kotlinx_coroutines_core(completionHandlerException);
}
cancelParent(th);
}
public final void notifyCompletion(NodeList nodeList, Throwable th) {
Object next = nodeList.getNext();
Intrinsics.checkNotNull(next, "null cannot be cast to non-null type kotlinx.coroutines.internal.LockFreeLinkedListNode{ kotlinx.coroutines.internal.LockFreeLinkedListKt.Node }");
CompletionHandlerException completionHandlerException = null;
for (LockFreeLinkedListNode lockFreeLinkedListNode = (LockFreeLinkedListNode) next; !Intrinsics.areEqual(lockFreeLinkedListNode, nodeList); lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode()) {
if (lockFreeLinkedListNode instanceof JobNode) {
JobNode jobNode = (JobNode) lockFreeLinkedListNode;
try {
jobNode.invoke(th);
} catch (Throwable th2) {
if (completionHandlerException != null) {
ExceptionsKt__ExceptionsKt.addSuppressed(completionHandlerException, th2);
} else {
completionHandlerException = new CompletionHandlerException("Exception in completion handler " + jobNode + " for " + this, th2);
Unit unit = Unit.INSTANCE;
}
}
}
}
if (completionHandlerException != null) {
handleOnCompletionException$kotlinx_coroutines_core(completionHandlerException);
}
}
public final boolean cancelParent(Throwable th) {
if (isScopedCoroutine()) {
return true;
}
boolean z = th instanceof CancellationException;
ChildHandle parentHandle$kotlinx_coroutines_core = getParentHandle$kotlinx_coroutines_core();
return (parentHandle$kotlinx_coroutines_core == null || parentHandle$kotlinx_coroutines_core == NonDisposableHandle.INSTANCE) ? z : parentHandle$kotlinx_coroutines_core.childCancelled(th) || z;
}
public final int startInternal(Object obj) {
Empty empty;
if (obj instanceof Empty) {
if (((Empty) obj).isActive()) {
return 0;
}
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
empty = JobSupportKt.EMPTY_ACTIVE;
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(atomicReferenceFieldUpdater, this, obj, empty)) {
return -1;
}
onStart();
return 1;
}
if (!(obj instanceof InactiveNodeList)) {
return 0;
}
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, ((InactiveNodeList) obj).getList())) {
return -1;
}
onStart();
return 1;
}
@Override // kotlinx.coroutines.Job
public final CancellationException getCancellationException() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Finishing) {
Throwable rootCause = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
if (rootCause != null) {
CancellationException cancellationException = toCancellationException(rootCause, DebugStringsKt.getClassSimpleName(this) + " is cancelling");
if (cancellationException != null) {
return cancellationException;
}
}
throw new IllegalStateException(("Job is still new or active: " + this).toString());
}
if (state$kotlinx_coroutines_core instanceof Incomplete) {
throw new IllegalStateException(("Job is still new or active: " + this).toString());
}
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
return toCancellationException$default(this, ((CompletedExceptionally) state$kotlinx_coroutines_core).cause, null, 1, null);
}
return new JobCancellationException(DebugStringsKt.getClassSimpleName(this) + " has completed normally", null, this);
}
public static /* synthetic */ CancellationException toCancellationException$default(JobSupport jobSupport, Throwable th, String str, int i, Object obj) {
if (obj != null) {
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: toCancellationException");
}
if ((i & 1) != 0) {
str = null;
}
return jobSupport.toCancellationException(th, str);
}
public final CancellationException toCancellationException(Throwable th, String str) {
CancellationException cancellationException = th instanceof CancellationException ? (CancellationException) th : null;
if (cancellationException == null) {
if (str == null) {
str = cancellationExceptionMessage();
}
cancellationException = new JobCancellationException(str, th, this);
}
return cancellationException;
}
@Override // kotlinx.coroutines.Job
public final DisposableHandle invokeOnCompletion(Function1 function1) {
return invokeOnCompletion(false, true, function1);
}
@Override // kotlinx.coroutines.Job
public final DisposableHandle invokeOnCompletion(boolean z, boolean z2, Function1 function1) {
JobNode makeNode = makeNode(function1, z);
while (true) {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Empty) {
Empty empty = (Empty) state$kotlinx_coroutines_core;
if (empty.isActive()) {
if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, state$kotlinx_coroutines_core, makeNode)) {
return makeNode;
}
} else {
promoteEmptyToNodeList(empty);
}
} else {
if (state$kotlinx_coroutines_core instanceof Incomplete) {
NodeList list = ((Incomplete) state$kotlinx_coroutines_core).getList();
if (list == null) {
Intrinsics.checkNotNull(state$kotlinx_coroutines_core, "null cannot be cast to non-null type kotlinx.coroutines.JobNode");
promoteSingleToNodeList((JobNode) state$kotlinx_coroutines_core);
} else {
DisposableHandle disposableHandle = NonDisposableHandle.INSTANCE;
if (z && (state$kotlinx_coroutines_core instanceof Finishing)) {
synchronized (state$kotlinx_coroutines_core) {
try {
r3 = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
if (r3 != null) {
if ((function1 instanceof ChildHandleNode) && !((Finishing) state$kotlinx_coroutines_core).isCompleting()) {
}
Unit unit = Unit.INSTANCE;
}
if (addLastAtomic(state$kotlinx_coroutines_core, list, makeNode)) {
if (r3 == null) {
return makeNode;
}
disposableHandle = makeNode;
Unit unit2 = Unit.INSTANCE;
}
} catch (Throwable th) {
throw th;
}
}
}
if (r3 != null) {
if (z2) {
function1.invoke(r3);
}
return disposableHandle;
}
if (addLastAtomic(state$kotlinx_coroutines_core, list, makeNode)) {
return makeNode;
}
}
} else {
if (z2) {
CompletedExceptionally completedExceptionally = state$kotlinx_coroutines_core instanceof CompletedExceptionally ? (CompletedExceptionally) state$kotlinx_coroutines_core : null;
function1.invoke(completedExceptionally != null ? completedExceptionally.cause : null);
}
return NonDisposableHandle.INSTANCE;
}
}
}
}
public final JobNode makeNode(Function1 function1, boolean z) {
JobNode jobNode;
if (z) {
jobNode = function1 instanceof JobCancellingNode ? (JobCancellingNode) function1 : null;
if (jobNode == null) {
jobNode = new InvokeOnCancelling(function1);
}
} else {
jobNode = function1 instanceof JobNode ? (JobNode) function1 : null;
if (jobNode == null) {
jobNode = new InvokeOnCompletion(function1);
}
}
jobNode.setJob(this);
return jobNode;
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r1v2, types: [kotlinx.coroutines.InactiveNodeList] */
public final void promoteEmptyToNodeList(Empty empty) {
NodeList nodeList = new NodeList();
if (!empty.isActive()) {
nodeList = new InactiveNodeList(nodeList);
}
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, empty, nodeList);
}
public final void promoteSingleToNodeList(JobNode jobNode) {
jobNode.addOneIfEmpty(new NodeList());
AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, jobNode, jobNode.getNextNode());
}
@Override // kotlinx.coroutines.Job
public final Object join(Continuation continuation) {
Object coroutine_suspended;
if (!joinInternal()) {
JobKt.ensureActive(continuation.getContext());
return Unit.INSTANCE;
}
Object joinSuspend = joinSuspend(continuation);
coroutine_suspended = IntrinsicsKt__IntrinsicsKt.getCOROUTINE_SUSPENDED();
return joinSuspend == coroutine_suspended ? joinSuspend : Unit.INSTANCE;
}
public void cancelInternal(Throwable th) {
cancelImpl$kotlinx_coroutines_core(th);
}
@Override // kotlinx.coroutines.ChildJob
public final void parentCancelled(ParentJob parentJob) {
cancelImpl$kotlinx_coroutines_core(parentJob);
}
public boolean childCancelled(Throwable th) {
if (th instanceof CancellationException) {
return true;
}
return cancelImpl$kotlinx_coroutines_core(th) && getHandlesException$kotlinx_coroutines_core();
}
public final boolean cancelCoroutine(Throwable th) {
return cancelImpl$kotlinx_coroutines_core(th);
}
public final boolean cancelImpl$kotlinx_coroutines_core(Object obj) {
Object obj2;
Symbol symbol;
Symbol symbol2;
Symbol symbol3;
obj2 = JobSupportKt.COMPLETING_ALREADY;
if (getOnCancelComplete$kotlinx_coroutines_core() && (obj2 = cancelMakeCompleting(obj)) == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
symbol = JobSupportKt.COMPLETING_ALREADY;
if (obj2 == symbol) {
obj2 = makeCancelling(obj);
}
symbol2 = JobSupportKt.COMPLETING_ALREADY;
if (obj2 == symbol2 || obj2 == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
return true;
}
symbol3 = JobSupportKt.TOO_LATE_TO_CANCEL;
if (obj2 == symbol3) {
return false;
}
afterCompletion(obj2);
return true;
}
@Override // kotlinx.coroutines.Job
public void cancel(CancellationException cancellationException) {
if (cancellationException == null) {
cancellationException = new JobCancellationException(cancellationExceptionMessage(), null, this);
}
cancelInternal(cancellationException);
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r1v11, types: [java.lang.Throwable] */
/* JADX WARN: Type inference failed for: r1v7, types: [java.lang.Throwable] */
@Override // kotlinx.coroutines.ParentJob
public CancellationException getChildJobCancellationCause() {
CancellationException cancellationException;
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (state$kotlinx_coroutines_core instanceof Finishing) {
cancellationException = ((Finishing) state$kotlinx_coroutines_core).getRootCause();
} else if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
cancellationException = ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
} else {
if (state$kotlinx_coroutines_core instanceof Incomplete) {
throw new IllegalStateException(("Cannot be cancelling child in this state: " + state$kotlinx_coroutines_core).toString());
}
cancellationException = null;
}
CancellationException cancellationException2 = cancellationException instanceof CancellationException ? cancellationException : null;
if (cancellationException2 != null) {
return cancellationException2;
}
return new JobCancellationException("Parent job is " + stateString(state$kotlinx_coroutines_core), cancellationException, this);
}
public final Throwable createCauseException(Object obj) {
if (obj == null || (obj instanceof Throwable)) {
Throwable th = (Throwable) obj;
return th == null ? new JobCancellationException(cancellationExceptionMessage(), null, this) : th;
}
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.ParentJob");
return ((ParentJob) obj).getChildJobCancellationCause();
}
public final NodeList getOrPromoteCancellingList(Incomplete incomplete) {
NodeList list = incomplete.getList();
if (list != null) {
return list;
}
if (incomplete instanceof Empty) {
return new NodeList();
}
if (incomplete instanceof JobNode) {
promoteSingleToNodeList((JobNode) incomplete);
return null;
}
throw new IllegalStateException(("State should have list: " + incomplete).toString());
}
public final boolean tryMakeCancelling(Incomplete incomplete, Throwable th) {
NodeList orPromoteCancellingList = getOrPromoteCancellingList(incomplete);
if (orPromoteCancellingList == null) {
return false;
}
if (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, incomplete, new Finishing(orPromoteCancellingList, false, th))) {
return false;
}
notifyCancelling(orPromoteCancellingList, th);
return true;
}
public final Object tryMakeCompleting(Object obj, Object obj2) {
Symbol symbol;
Symbol symbol2;
if (!(obj instanceof Incomplete)) {
symbol2 = JobSupportKt.COMPLETING_ALREADY;
return symbol2;
}
if (((obj instanceof Empty) || (obj instanceof JobNode)) && !(obj instanceof ChildHandleNode) && !(obj2 instanceof CompletedExceptionally)) {
if (tryFinalizeSimpleState((Incomplete) obj, obj2)) {
return obj2;
}
symbol = JobSupportKt.COMPLETING_RETRY;
return symbol;
}
return tryMakeCompletingSlowPath((Incomplete) obj, obj2);
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r2v0 */
/* JADX WARN: Type inference failed for: r2v1, types: [T, java.lang.Throwable] */
/* JADX WARN: Type inference failed for: r2v2 */
public final Object tryMakeCompletingSlowPath(Incomplete incomplete, Object obj) {
Symbol symbol;
Symbol symbol2;
Symbol symbol3;
NodeList orPromoteCancellingList = getOrPromoteCancellingList(incomplete);
if (orPromoteCancellingList == null) {
symbol3 = JobSupportKt.COMPLETING_RETRY;
return symbol3;
}
Finishing finishing = incomplete instanceof Finishing ? (Finishing) incomplete : null;
if (finishing == null) {
finishing = new Finishing(orPromoteCancellingList, false, null);
}
Ref.ObjectRef objectRef = new Ref.ObjectRef();
synchronized (finishing) {
if (finishing.isCompleting()) {
symbol2 = JobSupportKt.COMPLETING_ALREADY;
return symbol2;
}
finishing.setCompleting(true);
if (finishing != incomplete && !AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, incomplete, finishing)) {
symbol = JobSupportKt.COMPLETING_RETRY;
return symbol;
}
boolean isCancelling = finishing.isCancelling();
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
if (completedExceptionally != null) {
finishing.addExceptionLocked(completedExceptionally.cause);
}
?? rootCause = Boolean.valueOf(true ^ isCancelling).booleanValue() ? finishing.getRootCause() : 0;
objectRef.element = rootCause;
Unit unit = Unit.INSTANCE;
if (rootCause != 0) {
notifyCancelling(orPromoteCancellingList, rootCause);
}
ChildHandleNode firstChild = firstChild(incomplete);
if (firstChild != null && tryWaitForChild(finishing, firstChild, obj)) {
return JobSupportKt.COMPLETING_WAITING_CHILDREN;
}
return finalizeFinishingState(finishing, obj);
}
}
public final Throwable getExceptionOrNull(Object obj) {
CompletedExceptionally completedExceptionally = obj instanceof CompletedExceptionally ? (CompletedExceptionally) obj : null;
if (completedExceptionally != null) {
return completedExceptionally.cause;
}
return null;
}
public final ChildHandleNode firstChild(Incomplete incomplete) {
ChildHandleNode childHandleNode = incomplete instanceof ChildHandleNode ? (ChildHandleNode) incomplete : null;
if (childHandleNode != null) {
return childHandleNode;
}
NodeList list = incomplete.getList();
if (list != null) {
return nextChild(list);
}
return null;
}
public final boolean tryWaitForChild(Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
while (Job.DefaultImpls.invokeOnCompletion$default(childHandleNode.childJob, false, false, new ChildCompletion(this, finishing, childHandleNode, obj), 1, null) == NonDisposableHandle.INSTANCE) {
childHandleNode = nextChild(childHandleNode);
if (childHandleNode == null) {
return false;
}
}
return true;
}
public final void continueCompleting(Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
ChildHandleNode nextChild = nextChild(childHandleNode);
if (nextChild == null || !tryWaitForChild(finishing, nextChild, obj)) {
afterCompletion(finalizeFinishingState(finishing, obj));
}
}
public final ChildHandleNode nextChild(LockFreeLinkedListNode lockFreeLinkedListNode) {
while (lockFreeLinkedListNode.isRemoved()) {
lockFreeLinkedListNode = lockFreeLinkedListNode.getPrevNode();
}
while (true) {
lockFreeLinkedListNode = lockFreeLinkedListNode.getNextNode();
if (!lockFreeLinkedListNode.isRemoved()) {
if (lockFreeLinkedListNode instanceof ChildHandleNode) {
return (ChildHandleNode) lockFreeLinkedListNode;
}
if (lockFreeLinkedListNode instanceof NodeList) {
return null;
}
}
}
}
@Override // kotlinx.coroutines.Job
public final ChildHandle attachChild(ChildJob childJob) {
DisposableHandle invokeOnCompletion$default = Job.DefaultImpls.invokeOnCompletion$default(this, true, false, new ChildHandleNode(childJob), 2, null);
Intrinsics.checkNotNull(invokeOnCompletion$default, "null cannot be cast to non-null type kotlinx.coroutines.ChildHandle");
return (ChildHandle) invokeOnCompletion$default;
}
public void handleOnCompletionException$kotlinx_coroutines_core(Throwable th) {
throw th;
}
public String toString() {
return toDebugString() + '@' + DebugStringsKt.getHexAddress(this);
}
public final String toDebugString() {
return nameString$kotlinx_coroutines_core() + '{' + stateString(getState$kotlinx_coroutines_core()) + '}';
}
public String nameString$kotlinx_coroutines_core() {
return DebugStringsKt.getClassSimpleName(this);
}
public final String stateString(Object obj) {
if (!(obj instanceof Finishing)) {
return obj instanceof Incomplete ? ((Incomplete) obj).isActive() ? "Active" : "New" : obj instanceof CompletedExceptionally ? AnalyticsEvents.PARAMETER_DIALOG_OUTCOME_VALUE_CANCELLED : AnalyticsEvents.PARAMETER_DIALOG_OUTCOME_VALUE_COMPLETED;
}
Finishing finishing = (Finishing) obj;
return finishing.isCancelling() ? "Cancelling" : finishing.isCompleting() ? "Completing" : "Active";
}
public static final class Finishing implements Incomplete {
private volatile Object _exceptionsHolder;
private volatile int _isCompleting;
private volatile Object _rootCause;
public final NodeList list;
public static final AtomicIntegerFieldUpdater _isCompleting$FU = AtomicIntegerFieldUpdater.newUpdater(Finishing.class, "_isCompleting");
public static final AtomicReferenceFieldUpdater _rootCause$FU = AtomicReferenceFieldUpdater.newUpdater(Finishing.class, Object.class, "_rootCause");
public static final AtomicReferenceFieldUpdater _exceptionsHolder$FU = AtomicReferenceFieldUpdater.newUpdater(Finishing.class, Object.class, "_exceptionsHolder");
@Override // kotlinx.coroutines.Incomplete
public NodeList getList() {
return this.list;
}
public Finishing(NodeList nodeList, boolean z, Throwable th) {
this.list = nodeList;
this._isCompleting = z ? 1 : 0;
this._rootCause = th;
}
public final boolean isCompleting() {
return _isCompleting$FU.get(this) != 0;
}
public final void setCompleting(boolean z) {
_isCompleting$FU.set(this, z ? 1 : 0);
}
public final Throwable getRootCause() {
return (Throwable) _rootCause$FU.get(this);
}
public final void setRootCause(Throwable th) {
_rootCause$FU.set(this, th);
}
public final Object getExceptionsHolder() {
return _exceptionsHolder$FU.get(this);
}
public final void setExceptionsHolder(Object obj) {
_exceptionsHolder$FU.set(this, obj);
}
public final boolean isSealed() {
Symbol symbol;
Object exceptionsHolder = getExceptionsHolder();
symbol = JobSupportKt.SEALED;
return exceptionsHolder == symbol;
}
public final boolean isCancelling() {
return getRootCause() != null;
}
@Override // kotlinx.coroutines.Incomplete
public boolean isActive() {
return getRootCause() == null;
}
public final List sealLocked(Throwable th) {
ArrayList arrayList;
Symbol symbol;
Object exceptionsHolder = getExceptionsHolder();
if (exceptionsHolder == null) {
arrayList = allocateList();
} else if (exceptionsHolder instanceof Throwable) {
ArrayList allocateList = allocateList();
allocateList.add(exceptionsHolder);
arrayList = allocateList;
} else {
if (!(exceptionsHolder instanceof ArrayList)) {
throw new IllegalStateException(("State is " + exceptionsHolder).toString());
}
arrayList = (ArrayList) exceptionsHolder;
}
Throwable rootCause = getRootCause();
if (rootCause != null) {
arrayList.add(0, rootCause);
}
if (th != null && !Intrinsics.areEqual(th, rootCause)) {
arrayList.add(th);
}
symbol = JobSupportKt.SEALED;
setExceptionsHolder(symbol);
return arrayList;
}
public final void addExceptionLocked(Throwable th) {
Throwable rootCause = getRootCause();
if (rootCause == null) {
setRootCause(th);
return;
}
if (th == rootCause) {
return;
}
Object exceptionsHolder = getExceptionsHolder();
if (exceptionsHolder == null) {
setExceptionsHolder(th);
return;
}
if (exceptionsHolder instanceof Throwable) {
if (th == exceptionsHolder) {
return;
}
ArrayList allocateList = allocateList();
allocateList.add(exceptionsHolder);
allocateList.add(th);
setExceptionsHolder(allocateList);
return;
}
if (exceptionsHolder instanceof ArrayList) {
((ArrayList) exceptionsHolder).add(th);
return;
}
throw new IllegalStateException(("State is " + exceptionsHolder).toString());
}
public final ArrayList allocateList() {
return new ArrayList(4);
}
public String toString() {
return "Finishing[cancelling=" + isCancelling() + ", completing=" + isCompleting() + ", rootCause=" + getRootCause() + ", exceptions=" + getExceptionsHolder() + ", list=" + getList() + ']';
}
}
public static final class ChildCompletion extends JobNode {
public final ChildHandleNode child;
public final JobSupport parent;
public final Object proposedUpdate;
public final Finishing state;
@Override // kotlin.jvm.functions.Function1
public /* bridge */ /* synthetic */ Object invoke(Object obj) {
invoke((Throwable) obj);
return Unit.INSTANCE;
}
public ChildCompletion(JobSupport jobSupport, Finishing finishing, ChildHandleNode childHandleNode, Object obj) {
this.parent = jobSupport;
this.state = finishing;
this.child = childHandleNode;
this.proposedUpdate = obj;
}
@Override // kotlinx.coroutines.CompletionHandlerBase
public void invoke(Throwable th) {
this.parent.continueCompleting(this.state, this.child, this.proposedUpdate);
}
}
public static final class AwaitContinuation extends CancellableContinuationImpl {
public final JobSupport job;
@Override // kotlinx.coroutines.CancellableContinuationImpl
public String nameString() {
return "AwaitContinuation";
}
public AwaitContinuation(Continuation continuation, JobSupport jobSupport) {
super(continuation, 1);
this.job = jobSupport;
}
@Override // kotlinx.coroutines.CancellableContinuationImpl
public Throwable getContinuationCancellationCause(Job job) {
Throwable rootCause;
Object state$kotlinx_coroutines_core = this.job.getState$kotlinx_coroutines_core();
return (!(state$kotlinx_coroutines_core instanceof Finishing) || (rootCause = ((Finishing) state$kotlinx_coroutines_core).getRootCause()) == null) ? state$kotlinx_coroutines_core instanceof CompletedExceptionally ? ((CompletedExceptionally) state$kotlinx_coroutines_core).cause : job.getCancellationException() : rootCause;
}
}
public final Object getCompletedInternal$kotlinx_coroutines_core() {
Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(!(state$kotlinx_coroutines_core instanceof Incomplete))) {
throw new IllegalStateException("This job has not completed yet".toString());
}
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
throw ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
}
return JobSupportKt.unboxState(state$kotlinx_coroutines_core);
}
public final Object awaitInternal(Continuation continuation) {
Object state$kotlinx_coroutines_core;
do {
state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
if (!(state$kotlinx_coroutines_core instanceof Incomplete)) {
if (state$kotlinx_coroutines_core instanceof CompletedExceptionally) {
throw ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
}
return JobSupportKt.unboxState(state$kotlinx_coroutines_core);
}
} while (startInternal(state$kotlinx_coroutines_core) < 0);
return awaitSuspend(continuation);
}
public final Object awaitSuspend(Continuation continuation) {
Continuation intercepted;
Object coroutine_suspended;
intercepted = IntrinsicsKt__IntrinsicsJvmKt.intercepted(continuation);
AwaitContinuation awaitContinuation = new AwaitContinuation(intercepted, this);
awaitContinuation.initCancellability();
CancellableContinuationKt.disposeOnCancellation(awaitContinuation, invokeOnCompletion(new ResumeAwaitOnCompletion(awaitContinuation)));
Object result = awaitContinuation.getResult();
coroutine_suspended = IntrinsicsKt__IntrinsicsKt.getCOROUTINE_SUSPENDED();
if (result == coroutine_suspended) {
DebugProbesKt.probeCoroutineSuspended(continuation);
}
return result;
}
}