Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u0000^\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\f\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u0003\n\u0002\b\f\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b'\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00002\u00020\u00022\u00020\u00032\b\u0012\u0004\u0012\u0002H\u00010\u00042\u00020\u0005B\u001d\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\u0006\u0010\b\u001a\u00020\t\u0012\u0006\u0010\n\u001a\u00020\t¢\u0006\u0002\u0010\u000bJ\u0012\u0010\u0015\u001a\u00020\u00162\b\u0010\u0017\u001a\u0004\u0018\u00010\u0018H\u0014J\b\u0010\u0019\u001a\u00020\u001aH\u0014J\u0015\u0010\u001b\u001a\u00020\u00162\u0006\u0010\u001c\u001a\u00020\u001dH\u0000¢\u0006\u0002\b\u001eJ\r\u0010\u001f\u001a\u00020\u001aH\u0010¢\u0006\u0002\b J\u0018\u0010!\u001a\u00020\u00162\u0006\u0010\"\u001a\u00020\u001d2\u0006\u0010#\u001a\u00020\tH\u0014J\u0015\u0010$\u001a\u00020\u00162\u0006\u0010%\u001a\u00028\u0000H\u0014¢\u0006\u0002\u0010&J\u0012\u0010'\u001a\u00020\u00162\b\u0010\u0017\u001a\u0004\u0018\u00010\u0018H\u0004J\u0019\u0010(\u001a\u00020\u00162\f\u0010)\u001a\b\u0012\u0004\u0012\u00028\u00000*¢\u0006\u0002\u0010&JJ\u0010+\u001a\u00020\u0016\"\u0004\b\u0001\u0010,2\u0006\u0010+\u001a\u00020-2\u0006\u0010.\u001a\u0002H,2'\u0010/\u001a#\b\u0001\u0012\u0004\u0012\u0002H,\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\u0004\u0012\u0006\u0012\u0004\u0018\u00010\u001800¢\u0006\u0002\b1¢\u0006\u0002\u00102R\u0017\u0010\f\u001a\u00020\u0007¢\u0006\u000e\n\u0000\u0012\u0004\b\r\u0010\u000e\u001a\u0004\b\u000f\u0010\u0010R\u0014\u0010\u0011\u001a\u00020\u00078VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0012\u0010\u0010R\u0014\u0010\u0013\u001a\u00020\t8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0013\u0010\u0014¨\u00063"}, d2 = {"Lkotlinx/coroutines/AbstractCoroutine;", "T", "Lkotlinx/coroutines/JobSupport;", "Lkotlinx/coroutines/Job;", "Lkotlin/coroutines/Continuation;", "Lkotlinx/coroutines/CoroutineScope;", "parentContext", "Lkotlin/coroutines/CoroutineContext;", "initParentJob", "", AppMeasurementSdk.ConditionalUserProperty.ACTIVE, "(Lkotlin/coroutines/CoroutineContext;ZZ)V", "context", "getContext$annotations", "()V", "getContext", "()Lkotlin/coroutines/CoroutineContext;", "coroutineContext", "getCoroutineContext", "isActive", "()Z", "afterResume", "", RemoteConfigConstants.ResponseFieldKey.STATE, "", "cancellationExceptionMessage", "", "handleOnCompletionException", "exception", "", "handleOnCompletionException$kotlinx_coroutines_core", "nameString", "nameString$kotlinx_coroutines_core", "onCancelled", "cause", "handled", "onCompleted", "value", "(Ljava/lang/Object;)V", "onCompletionInternal", "resumeWith", "result", "Lkotlin/Result;", "start", "R", "Lkotlinx/coroutines/CoroutineStart;", "receiver", "block", "Lkotlin/Function2;", "Lkotlin/ExtensionFunctionType;", "(Lkotlinx/coroutines/CoroutineStart;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class AbstractCoroutine<T> extends JobSupport implements Job, Continuation<T>, CoroutineScope {
|
||||
private final CoroutineContext context;
|
||||
|
||||
public AbstractCoroutine(CoroutineContext coroutineContext, boolean z3, boolean z4) {
|
||||
super(z4);
|
||||
if (z3) {
|
||||
initParentJob((Job) coroutineContext.get(Job.INSTANCE));
|
||||
}
|
||||
this.context = coroutineContext.plus(this);
|
||||
}
|
||||
|
||||
public static /* synthetic */ void getContext$annotations() {
|
||||
}
|
||||
|
||||
public void afterResume(Object state) {
|
||||
afterCompletion(state);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public String cancellationExceptionMessage() {
|
||||
return DebugStringsKt.getClassSimpleName(this) + " was cancelled";
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.Continuation
|
||||
public final CoroutineContext getContext() {
|
||||
return this.context;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineScope
|
||||
public CoroutineContext getCoroutineContext() {
|
||||
return this.context;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public final void handleOnCompletionException$kotlinx_coroutines_core(Throwable exception) {
|
||||
CoroutineExceptionHandlerKt.handleCoroutineException(this.context, exception);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport, kotlinx.coroutines.Job
|
||||
public boolean isActive() {
|
||||
return super.isActive();
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public String nameString$kotlinx_coroutines_core() {
|
||||
String coroutineName = CoroutineContextKt.getCoroutineName(this.context);
|
||||
if (coroutineName == null) {
|
||||
return super.nameString$kotlinx_coroutines_core();
|
||||
}
|
||||
StringBuilder p = com.google.android.gms.measurement.internal.a.p("\"", coroutineName, "\":");
|
||||
p.append(super.nameString$kotlinx_coroutines_core());
|
||||
return p.toString();
|
||||
}
|
||||
|
||||
public void onCancelled(Throwable cause, boolean handled) {
|
||||
}
|
||||
|
||||
public void onCompleted(T value) {
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public final void onCompletionInternal(Object state) {
|
||||
if (!(state instanceof CompletedExceptionally)) {
|
||||
onCompleted(state);
|
||||
} else {
|
||||
CompletedExceptionally completedExceptionally = (CompletedExceptionally) state;
|
||||
onCancelled(completedExceptionally.cause, completedExceptionally.getHandled());
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.Continuation
|
||||
public final void resumeWith(Object result) {
|
||||
Object makeCompletingOnce$kotlinx_coroutines_core = makeCompletingOnce$kotlinx_coroutines_core(CompletionStateKt.toState$default(result, null, 1, null));
|
||||
if (makeCompletingOnce$kotlinx_coroutines_core == JobSupportKt.COMPLETING_WAITING_CHILDREN) {
|
||||
return;
|
||||
}
|
||||
afterResume(makeCompletingOnce$kotlinx_coroutines_core);
|
||||
}
|
||||
|
||||
public final <R> void start(CoroutineStart start, R receiver, Function2<? super R, ? super Continuation<? super T>, ? extends Object> block) {
|
||||
start.invoke(block, receiver, this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010\u0003\u001a\u00020\u0004H&J\b\u0010\u0005\u001a\u00020\u0004H&J\u0018\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u00012\u0006\u0010\t\u001a\u00020\u0004H&J\b\u0010\n\u001a\u00020\u0007H&J\b\u0010\u000b\u001a\u00020\u0007H&J\b\u0010\f\u001a\u00020\u0007H&J\u0010\u0010\r\u001a\u00020\u00072\u0006\u0010\u000e\u001a\u00020\u000fH&J\b\u0010\u0010\u001a\u00020\u0007H&J\u0018\u0010\u0011\u001a\u00060\u0012j\u0002`\u00132\n\u0010\u0014\u001a\u00060\u0012j\u0002`\u0013H&¨\u0006\u0015"}, d2 = {"Lkotlinx/coroutines/AbstractTimeSource;", "", "()V", "currentTimeMillis", "", "nanoTime", "parkNanos", "", "blocker", "nanos", "registerTimeLoopThread", "trackTask", "unTrackTask", "unpark", "thread", "Ljava/lang/Thread;", "unregisterTimeLoopThread", "wrapTask", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "block", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class AbstractTimeSource {
|
||||
public abstract long currentTimeMillis();
|
||||
|
||||
public abstract long nanoTime();
|
||||
|
||||
public abstract void parkNanos(Object blocker, long nanos);
|
||||
|
||||
public abstract void registerTimeLoopThread();
|
||||
|
||||
public abstract void trackTask();
|
||||
|
||||
public abstract void unTrackTask();
|
||||
|
||||
public abstract void unpark(Thread thread);
|
||||
|
||||
public abstract void unregisterTimeLoopThread();
|
||||
|
||||
public abstract Runnable wrapTask(Runnable block);
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.locks.LockSupport;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.internal.InlineOnly;
|
||||
|
||||
@Metadata(d1 = {"\u00004\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\t\u0010\u0006\u001a\u00020\u0007H\u0081\b\u001a\t\u0010\b\u001a\u00020\u0007H\u0081\b\u001a\u0019\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0007H\u0081\b\u001a\t\u0010\u000e\u001a\u00020\nH\u0081\b\u001a\t\u0010\u000f\u001a\u00020\nH\u0081\b\u001a\t\u0010\u0010\u001a\u00020\nH\u0081\b\u001a\u0011\u0010\u0011\u001a\u00020\n2\u0006\u0010\u0012\u001a\u00020\u0013H\u0081\b\u001a\t\u0010\u0014\u001a\u00020\nH\u0081\b\u001a\u0019\u0010\u0015\u001a\u00060\u0016j\u0002`\u00172\n\u0010\u0018\u001a\u00060\u0016j\u0002`\u0017H\u0081\b\"\u001c\u0010\u0000\u001a\u0004\u0018\u00010\u0001X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0002\u0010\u0003\"\u0004\b\u0004\u0010\u0005¨\u0006\u0019"}, d2 = {"timeSource", "Lkotlinx/coroutines/AbstractTimeSource;", "getTimeSource", "()Lkotlinx/coroutines/AbstractTimeSource;", "setTimeSource", "(Lkotlinx/coroutines/AbstractTimeSource;)V", "currentTimeMillis", "", "nanoTime", "parkNanos", "", "blocker", "", "nanos", "registerTimeLoopThread", "trackTask", "unTrackTask", "unpark", "thread", "Ljava/lang/Thread;", "unregisterTimeLoopThread", "wrapTask", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "block", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AbstractTimeSourceKt {
|
||||
private static AbstractTimeSource timeSource;
|
||||
|
||||
@InlineOnly
|
||||
private static final long currentTimeMillis() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
return timeSource2 != null ? timeSource2.currentTimeMillis() : System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public static final AbstractTimeSource getTimeSource() {
|
||||
return timeSource;
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final long nanoTime() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
return timeSource2 != null ? timeSource2.nanoTime() : System.nanoTime();
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void parkNanos(Object obj, long j4) {
|
||||
Unit unit;
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.parkNanos(obj, j4);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.parkNanos(obj, j4);
|
||||
}
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void registerTimeLoopThread() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.registerTimeLoopThread();
|
||||
}
|
||||
}
|
||||
|
||||
public static final void setTimeSource(AbstractTimeSource abstractTimeSource) {
|
||||
timeSource = abstractTimeSource;
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void trackTask() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.trackTask();
|
||||
}
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void unTrackTask() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.unTrackTask();
|
||||
}
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void unpark(Thread thread) {
|
||||
Unit unit;
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.unpark(thread);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.unpark(thread);
|
||||
}
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final void unregisterTimeLoopThread() {
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.unregisterTimeLoopThread();
|
||||
}
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final Runnable wrapTask(Runnable runnable) {
|
||||
Runnable wrapTask;
|
||||
AbstractTimeSource timeSource2 = getTimeSource();
|
||||
return (timeSource2 == null || (wrapTask = timeSource2.wrapTask(runnable)) == null) ? runnable : wrapTask;
|
||||
}
|
||||
}
|
||||
16
apk_decompiled/sources/kotlinx/coroutines/Active.java
Normal file
16
apk_decompiled/sources/kotlinx/coroutines/Active.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\bÂ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\b\u0010\u0003\u001a\u00020\u0004H\u0016¨\u0006\u0005"}, d2 = {"Lkotlinx/coroutines/Active;", "Lkotlinx/coroutines/NotCompleted;", "()V", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class Active implements NotCompleted {
|
||||
public static final Active INSTANCE = new Active();
|
||||
|
||||
private Active() {
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Active";
|
||||
}
|
||||
}
|
||||
181
apk_decompiled/sources/kotlinx/coroutines/AwaitAll.java
Normal file
181
apk_decompiled/sources/kotlinx/coroutines/AwaitAll.java
Normal file
@@ -0,0 +1,181 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Result;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\b\u0004\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\u00020\u0002:\u0002\r\u000eB\u001b\u0012\u0014\u0010\u0003\u001a\u0010\u0012\f\b\u0001\u0012\b\u0012\u0004\u0012\u00028\u00000\u00050\u0004¢\u0006\u0002\u0010\u0006J\u0014\u0010\n\u001a\b\u0012\u0004\u0012\u00028\u00000\u000bH\u0086@¢\u0006\u0002\u0010\fR\u001e\u0010\u0003\u001a\u0010\u0012\f\b\u0001\u0012\b\u0012\u0004\u0012\u00028\u00000\u00050\u0004X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0007R\t\u0010\b\u001a\u00020\tX\u0082\u0004¨\u0006\u000f"}, d2 = {"Lkotlinx/coroutines/AwaitAll;", "T", "", "deferreds", "", "Lkotlinx/coroutines/Deferred;", "([Lkotlinx/coroutines/Deferred;)V", "[Lkotlinx/coroutines/Deferred;", "notCompletedCount", "Lkotlinx/atomicfu/AtomicInt;", "await", "", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "AwaitAllNode", "DisposeHandlersOnCancel", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nAwait.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll\n+ 2 CancellableContinuation.kt\nkotlinx/coroutines/CancellableContinuationKt\n+ 3 CompletionHandler.kt\nkotlinx/coroutines/CompletionHandlerKt\n+ 4 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,127:1\n314#2,9:128\n323#2,2:141\n13#3:137\n19#3:140\n13309#4,2:138\n*S KotlinDebug\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll\n*L\n71#1:128,9\n71#1:141,2\n78#1:137\n90#1:140\n83#1:138,2\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AwaitAll<T> {
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater notCompletedCount$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(AwaitAll.class, "notCompletedCount$volatile");
|
||||
private final Deferred<T>[] deferreds;
|
||||
private volatile /* synthetic */ int notCompletedCount$volatile;
|
||||
|
||||
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\b\u0082\u0004\u0018\u00002\u00020\u0001B\u0019\u0012\u0012\u0010\u0002\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\u00040\u0003¢\u0006\u0002\u0010\u0005J\u0013\u0010\u0016\u001a\u00020\u00172\b\u0010\u0018\u001a\u0004\u0018\u00010\u0019H\u0096\u0002R\u001b\u0010\u0006\u001a\u0014\u0012\u0010\u0012\u000e\u0018\u00010\bR\b\u0012\u0004\u0012\u00028\u00000\t0\u0007X\u0082\u0004R\u001a\u0010\u0002\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\u00040\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R<\u0010\u000b\u001a\u000e\u0018\u00010\bR\b\u0012\u0004\u0012\u00028\u00000\t2\u0012\u0010\n\u001a\u000e\u0018\u00010\bR\b\u0012\u0004\u0012\u00028\u00000\t8F@FX\u0086\u000e¢\u0006\f\u001a\u0004\b\f\u0010\r\"\u0004\b\u000e\u0010\u000fR\u001a\u0010\u0010\u001a\u00020\u0011X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0013\"\u0004\b\u0014\u0010\u0015¨\u0006\u001a"}, d2 = {"Lkotlinx/coroutines/AwaitAll$AwaitAllNode;", "Lkotlinx/coroutines/JobNode;", "continuation", "Lkotlinx/coroutines/CancellableContinuation;", "", "(Lkotlinx/coroutines/AwaitAll;Lkotlinx/coroutines/CancellableContinuation;)V", "_disposer", "Lkotlinx/atomicfu/AtomicRef;", "Lkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel;", "Lkotlinx/coroutines/AwaitAll;", "value", "disposer", "getDisposer", "()Lkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel;", "setDisposer", "(Lkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel;)V", "handle", "Lkotlinx/coroutines/DisposableHandle;", "getHandle", "()Lkotlinx/coroutines/DisposableHandle;", "setHandle", "(Lkotlinx/coroutines/DisposableHandle;)V", "invoke", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nAwait.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll$AwaitAllNode\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,127:1\n11065#2:128\n11400#2,3:129\n*S KotlinDebug\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll$AwaitAllNode\n*L\n121#1:128\n121#1:129,3\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AwaitAllNode extends JobNode {
|
||||
private static final /* synthetic */ AtomicReferenceFieldUpdater _disposer$volatile$FU = AtomicReferenceFieldUpdater.newUpdater(AwaitAllNode.class, Object.class, "_disposer$volatile");
|
||||
private volatile /* synthetic */ Object _disposer$volatile;
|
||||
private final CancellableContinuation<List<? extends T>> continuation;
|
||||
public DisposableHandle handle;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public AwaitAllNode(CancellableContinuation<? super List<? extends T>> cancellableContinuation) {
|
||||
this.continuation = cancellableContinuation;
|
||||
}
|
||||
|
||||
private final /* synthetic */ Object get_disposer$volatile() {
|
||||
return this._disposer$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_disposer$volatile(Object obj) {
|
||||
this._disposer$volatile = obj;
|
||||
}
|
||||
|
||||
public final AwaitAll<T>.DisposeHandlersOnCancel getDisposer() {
|
||||
return (DisposeHandlersOnCancel) _disposer$volatile$FU.get(this);
|
||||
}
|
||||
|
||||
public final DisposableHandle getHandle() {
|
||||
DisposableHandle disposableHandle = this.handle;
|
||||
if (disposableHandle != null) {
|
||||
return disposableHandle;
|
||||
}
|
||||
Intrinsics.throwUninitializedPropertyAccessException("handle");
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public final void setDisposer(AwaitAll<T>.DisposeHandlersOnCancel disposeHandlersOnCancel) {
|
||||
_disposer$volatile$FU.set(this, disposeHandlersOnCancel);
|
||||
}
|
||||
|
||||
public final void setHandle(DisposableHandle disposableHandle) {
|
||||
this.handle = disposableHandle;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
if (cause != null) {
|
||||
Object tryResumeWithException = this.continuation.tryResumeWithException(cause);
|
||||
if (tryResumeWithException != null) {
|
||||
this.continuation.completeResume(tryResumeWithException);
|
||||
AwaitAll<T>.DisposeHandlersOnCancel disposer = getDisposer();
|
||||
if (disposer != null) {
|
||||
disposer.disposeAll();
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (AwaitAll.access$getNotCompletedCount$volatile$FU().decrementAndGet(AwaitAll.this) == 0) {
|
||||
CancellableContinuation<List<? extends T>> cancellableContinuation = this.continuation;
|
||||
Deferred[] deferredArr = ((AwaitAll) AwaitAll.this).deferreds;
|
||||
ArrayList arrayList = new ArrayList(deferredArr.length);
|
||||
for (Deferred deferred : deferredArr) {
|
||||
arrayList.add(deferred.getCompleted());
|
||||
}
|
||||
cancellableContinuation.resumeWith(Result.m116constructorimpl(arrayList));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000.\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0082\u0004\u0018\u00002\u00020\u0001B\u001d\u0012\u0016\u0010\u0002\u001a\u0012\u0012\u000e\u0012\f0\u0004R\b\u0012\u0004\u0012\u00028\u00000\u00050\u0003¢\u0006\u0002\u0010\u0006J\u0006\u0010\b\u001a\u00020\tJ\u0013\u0010\n\u001a\u00020\t2\b\u0010\u000b\u001a\u0004\u0018\u00010\fH\u0096\u0002J\b\u0010\r\u001a\u00020\u000eH\u0016R \u0010\u0002\u001a\u0012\u0012\u000e\u0012\f0\u0004R\b\u0012\u0004\u0012\u00028\u00000\u00050\u0003X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0007¨\u0006\u000f"}, d2 = {"Lkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel;", "Lkotlinx/coroutines/CancelHandler;", "nodes", "", "Lkotlinx/coroutines/AwaitAll$AwaitAllNode;", "Lkotlinx/coroutines/AwaitAll;", "(Lkotlinx/coroutines/AwaitAll;[Lkotlinx/coroutines/AwaitAll$AwaitAllNode;)V", "[Lkotlinx/coroutines/AwaitAll$AwaitAllNode;", "disposeAll", "", "invoke", "cause", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nAwait.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,127:1\n13309#2,2:128\n*S KotlinDebug\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitAll$DisposeHandlersOnCancel\n*L\n96#1:128,2\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DisposeHandlersOnCancel extends CancelHandler {
|
||||
private final AwaitAll<T>.AwaitAllNode[] nodes;
|
||||
|
||||
public DisposeHandlersOnCancel(AwaitAll<T>.AwaitAllNode[] awaitAllNodeArr) {
|
||||
this.nodes = awaitAllNodeArr;
|
||||
}
|
||||
|
||||
public final void disposeAll() {
|
||||
for (AwaitAll<T>.AwaitAllNode awaitAllNode : this.nodes) {
|
||||
awaitAllNode.getHandle().dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "DisposeHandlersOnCancel[" + this.nodes + ']';
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CancelHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
disposeAll();
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public AwaitAll(Deferred<? extends T>[] deferredArr) {
|
||||
this.deferreds = deferredArr;
|
||||
this.notCompletedCount$volatile = deferredArr.length;
|
||||
}
|
||||
|
||||
public static final /* synthetic */ AtomicIntegerFieldUpdater access$getNotCompletedCount$volatile$FU() {
|
||||
return notCompletedCount$volatile$FU;
|
||||
}
|
||||
|
||||
private final /* synthetic */ int getNotCompletedCount$volatile() {
|
||||
return this.notCompletedCount$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void setNotCompletedCount$volatile(int i) {
|
||||
this.notCompletedCount$volatile = i;
|
||||
}
|
||||
|
||||
public final Object await(Continuation<? super List<? extends T>> continuation) {
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
int length = this.deferreds.length;
|
||||
AwaitAllNode[] awaitAllNodeArr = new AwaitAllNode[length];
|
||||
for (int i = 0; i < length; i++) {
|
||||
Deferred deferred = this.deferreds[i];
|
||||
deferred.start();
|
||||
AwaitAllNode awaitAllNode = new AwaitAllNode(cancellableContinuationImpl);
|
||||
awaitAllNode.setHandle(deferred.invokeOnCompletion(awaitAllNode));
|
||||
Unit unit = Unit.INSTANCE;
|
||||
awaitAllNodeArr[i] = awaitAllNode;
|
||||
}
|
||||
AwaitAll<T>.DisposeHandlersOnCancel disposeHandlersOnCancel = new DisposeHandlersOnCancel(awaitAllNodeArr);
|
||||
for (int i4 = 0; i4 < length; i4++) {
|
||||
awaitAllNodeArr[i4].setDisposer(disposeHandlersOnCancel);
|
||||
}
|
||||
if (cancellableContinuationImpl.isCompleted()) {
|
||||
disposeHandlersOnCancel.disposeAll();
|
||||
} else {
|
||||
cancellableContinuationImpl.invokeOnCancellation(disposeHandlersOnCancel);
|
||||
}
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@DebugMetadata(c = "kotlinx.coroutines.AwaitKt", f = "Await.kt", i = {0}, l = {54}, m = "joinAll", n = {"$this$forEach$iv"}, s = {"L$0"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AwaitKt$joinAll$1 extends ContinuationImpl {
|
||||
int I$0;
|
||||
int I$1;
|
||||
Object L$0;
|
||||
int label;
|
||||
/* synthetic */ Object result;
|
||||
|
||||
public AwaitKt$joinAll$1(Continuation<? super AwaitKt$joinAll$1> continuation) {
|
||||
super(continuation);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.result = obj;
|
||||
this.label |= IntCompanionObject.MIN_VALUE;
|
||||
return AwaitKt.joinAll((Job[]) null, this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.Collection;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@DebugMetadata(c = "kotlinx.coroutines.AwaitKt", f = "Await.kt", i = {}, l = {66}, m = "joinAll", n = {}, s = {})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AwaitKt$joinAll$3 extends ContinuationImpl {
|
||||
Object L$0;
|
||||
int label;
|
||||
/* synthetic */ Object result;
|
||||
|
||||
public AwaitKt$joinAll$3(Continuation<? super AwaitKt$joinAll$3> continuation) {
|
||||
super(continuation);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.result = obj;
|
||||
this.label |= IntCompanionObject.MIN_VALUE;
|
||||
return AwaitKt.joinAll((Collection<? extends Job>) null, this);
|
||||
}
|
||||
}
|
||||
152
apk_decompiled/sources/kotlinx/coroutines/AwaitKt.java
Normal file
152
apk_decompiled/sources/kotlinx/coroutines/AwaitKt.java
Normal file
@@ -0,0 +1,152 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000*\n\u0000\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u001e\n\u0002\b\u0002\u001a:\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\u001e\u0010\u0003\u001a\u0010\u0012\f\b\u0001\u0012\b\u0012\u0004\u0012\u0002H\u00020\u00050\u0004\"\b\u0012\u0004\u0012\u0002H\u00020\u0005H\u0086@¢\u0006\u0002\u0010\u0006\u001a\"\u0010\u0007\u001a\u00020\b2\u0012\u0010\t\u001a\n\u0012\u0006\b\u0001\u0012\u00020\n0\u0004\"\u00020\nH\u0086@¢\u0006\u0002\u0010\u000b\u001a*\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u0002*\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\u00050\fH\u0086@¢\u0006\u0002\u0010\r\u001a\u0018\u0010\u0007\u001a\u00020\b*\b\u0012\u0004\u0012\u00020\n0\fH\u0086@¢\u0006\u0002\u0010\r¨\u0006\u000e"}, d2 = {"awaitAll", "", "T", "deferreds", "", "Lkotlinx/coroutines/Deferred;", "([Lkotlinx/coroutines/Deferred;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "joinAll", "", "jobs", "Lkotlinx/coroutines/Job;", "([Lkotlinx/coroutines/Job;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "", "(Ljava/util/Collection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nAwait.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitKt\n+ 2 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n+ 3 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n+ 4 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,127:1\n37#2,2:128\n13309#3,2:130\n1855#4,2:132\n*S KotlinDebug\n*F\n+ 1 Await.kt\nkotlinx/coroutines/AwaitKt\n*L\n42#1:128,2\n54#1:130,2\n66#1:132,2\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AwaitKt {
|
||||
public static final <T> Object awaitAll(Deferred<? extends T>[] deferredArr, Continuation<? super List<? extends T>> continuation) {
|
||||
return deferredArr.length == 0 ? CollectionsKt.emptyList() : new AwaitAll(deferredArr).await(continuation);
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:12:0x0044 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:16:0x0057 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:20:0x003a */
|
||||
/* JADX WARN: Removed duplicated region for block: B:8:0x0023 */
|
||||
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:13:0x0052 -> B:10:0x0055). Please report as a decompilation issue!!! */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static final java.lang.Object joinAll(kotlinx.coroutines.Job[] r6, kotlin.coroutines.Continuation<? super kotlin.Unit> r7) {
|
||||
/*
|
||||
boolean r0 = r7 instanceof kotlinx.coroutines.AwaitKt$joinAll$1
|
||||
if (r0 == 0) goto L13
|
||||
r0 = r7
|
||||
kotlinx.coroutines.AwaitKt$joinAll$1 r0 = (kotlinx.coroutines.AwaitKt$joinAll$1) r0
|
||||
int r1 = r0.label
|
||||
r2 = -2147483648(0xffffffff80000000, float:-0.0)
|
||||
r3 = r1 & r2
|
||||
if (r3 == 0) goto L13
|
||||
int r1 = r1 - r2
|
||||
r0.label = r1
|
||||
goto L18
|
||||
L13:
|
||||
kotlinx.coroutines.AwaitKt$joinAll$1 r0 = new kotlinx.coroutines.AwaitKt$joinAll$1
|
||||
r0.<init>(r7)
|
||||
L18:
|
||||
java.lang.Object r7 = r0.result
|
||||
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
int r2 = r0.label
|
||||
r3 = 1
|
||||
if (r2 == 0) goto L3a
|
||||
if (r2 != r3) goto L32
|
||||
int r6 = r0.I$1
|
||||
int r2 = r0.I$0
|
||||
java.lang.Object r4 = r0.L$0
|
||||
kotlinx.coroutines.Job[] r4 = (kotlinx.coroutines.Job[]) r4
|
||||
kotlin.ResultKt.throwOnFailure(r7)
|
||||
r7 = r4
|
||||
goto L55
|
||||
L32:
|
||||
java.lang.IllegalStateException r6 = new java.lang.IllegalStateException
|
||||
java.lang.String r7 = "call to 'resume' before 'invoke' with coroutine"
|
||||
r6.<init>(r7)
|
||||
throw r6
|
||||
L3a:
|
||||
kotlin.ResultKt.throwOnFailure(r7)
|
||||
int r7 = r6.length
|
||||
r2 = 0
|
||||
r5 = r7
|
||||
r7 = r6
|
||||
r6 = r5
|
||||
L42:
|
||||
if (r2 >= r6) goto L57
|
||||
r4 = r7[r2]
|
||||
r0.L$0 = r7
|
||||
r0.I$0 = r2
|
||||
r0.I$1 = r6
|
||||
r0.label = r3
|
||||
java.lang.Object r4 = r4.join(r0)
|
||||
if (r4 != r1) goto L55
|
||||
return r1
|
||||
L55:
|
||||
int r2 = r2 + r3
|
||||
goto L42
|
||||
L57:
|
||||
kotlin.Unit r6 = kotlin.Unit.INSTANCE
|
||||
return r6
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.AwaitKt.joinAll(kotlinx.coroutines.Job[], kotlin.coroutines.Continuation):java.lang.Object");
|
||||
}
|
||||
|
||||
public static final <T> Object awaitAll(Collection<? extends Deferred<? extends T>> collection, Continuation<? super List<? extends T>> continuation) {
|
||||
return collection.isEmpty() ? CollectionsKt.emptyList() : new AwaitAll((Deferred[]) collection.toArray(new Deferred[0])).await(continuation);
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:13:0x0044 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:24:0x0035 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:8:0x0023 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static final java.lang.Object joinAll(java.util.Collection<? extends kotlinx.coroutines.Job> r4, kotlin.coroutines.Continuation<? super kotlin.Unit> r5) {
|
||||
/*
|
||||
boolean r0 = r5 instanceof kotlinx.coroutines.AwaitKt$joinAll$3
|
||||
if (r0 == 0) goto L13
|
||||
r0 = r5
|
||||
kotlinx.coroutines.AwaitKt$joinAll$3 r0 = (kotlinx.coroutines.AwaitKt$joinAll$3) r0
|
||||
int r1 = r0.label
|
||||
r2 = -2147483648(0xffffffff80000000, float:-0.0)
|
||||
r3 = r1 & r2
|
||||
if (r3 == 0) goto L13
|
||||
int r1 = r1 - r2
|
||||
r0.label = r1
|
||||
goto L18
|
||||
L13:
|
||||
kotlinx.coroutines.AwaitKt$joinAll$3 r0 = new kotlinx.coroutines.AwaitKt$joinAll$3
|
||||
r0.<init>(r5)
|
||||
L18:
|
||||
java.lang.Object r5 = r0.result
|
||||
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
int r2 = r0.label
|
||||
r3 = 1
|
||||
if (r2 == 0) goto L35
|
||||
if (r2 != r3) goto L2d
|
||||
java.lang.Object r4 = r0.L$0
|
||||
java.util.Iterator r4 = (java.util.Iterator) r4
|
||||
kotlin.ResultKt.throwOnFailure(r5)
|
||||
goto L3e
|
||||
L2d:
|
||||
java.lang.IllegalStateException r4 = new java.lang.IllegalStateException
|
||||
java.lang.String r5 = "call to 'resume' before 'invoke' with coroutine"
|
||||
r4.<init>(r5)
|
||||
throw r4
|
||||
L35:
|
||||
kotlin.ResultKt.throwOnFailure(r5)
|
||||
java.lang.Iterable r4 = (java.lang.Iterable) r4
|
||||
java.util.Iterator r4 = r4.iterator()
|
||||
L3e:
|
||||
boolean r5 = r4.hasNext()
|
||||
if (r5 == 0) goto L55
|
||||
java.lang.Object r5 = r4.next()
|
||||
kotlinx.coroutines.Job r5 = (kotlinx.coroutines.Job) r5
|
||||
r0.L$0 = r4
|
||||
r0.label = r3
|
||||
java.lang.Object r5 = r5.join(r0)
|
||||
if (r5 != r1) goto L3e
|
||||
return r1
|
||||
L55:
|
||||
kotlin.Unit r4 = kotlin.Unit.INSTANCE
|
||||
return r4
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.AwaitKt.joinAll(java.util.Collection, kotlin.coroutines.Continuation):java.lang.Object");
|
||||
}
|
||||
}
|
||||
106
apk_decompiled/sources/kotlinx/coroutines/BlockingCoroutine.java
Normal file
106
apk_decompiled/sources/kotlinx/coroutines/BlockingCoroutine.java
Normal file
@@ -0,0 +1,106 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import java.util.concurrent.locks.LockSupport;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u001f\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u0012\b\u0010\u0007\u001a\u0004\u0018\u00010\b¢\u0006\u0002\u0010\tJ\u0012\u0010\r\u001a\u00020\u000e2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0014J\u000b\u0010\u0011\u001a\u00028\u0000¢\u0006\u0002\u0010\u0012R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\u0007\u001a\u0004\u0018\u00010\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\n\u001a\u00020\u000b8TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\f¨\u0006\u0013"}, d2 = {"Lkotlinx/coroutines/BlockingCoroutine;", "T", "Lkotlinx/coroutines/AbstractCoroutine;", "parentContext", "Lkotlin/coroutines/CoroutineContext;", "blockedThread", "Ljava/lang/Thread;", "eventLoop", "Lkotlinx/coroutines/EventLoop;", "(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Thread;Lkotlinx/coroutines/EventLoop;)V", "isScopedCoroutine", "", "()Z", "afterCompletion", "", RemoteConfigConstants.ResponseFieldKey.STATE, "", "joinBlocking", "()Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nBuilders.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Builders.kt\nkotlinx/coroutines/BlockingCoroutine\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,102:1\n1#2:103\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class BlockingCoroutine<T> extends AbstractCoroutine<T> {
|
||||
private final Thread blockedThread;
|
||||
private final EventLoop eventLoop;
|
||||
|
||||
public BlockingCoroutine(CoroutineContext coroutineContext, Thread thread, EventLoop eventLoop) {
|
||||
super(coroutineContext, true, true);
|
||||
this.blockedThread = thread;
|
||||
this.eventLoop = eventLoop;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public void afterCompletion(Object state) {
|
||||
Unit unit;
|
||||
if (Intrinsics.areEqual(Thread.currentThread(), this.blockedThread)) {
|
||||
return;
|
||||
}
|
||||
Thread thread = this.blockedThread;
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
timeSource.unpark(thread);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.unpark(thread);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public boolean isScopedCoroutine() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public final T joinBlocking() {
|
||||
Unit unit;
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
timeSource.registerTimeLoopThread();
|
||||
}
|
||||
try {
|
||||
EventLoop eventLoop = this.eventLoop;
|
||||
if (eventLoop != null) {
|
||||
EventLoop.incrementUseCount$default(eventLoop, false, 1, null);
|
||||
}
|
||||
while (!Thread.interrupted()) {
|
||||
try {
|
||||
EventLoop eventLoop2 = this.eventLoop;
|
||||
long processNextEvent = eventLoop2 != null ? eventLoop2.processNextEvent() : LongCompanionObject.MAX_VALUE;
|
||||
if (isCompleted()) {
|
||||
EventLoop eventLoop3 = this.eventLoop;
|
||||
if (eventLoop3 != null) {
|
||||
EventLoop.decrementUseCount$default(eventLoop3, false, 1, null);
|
||||
}
|
||||
T t2 = (T) JobSupportKt.unboxState(getState$kotlinx_coroutines_core());
|
||||
CompletedExceptionally completedExceptionally = t2 instanceof CompletedExceptionally ? (CompletedExceptionally) t2 : null;
|
||||
if (completedExceptionally == null) {
|
||||
return t2;
|
||||
}
|
||||
throw completedExceptionally.cause;
|
||||
}
|
||||
AbstractTimeSource timeSource2 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.parkNanos(this, processNextEvent);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.parkNanos(this, processNextEvent);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
EventLoop eventLoop4 = this.eventLoop;
|
||||
if (eventLoop4 != null) {
|
||||
EventLoop.decrementUseCount$default(eventLoop4, false, 1, null);
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
InterruptedException interruptedException = new InterruptedException();
|
||||
cancelCoroutine(interruptedException);
|
||||
throw interruptedException;
|
||||
} finally {
|
||||
AbstractTimeSource timeSource3 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource3 != null) {
|
||||
timeSource3.unregisterTimeLoopThread();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\b\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004R\u0014\u0010\u0002\u001a\u00020\u0003X\u0094\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlinx/coroutines/BlockingEventLoop;", "Lkotlinx/coroutines/EventLoopImplBase;", "thread", "Ljava/lang/Thread;", "(Ljava/lang/Thread;)V", "getThread", "()Ljava/lang/Thread;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class BlockingEventLoop extends EventLoopImplBase {
|
||||
private final Thread thread;
|
||||
|
||||
public BlockingEventLoop(Thread thread) {
|
||||
this.thread = thread;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplPlatform
|
||||
public Thread getThread() {
|
||||
return this.thread;
|
||||
}
|
||||
}
|
||||
39
apk_decompiled/sources/kotlinx/coroutines/BuildersKt.java
Normal file
39
apk_decompiled/sources/kotlinx/coroutines/BuildersKt.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
@Metadata(d1 = {"kotlinx/coroutines/BuildersKt__BuildersKt", "kotlinx/coroutines/BuildersKt__Builders_commonKt"}, k = 4, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class BuildersKt {
|
||||
public static final <T> Deferred<T> async(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2) {
|
||||
return BuildersKt__Builders_commonKt.async(coroutineScope, coroutineContext, coroutineStart, function2);
|
||||
}
|
||||
|
||||
public static /* synthetic */ Deferred async$default(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2 function2, int i, Object obj) {
|
||||
return BuildersKt__Builders_commonKt.async$default(coroutineScope, coroutineContext, coroutineStart, function2, i, obj);
|
||||
}
|
||||
|
||||
public static final <T> Object invoke(CoroutineDispatcher coroutineDispatcher, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2, Continuation<? super T> continuation) {
|
||||
return BuildersKt__Builders_commonKt.invoke(coroutineDispatcher, function2, continuation);
|
||||
}
|
||||
|
||||
public static final Job launch(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2<? super CoroutineScope, ? super Continuation<? super Unit>, ? extends Object> function2) {
|
||||
return BuildersKt__Builders_commonKt.launch(coroutineScope, coroutineContext, coroutineStart, function2);
|
||||
}
|
||||
|
||||
public static /* synthetic */ Job launch$default(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2 function2, int i, Object obj) {
|
||||
return BuildersKt__Builders_commonKt.launch$default(coroutineScope, coroutineContext, coroutineStart, function2, i, obj);
|
||||
}
|
||||
|
||||
public static final <T> T runBlocking(CoroutineContext coroutineContext, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2) throws InterruptedException {
|
||||
return (T) BuildersKt__BuildersKt.runBlocking(coroutineContext, function2);
|
||||
}
|
||||
|
||||
public static final <T> Object withContext(CoroutineContext coroutineContext, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2, Continuation<? super T> continuation) {
|
||||
return BuildersKt__Builders_commonKt.withContext(coroutineContext, function2, continuation);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationInterceptor;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u001aQ\u0010\u0000\u001a\u0002H\u0001\"\u0004\b\u0000\u0010\u00012\b\b\u0002\u0010\u0002\u001a\u00020\u00032'\u0010\u0004\u001a#\b\u0001\u0012\u0004\u0012\u00020\u0006\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00010\u0007\u0012\u0006\u0012\u0004\u0018\u00010\b0\u0005¢\u0006\u0002\b\t\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0002 \u0001¢\u0006\u0002\u0010\n¨\u0006\u000b"}, d2 = {"runBlocking", "T", "context", "Lkotlin/coroutines/CoroutineContext;", "block", "Lkotlin/Function2;", "Lkotlinx/coroutines/CoroutineScope;", "Lkotlin/coroutines/Continuation;", "", "Lkotlin/ExtensionFunctionType;", "(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 5, mv = {1, 9, 0}, xi = 48, xs = "kotlinx/coroutines/BuildersKt")
|
||||
@SourceDebugExtension({"SMAP\nBuilders.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Builders.kt\nkotlinx/coroutines/BuildersKt__BuildersKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,102:1\n1#2:103\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class BuildersKt__BuildersKt {
|
||||
public static final <T> T runBlocking(CoroutineContext coroutineContext, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2) throws InterruptedException {
|
||||
EventLoop currentOrNull$kotlinx_coroutines_core;
|
||||
CoroutineContext newCoroutineContext;
|
||||
Thread currentThread = Thread.currentThread();
|
||||
ContinuationInterceptor continuationInterceptor = (ContinuationInterceptor) coroutineContext.get(ContinuationInterceptor.INSTANCE);
|
||||
if (continuationInterceptor == null) {
|
||||
currentOrNull$kotlinx_coroutines_core = ThreadLocalEventLoop.INSTANCE.getEventLoop$kotlinx_coroutines_core();
|
||||
newCoroutineContext = CoroutineContextKt.newCoroutineContext(GlobalScope.INSTANCE, coroutineContext.plus(currentOrNull$kotlinx_coroutines_core));
|
||||
} else {
|
||||
EventLoop eventLoop = continuationInterceptor instanceof EventLoop ? (EventLoop) continuationInterceptor : null;
|
||||
if (eventLoop != null) {
|
||||
EventLoop eventLoop2 = eventLoop.shouldBeProcessedFromContext() ? eventLoop : null;
|
||||
if (eventLoop2 != null) {
|
||||
currentOrNull$kotlinx_coroutines_core = eventLoop2;
|
||||
newCoroutineContext = CoroutineContextKt.newCoroutineContext(GlobalScope.INSTANCE, coroutineContext);
|
||||
}
|
||||
}
|
||||
currentOrNull$kotlinx_coroutines_core = ThreadLocalEventLoop.INSTANCE.currentOrNull$kotlinx_coroutines_core();
|
||||
newCoroutineContext = CoroutineContextKt.newCoroutineContext(GlobalScope.INSTANCE, coroutineContext);
|
||||
}
|
||||
BlockingCoroutine blockingCoroutine = new BlockingCoroutine(newCoroutineContext, currentThread, currentOrNull$kotlinx_coroutines_core);
|
||||
blockingCoroutine.start(CoroutineStart.DEFAULT, blockingCoroutine, function2);
|
||||
return (T) blockingCoroutine.joinBlocking();
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object runBlocking$default(CoroutineContext coroutineContext, Function2 function2, int i, Object obj) throws InterruptedException {
|
||||
if ((i & 1) != 0) {
|
||||
coroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
}
|
||||
return BuildersKt.runBlocking(coroutineContext, function2);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationInterceptor;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.InlineMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.debug.internal.DebugCoroutineInfoImplKt;
|
||||
import kotlinx.coroutines.internal.ScopeCoroutine;
|
||||
import kotlinx.coroutines.internal.ThreadContextKt;
|
||||
import kotlinx.coroutines.intrinsics.CancellableKt;
|
||||
import kotlinx.coroutines.intrinsics.UndispatchedKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000J\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\u001aR\u0010\u0004\u001a\u0002H\u0005\"\u0004\b\u0000\u0010\u00052\u0006\u0010\u0006\u001a\u00020\u00072'\u0010\b\u001a#\b\u0001\u0012\u0004\u0012\u00020\n\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00050\u000b\u0012\u0006\u0012\u0004\u0018\u00010\f0\t¢\u0006\u0002\b\rH\u0086@\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0002 \u0001¢\u0006\u0002\u0010\u000e\u001aX\u0010\u000f\u001a\b\u0012\u0004\u0012\u0002H\u00050\u0010\"\u0004\b\u0000\u0010\u0005*\u00020\n2\b\b\u0002\u0010\u0006\u001a\u00020\u00072\b\b\u0002\u0010\u0011\u001a\u00020\u00122'\u0010\b\u001a#\b\u0001\u0012\u0004\u0012\u00020\n\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00050\u000b\u0012\u0006\u0012\u0004\u0018\u00010\f0\t¢\u0006\u0002\b\r¢\u0006\u0002\u0010\u0013\u001aC\u0010\u0014\u001a\u0002H\u0005\"\u0004\b\u0000\u0010\u0005*\u00020\u00152)\b\b\u0010\b\u001a#\b\u0001\u0012\u0004\u0012\u00020\n\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00050\u000b\u0012\u0006\u0012\u0004\u0018\u00010\f0\t¢\u0006\u0002\b\rH\u0086J¢\u0006\u0002\u0010\u0016\u001aL\u0010\u0017\u001a\u00020\u0018*\u00020\n2\b\b\u0002\u0010\u0006\u001a\u00020\u00072\b\b\u0002\u0010\u0011\u001a\u00020\u00122'\u0010\b\u001a#\b\u0001\u0012\u0004\u0012\u00020\n\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00190\u000b\u0012\u0006\u0012\u0004\u0018\u00010\f0\t¢\u0006\u0002\b\r¢\u0006\u0002\u0010\u001a\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u001b"}, d2 = {"RESUMED", "", DebugCoroutineInfoImplKt.SUSPENDED, "UNDECIDED", "withContext", "T", "context", "Lkotlin/coroutines/CoroutineContext;", "block", "Lkotlin/Function2;", "Lkotlinx/coroutines/CoroutineScope;", "Lkotlin/coroutines/Continuation;", "", "Lkotlin/ExtensionFunctionType;", "(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "async", "Lkotlinx/coroutines/Deferred;", "start", "Lkotlinx/coroutines/CoroutineStart;", "(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/Deferred;", "invoke", "Lkotlinx/coroutines/CoroutineDispatcher;", "(Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "launch", "Lkotlinx/coroutines/Job;", "", "(Lkotlinx/coroutines/CoroutineScope;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/Job;", "kotlinx-coroutines-core"}, k = 5, mv = {1, 9, 0}, xi = 48, xs = "kotlinx/coroutines/BuildersKt")
|
||||
@SourceDebugExtension({"SMAP\nBuilders.common.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Builders.common.kt\nkotlinx/coroutines/BuildersKt__Builders_commonKt\n+ 2 CoroutineContext.kt\nkotlinx/coroutines/CoroutineContextKt\n*L\n1#1,273:1\n95#2,5:274\n*S KotlinDebug\n*F\n+ 1 Builders.common.kt\nkotlinx/coroutines/BuildersKt__Builders_commonKt\n*L\n166#1:274,5\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class BuildersKt__Builders_commonKt {
|
||||
private static final int RESUMED = 2;
|
||||
private static final int SUSPENDED = 1;
|
||||
private static final int UNDECIDED = 0;
|
||||
|
||||
public static final <T> Deferred<T> async(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2) {
|
||||
CoroutineContext newCoroutineContext = CoroutineContextKt.newCoroutineContext(coroutineScope, coroutineContext);
|
||||
DeferredCoroutine lazyDeferredCoroutine = coroutineStart.isLazy() ? new LazyDeferredCoroutine(newCoroutineContext, function2) : new DeferredCoroutine(newCoroutineContext, true);
|
||||
((AbstractCoroutine) lazyDeferredCoroutine).start(coroutineStart, lazyDeferredCoroutine, function2);
|
||||
return (Deferred<T>) lazyDeferredCoroutine;
|
||||
}
|
||||
|
||||
public static /* synthetic */ Deferred async$default(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2 function2, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
coroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
coroutineStart = CoroutineStart.DEFAULT;
|
||||
}
|
||||
return BuildersKt.async(coroutineScope, coroutineContext, coroutineStart, function2);
|
||||
}
|
||||
|
||||
public static final <T> Object invoke(CoroutineDispatcher coroutineDispatcher, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2, Continuation<? super T> continuation) {
|
||||
return BuildersKt.withContext(coroutineDispatcher, function2, continuation);
|
||||
}
|
||||
|
||||
private static final <T> Object invoke$$forInline(CoroutineDispatcher coroutineDispatcher, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2, Continuation<? super T> continuation) {
|
||||
InlineMarker.mark(0);
|
||||
Object withContext = BuildersKt.withContext(coroutineDispatcher, function2, continuation);
|
||||
InlineMarker.mark(1);
|
||||
return withContext;
|
||||
}
|
||||
|
||||
public static final Job launch(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2<? super CoroutineScope, ? super Continuation<? super Unit>, ? extends Object> function2) {
|
||||
CoroutineContext newCoroutineContext = CoroutineContextKt.newCoroutineContext(coroutineScope, coroutineContext);
|
||||
AbstractCoroutine lazyStandaloneCoroutine = coroutineStart.isLazy() ? new LazyStandaloneCoroutine(newCoroutineContext, function2) : new StandaloneCoroutine(newCoroutineContext, true);
|
||||
lazyStandaloneCoroutine.start(coroutineStart, lazyStandaloneCoroutine, function2);
|
||||
return lazyStandaloneCoroutine;
|
||||
}
|
||||
|
||||
public static /* synthetic */ Job launch$default(CoroutineScope coroutineScope, CoroutineContext coroutineContext, CoroutineStart coroutineStart, Function2 function2, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
coroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
coroutineStart = CoroutineStart.DEFAULT;
|
||||
}
|
||||
return BuildersKt.launch(coroutineScope, coroutineContext, coroutineStart, function2);
|
||||
}
|
||||
|
||||
public static final <T> Object withContext(CoroutineContext coroutineContext, Function2<? super CoroutineScope, ? super Continuation<? super T>, ? extends Object> function2, Continuation<? super T> continuation) {
|
||||
Object result$kotlinx_coroutines_core;
|
||||
CoroutineContext coroutineContext2 = continuation.get$context();
|
||||
CoroutineContext newCoroutineContext = CoroutineContextKt.newCoroutineContext(coroutineContext2, coroutineContext);
|
||||
JobKt.ensureActive(newCoroutineContext);
|
||||
if (newCoroutineContext == coroutineContext2) {
|
||||
ScopeCoroutine scopeCoroutine = new ScopeCoroutine(newCoroutineContext, continuation);
|
||||
result$kotlinx_coroutines_core = UndispatchedKt.startUndispatchedOrReturn(scopeCoroutine, scopeCoroutine, function2);
|
||||
} else {
|
||||
ContinuationInterceptor.Companion companion = ContinuationInterceptor.INSTANCE;
|
||||
if (Intrinsics.areEqual(newCoroutineContext.get(companion), coroutineContext2.get(companion))) {
|
||||
UndispatchedCoroutine undispatchedCoroutine = new UndispatchedCoroutine(newCoroutineContext, continuation);
|
||||
CoroutineContext coroutineContext3 = undispatchedCoroutine.get$context();
|
||||
Object updateThreadContext = ThreadContextKt.updateThreadContext(coroutineContext3, null);
|
||||
try {
|
||||
Object startUndispatchedOrReturn = UndispatchedKt.startUndispatchedOrReturn(undispatchedCoroutine, undispatchedCoroutine, function2);
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext3, updateThreadContext);
|
||||
result$kotlinx_coroutines_core = startUndispatchedOrReturn;
|
||||
} catch (Throwable th) {
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext3, updateThreadContext);
|
||||
throw th;
|
||||
}
|
||||
} else {
|
||||
DispatchedCoroutine dispatchedCoroutine = new DispatchedCoroutine(newCoroutineContext, continuation);
|
||||
CancellableKt.startCoroutineCancellable$default(function2, dispatchedCoroutine, dispatchedCoroutine, null, 4, null);
|
||||
result$kotlinx_coroutines_core = dispatchedCoroutine.getResult$kotlinx_coroutines_core();
|
||||
}
|
||||
}
|
||||
if (result$kotlinx_coroutines_core == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result$kotlinx_coroutines_core;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
|
||||
@Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\u0011\u0012\n\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003¢\u0006\u0002\u0010\u0004J\u0013\u0010\u0005\u001a\u00020\u00062\b\u0010\u0007\u001a\u0004\u0018\u00010\bH\u0096\u0002J\b\u0010\t\u001a\u00020\nH\u0016R\u0012\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000b"}, d2 = {"Lkotlinx/coroutines/CancelFutureOnCancel;", "Lkotlinx/coroutines/CancelHandler;", "future", "Ljava/util/concurrent/Future;", "(Ljava/util/concurrent/Future;)V", "invoke", "", "cause", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class CancelFutureOnCancel extends CancelHandler {
|
||||
private final Future<?> future;
|
||||
|
||||
public CancelFutureOnCancel(Future<?> future) {
|
||||
this.future = future;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CancelFutureOnCancel[" + this.future + ']';
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CancelHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
if (cause != null) {
|
||||
this.future.cancel(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\u0011\u0012\n\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003¢\u0006\u0002\u0010\u0004J\u0013\u0010\u0005\u001a\u00020\u00062\b\u0010\u0007\u001a\u0004\u0018\u00010\bH\u0096\u0002R\u0012\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/CancelFutureOnCompletion;", "Lkotlinx/coroutines/JobNode;", "future", "Ljava/util/concurrent/Future;", "(Ljava/util/concurrent/Future;)V", "invoke", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class CancelFutureOnCompletion extends JobNode {
|
||||
private final Future<?> future;
|
||||
|
||||
public CancelFutureOnCompletion(Future<?> future) {
|
||||
this.future = future;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
if (cause != null) {
|
||||
this.future.cancel(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b \u0018\u00002\u00020\u00012\u00020\u0002B\u0005¢\u0006\u0002\u0010\u0003¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/CancelHandler;", "Lkotlinx/coroutines/CancelHandlerBase;", "Lkotlinx/coroutines/NotCompleted;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class CancelHandler extends CancelHandlerBase implements NotCompleted {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
@Metadata(d1 = {"\u0000 \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\u0002\b\u0003\b \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\u0005¢\u0006\u0002\u0010\bJ\u0013\u0010\t\u001a\u00020\u00062\b\u0010\u0005\u001a\u0004\u0018\u00010\u0002H¦\u0002¨\u0006\n"}, d2 = {"Lkotlinx/coroutines/CancelHandlerBase;", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "()V", "invoke", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class CancelHandlerBase implements Function1<Throwable, Unit> {
|
||||
public abstract void invoke(Throwable cause);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
@Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0018\u0002\n\u0002\b\u0003\bf\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00002\b\u0012\u0004\u0012\u0002H\u00010\u0002J\u0014\u0010\b\u001a\u00020\u00042\n\b\u0002\u0010\t\u001a\u0004\u0018\u00010\nH&J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u000eH'J\b\u0010\u000f\u001a\u00020\fH'J1\u0010\u0010\u001a\u00020\f2'\u0010\u0011\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\n¢\u0006\f\b\u0013\u0012\b\b\u0014\u0012\u0004\b\b(\t\u0012\u0004\u0012\u00020\f0\u0012j\u0002`\u0015H&J:\u0010\u0016\u001a\u00020\f2\u0006\u0010\u0017\u001a\u00028\u00002#\u0010\u0018\u001a\u001f\u0012\u0013\u0012\u00110\n¢\u0006\f\b\u0013\u0012\b\b\u0014\u0012\u0004\b\b(\t\u0012\u0004\u0012\u00020\f\u0018\u00010\u0012H'¢\u0006\u0002\u0010\u0019J#\u0010\u001a\u001a\u0004\u0018\u00010\u000e2\u0006\u0010\u0017\u001a\u00028\u00002\n\b\u0002\u0010\u001b\u001a\u0004\u0018\u00010\u000eH'¢\u0006\u0002\u0010\u001cJF\u0010\u001a\u001a\u0004\u0018\u00010\u000e2\u0006\u0010\u0017\u001a\u00028\u00002\b\u0010\u001b\u001a\u0004\u0018\u00010\u000e2#\u0010\u0018\u001a\u001f\u0012\u0013\u0012\u00110\n¢\u0006\f\b\u0013\u0012\b\b\u0014\u0012\u0004\b\b(\t\u0012\u0004\u0012\u00020\f\u0018\u00010\u0012H'¢\u0006\u0002\u0010\u001dJ\u0012\u0010\u001e\u001a\u0004\u0018\u00010\u000e2\u0006\u0010\u001f\u001a\u00020\nH'J\u0019\u0010 \u001a\u00020\f*\u00020!2\u0006\u0010\u0017\u001a\u00028\u0000H'¢\u0006\u0002\u0010\"J\u0014\u0010#\u001a\u00020\f*\u00020!2\u0006\u0010\u001f\u001a\u00020\nH'R\u0012\u0010\u0003\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0005R\u0012\u0010\u0006\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0005R\u0012\u0010\u0007\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\u0005¨\u0006$"}, d2 = {"Lkotlinx/coroutines/CancellableContinuation;", "T", "Lkotlin/coroutines/Continuation;", "isActive", "", "()Z", "isCancelled", "isCompleted", "cancel", "cause", "", "completeResume", "", "token", "", "initCancellability", "invokeOnCancellation", "handler", "Lkotlin/Function1;", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "Lkotlinx/coroutines/CompletionHandler;", "resume", "value", "onCancellation", "(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V", "tryResume", "idempotent", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "tryResumeWithException", "exception", "resumeUndispatched", "Lkotlinx/coroutines/CoroutineDispatcher;", "(Lkotlinx/coroutines/CoroutineDispatcher;Ljava/lang/Object;)V", "resumeUndispatchedWithException", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CancellableContinuation<T> extends Continuation<T> {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static /* synthetic */ boolean cancel$default(CancellableContinuation cancellableContinuation, Throwable th, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: cancel");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
th = null;
|
||||
}
|
||||
return cancellableContinuation.cancel(th);
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object tryResume$default(CancellableContinuation cancellableContinuation, Object obj, Object obj2, int i, Object obj3) {
|
||||
if (obj3 != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: tryResume");
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
obj2 = null;
|
||||
}
|
||||
return cancellableContinuation.tryResume(obj, obj2);
|
||||
}
|
||||
}
|
||||
|
||||
boolean cancel(Throwable cause);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
void completeResume(Object token);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
void initCancellability();
|
||||
|
||||
void invokeOnCancellation(Function1<? super Throwable, Unit> handler);
|
||||
|
||||
boolean isActive();
|
||||
|
||||
boolean isCancelled();
|
||||
|
||||
boolean isCompleted();
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
void resume(T value, Function1<? super Throwable, Unit> onCancellation);
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
void resumeUndispatched(CoroutineDispatcher coroutineDispatcher, T t2);
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
void resumeUndispatchedWithException(CoroutineDispatcher coroutineDispatcher, Throwable th);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
Object tryResume(T value, Object idempotent);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
Object tryResume(T value, Object idempotent, Function1<? super Throwable, Unit> onCancellation);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
Object tryResumeWithException(Throwable exception);
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlinx.coroutines.debug.internal.DebugCoroutineInfoImplKt;
|
||||
import kotlinx.coroutines.internal.Symbol;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0000\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\t\u001a\u0019\u0010\u000e\u001a\u00020\u00012\u0006\u0010\t\u001a\u00020\u00012\u0006\u0010\f\u001a\u00020\u0001H\u0082\b\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0004\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u0010\u0010\u0005\u001a\u00020\u00068\u0000X\u0081\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0007\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\b\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u0019\u0010\t\u001a\u00020\u0001*\u00020\u00018Â\u0002X\u0082\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\u000b\"\u0019\u0010\f\u001a\u00020\u0001*\u00020\u00018Â\u0002X\u0082\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u000b¨\u0006\u000f"}, d2 = {"DECISION_SHIFT", "", "INDEX_MASK", "NO_INDEX", "RESUMED", "RESUME_TOKEN", "Lkotlinx/coroutines/internal/Symbol;", DebugCoroutineInfoImplKt.SUSPENDED, "UNDECIDED", "decision", "getDecision", "(I)I", FirebaseAnalytics.Param.INDEX, "getIndex", "decisionAndIndex", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CancellableContinuationImplKt {
|
||||
private static final int DECISION_SHIFT = 29;
|
||||
private static final int INDEX_MASK = 536870911;
|
||||
private static final int NO_INDEX = 536870911;
|
||||
private static final int RESUMED = 2;
|
||||
|
||||
@JvmField
|
||||
public static final Symbol RESUME_TOKEN = new Symbol("RESUME_TOKEN");
|
||||
private static final int SUSPENDED = 1;
|
||||
private static final int UNDECIDED = 0;
|
||||
|
||||
private static final int decisionAndIndex(int i, int i4) {
|
||||
return (i << 29) + i4;
|
||||
}
|
||||
|
||||
private static final int getDecision(int i) {
|
||||
return i >> 29;
|
||||
}
|
||||
|
||||
private static final int getIndex(int i) {
|
||||
return i & 536870911;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.InlineMarker;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuation;
|
||||
|
||||
@Metadata(d1 = {"\u0000(\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\u001a\"\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0004H\u0000\u001a0\u0010\u0005\u001a\u0002H\u0002\"\u0004\b\u0000\u0010\u00022\u001a\b\u0004\u0010\u0006\u001a\u0014\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\b\u0012\u0004\u0012\u00020\t0\u0007H\u0086H¢\u0006\u0002\u0010\n\u001a0\u0010\u000b\u001a\u0002H\u0002\"\u0004\b\u0000\u0010\u00022\u001a\b\u0004\u0010\u0006\u001a\u0014\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\u0001\u0012\u0004\u0012\u00020\t0\u0007H\u0080H¢\u0006\u0002\u0010\n\u001a\u0018\u0010\f\u001a\u00020\t*\u0006\u0012\u0002\b\u00030\b2\u0006\u0010\r\u001a\u00020\u000eH\u0007¨\u0006\u000f"}, d2 = {"getOrCreateCancellableContinuation", "Lkotlinx/coroutines/CancellableContinuationImpl;", "T", "delegate", "Lkotlin/coroutines/Continuation;", "suspendCancellableCoroutine", "block", "Lkotlin/Function1;", "Lkotlinx/coroutines/CancellableContinuation;", "", "(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "suspendCancellableCoroutineReusable", "disposeOnCancellation", "handle", "Lkotlinx/coroutines/DisposableHandle;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nCancellableContinuation.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CancellableContinuation.kt\nkotlinx/coroutines/CancellableContinuationKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 CompletionHandler.kt\nkotlinx/coroutines/CompletionHandlerKt\n*L\n1#1,386:1\n1#2:387\n19#3:388\n*S KotlinDebug\n*F\n+ 1 CancellableContinuation.kt\nkotlinx/coroutines/CancellableContinuationKt\n*L\n380#1:388\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CancellableContinuationKt {
|
||||
@InternalCoroutinesApi
|
||||
public static final void disposeOnCancellation(CancellableContinuation<?> cancellableContinuation, DisposableHandle disposableHandle) {
|
||||
cancellableContinuation.invokeOnCancellation(new DisposeOnCancel(disposableHandle));
|
||||
}
|
||||
|
||||
public static final <T> CancellableContinuationImpl<T> getOrCreateCancellableContinuation(Continuation<? super T> continuation) {
|
||||
if (!(continuation instanceof DispatchedContinuation)) {
|
||||
return new CancellableContinuationImpl<>(continuation, 1);
|
||||
}
|
||||
CancellableContinuationImpl<T> claimReusableCancellableContinuation$kotlinx_coroutines_core = ((DispatchedContinuation) continuation).claimReusableCancellableContinuation$kotlinx_coroutines_core();
|
||||
if (claimReusableCancellableContinuation$kotlinx_coroutines_core != null) {
|
||||
if (!claimReusableCancellableContinuation$kotlinx_coroutines_core.resetStateReusable()) {
|
||||
claimReusableCancellableContinuation$kotlinx_coroutines_core = null;
|
||||
}
|
||||
if (claimReusableCancellableContinuation$kotlinx_coroutines_core != null) {
|
||||
return claimReusableCancellableContinuation$kotlinx_coroutines_core;
|
||||
}
|
||||
}
|
||||
return new CancellableContinuationImpl<>(continuation, 2);
|
||||
}
|
||||
|
||||
public static final <T> Object suspendCancellableCoroutine(Function1<? super CancellableContinuation<? super T>, Unit> function1, Continuation<? super T> continuation) {
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
function1.invoke(cancellableContinuationImpl);
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static final <T> Object suspendCancellableCoroutine$$forInline(Function1<? super CancellableContinuation<? super T>, Unit> function1, Continuation<? super T> continuation) {
|
||||
InlineMarker.mark(0);
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
function1.invoke(cancellableContinuationImpl);
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
InlineMarker.mark(1);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static final <T> Object suspendCancellableCoroutineReusable(Function1<? super CancellableContinuationImpl<? super T>, Unit> function1, Continuation<? super T> continuation) {
|
||||
CancellableContinuationImpl orCreateCancellableContinuation = getOrCreateCancellableContinuation(IntrinsicsKt.intercepted(continuation));
|
||||
try {
|
||||
function1.invoke(orCreateCancellableContinuation);
|
||||
Object result = orCreateCancellableContinuation.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result;
|
||||
} catch (Throwable th) {
|
||||
orCreateCancellableContinuation.releaseClaimedReusableContinuation$kotlinx_coroutines_core();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
private static final <T> Object suspendCancellableCoroutineReusable$$forInline(Function1<? super CancellableContinuationImpl<? super T>, Unit> function1, Continuation<? super T> continuation) {
|
||||
InlineMarker.mark(0);
|
||||
CancellableContinuationImpl orCreateCancellableContinuation = getOrCreateCancellableContinuation(IntrinsicsKt.intercepted(continuation));
|
||||
try {
|
||||
function1.invoke(orCreateCancellableContinuation);
|
||||
Object result = orCreateCancellableContinuation.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
InlineMarker.mark(1);
|
||||
return result;
|
||||
} catch (Throwable th) {
|
||||
orCreateCancellableContinuation.releaseClaimedReusableContinuation$kotlinx_coroutines_core();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0000\u0018\u00002\u00020\u0001B#\u0012\n\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bJ\u0006\u0010\u000b\u001a\u00020\u0007R\t\u0010\t\u001a\u00020\nX\u0082\u0004¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/CancelledContinuation;", "Lkotlinx/coroutines/CompletedExceptionally;", "continuation", "Lkotlin/coroutines/Continuation;", "cause", "", "handled", "", "(Lkotlin/coroutines/Continuation;Ljava/lang/Throwable;Z)V", "_resumed", "Lkotlinx/atomicfu/AtomicBoolean;", "makeResumed", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CancelledContinuation extends CompletedExceptionally {
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater _resumed$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(CancelledContinuation.class, "_resumed$volatile");
|
||||
private volatile /* synthetic */ int _resumed$volatile;
|
||||
|
||||
/* JADX WARN: Illegal instructions before constructor call */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public CancelledContinuation(kotlin.coroutines.Continuation<?> r3, java.lang.Throwable r4, boolean r5) {
|
||||
/*
|
||||
r2 = this;
|
||||
if (r4 != 0) goto L1a
|
||||
java.util.concurrent.CancellationException r4 = new java.util.concurrent.CancellationException
|
||||
java.lang.StringBuilder r0 = new java.lang.StringBuilder
|
||||
java.lang.String r1 = "Continuation "
|
||||
r0.<init>(r1)
|
||||
r0.append(r3)
|
||||
java.lang.String r3 = " was cancelled normally"
|
||||
r0.append(r3)
|
||||
java.lang.String r3 = r0.toString()
|
||||
r4.<init>(r3)
|
||||
L1a:
|
||||
r2.<init>(r4, r5)
|
||||
r3 = 0
|
||||
r2._resumed$volatile = r3
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.CancelledContinuation.<init>(kotlin.coroutines.Continuation, java.lang.Throwable, boolean):void");
|
||||
}
|
||||
|
||||
private final /* synthetic */ int get_resumed$volatile() {
|
||||
return this._resumed$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_resumed$volatile(int i) {
|
||||
this._resumed$volatile = i;
|
||||
}
|
||||
|
||||
public final boolean makeResumed() {
|
||||
return _resumed$volatile$FU.compareAndSet(this, 0, 1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.JvmField;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\b\u0001\u0018\u00002\u00020\u0001B\u0011\u0012\n\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003¢\u0006\u0002\u0010\u0004J\u0013\u0010\u0005\u001a\u00020\u00062\b\u0010\u0007\u001a\u0004\u0018\u00010\bH\u0096\u0002R\u0014\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u00038\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/ChildContinuation;", "Lkotlinx/coroutines/JobCancellingNode;", "child", "Lkotlinx/coroutines/CancellableContinuationImpl;", "(Lkotlinx/coroutines/CancellableContinuationImpl;)V", "invoke", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@PublishedApi
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ChildContinuation extends JobCancellingNode {
|
||||
|
||||
@JvmField
|
||||
public final CancellableContinuationImpl<?> child;
|
||||
|
||||
public ChildContinuation(CancellableContinuationImpl<?> cancellableContinuationImpl) {
|
||||
this.child = cancellableContinuationImpl;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
CancellableContinuationImpl<?> cancellableContinuationImpl = this.child;
|
||||
cancellableContinuationImpl.parentCancelled$kotlinx_coroutines_core(cancellableContinuationImpl.getContinuationCancellationCause(getJob()));
|
||||
}
|
||||
}
|
||||
25
apk_decompiled/sources/kotlinx/coroutines/ChildHandle.java
Normal file
25
apk_decompiled/sources/kotlinx/coroutines/ChildHandle.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "This is internal API and may be removed in the future releases")
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0003\n\u0000\bg\u0018\u00002\u00020\u0001J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000bH'R\u001c\u0010\u0002\u001a\u0004\u0018\u00010\u00038&X§\u0004¢\u0006\f\u0012\u0004\b\u0004\u0010\u0005\u001a\u0004\b\u0006\u0010\u0007¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/ChildHandle;", "Lkotlinx/coroutines/DisposableHandle;", "parent", "Lkotlinx/coroutines/Job;", "getParent$annotations", "()V", "getParent", "()Lkotlinx/coroutines/Job;", "childCancelled", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ChildHandle extends DisposableHandle {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
@InternalCoroutinesApi
|
||||
public static /* synthetic */ void getParent$annotations() {
|
||||
}
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
boolean childCancelled(Throwable cause);
|
||||
|
||||
Job getParent();
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.JvmField;
|
||||
|
||||
@Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u0002\n\u0000\b\u0000\u0018\u00002\u00020\u00012\u00020\u0002B\r\u0012\u0006\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005J\u0010\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\rH\u0016J\u0013\u0010\u000e\u001a\u00020\u000f2\b\u0010\f\u001a\u0004\u0018\u00010\rH\u0096\u0002R\u0010\u0010\u0003\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0006\u001a\u00020\u00078VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\t¨\u0006\u0010"}, d2 = {"Lkotlinx/coroutines/ChildHandleNode;", "Lkotlinx/coroutines/JobCancellingNode;", "Lkotlinx/coroutines/ChildHandle;", "childJob", "Lkotlinx/coroutines/ChildJob;", "(Lkotlinx/coroutines/ChildJob;)V", "parent", "Lkotlinx/coroutines/Job;", "getParent", "()Lkotlinx/coroutines/Job;", "childCancelled", "", "cause", "", "invoke", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ChildHandleNode extends JobCancellingNode implements ChildHandle {
|
||||
|
||||
@JvmField
|
||||
public final ChildJob childJob;
|
||||
|
||||
public ChildHandleNode(ChildJob childJob) {
|
||||
this.childJob = childJob;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ChildHandle
|
||||
public boolean childCancelled(Throwable cause) {
|
||||
return getJob().childCancelled(cause);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ChildHandle
|
||||
public Job getParent() {
|
||||
return getJob();
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
this.childJob.parentCancelled(getJob());
|
||||
}
|
||||
}
|
||||
43
apk_decompiled/sources/kotlinx/coroutines/ChildJob.java
Normal file
43
apk_decompiled/sources/kotlinx/coroutines/ChildJob.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.Job;
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "This is internal API and may be removed in the future releases")
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001J\u0010\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H'¨\u0006\u0006"}, d2 = {"Lkotlinx/coroutines/ChildJob;", "Lkotlinx/coroutines/Job;", "parentCancelled", "", "parentJob", "Lkotlinx/coroutines/ParentJob;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ChildJob extends Job {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <R> R fold(ChildJob childJob, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) Job.DefaultImpls.fold(childJob, r4, function2);
|
||||
}
|
||||
|
||||
public static <E extends CoroutineContext.Element> E get(ChildJob childJob, CoroutineContext.Key<E> key) {
|
||||
return (E) Job.DefaultImpls.get(childJob, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext minusKey(ChildJob childJob, CoroutineContext.Key<?> key) {
|
||||
return Job.DefaultImpls.minusKey(childJob, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext plus(ChildJob childJob, CoroutineContext coroutineContext) {
|
||||
return Job.DefaultImpls.plus(childJob, coroutineContext);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
public static Job plus(ChildJob childJob, Job job) {
|
||||
return Job.DefaultImpls.plus((Job) childJob, job);
|
||||
}
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
void parentCancelled(ParentJob parentJob);
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.Deferred;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u0003\n\u0000\bf\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002J\u0015\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00028\u0000H&¢\u0006\u0002\u0010\u0006J\u0010\u0010\u0007\u001a\u00020\u00042\u0006\u0010\b\u001a\u00020\tH&¨\u0006\n"}, d2 = {"Lkotlinx/coroutines/CompletableDeferred;", "T", "Lkotlinx/coroutines/Deferred;", "complete", "", "value", "(Ljava/lang/Object;)Z", "completeExceptionally", "exception", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CompletableDeferred<T> extends Deferred<T> {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <T, R> R fold(CompletableDeferred<T> completableDeferred, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) Deferred.DefaultImpls.fold(completableDeferred, r4, function2);
|
||||
}
|
||||
|
||||
public static <T, E extends CoroutineContext.Element> E get(CompletableDeferred<T> completableDeferred, CoroutineContext.Key<E> key) {
|
||||
return (E) Deferred.DefaultImpls.get(completableDeferred, key);
|
||||
}
|
||||
|
||||
public static <T> CoroutineContext minusKey(CompletableDeferred<T> completableDeferred, CoroutineContext.Key<?> key) {
|
||||
return Deferred.DefaultImpls.minusKey(completableDeferred, key);
|
||||
}
|
||||
|
||||
public static <T> CoroutineContext plus(CompletableDeferred<T> completableDeferred, CoroutineContext coroutineContext) {
|
||||
return Deferred.DefaultImpls.plus(completableDeferred, coroutineContext);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
public static <T> Job plus(CompletableDeferred<T> completableDeferred, Job job) {
|
||||
return Deferred.DefaultImpls.plus((Deferred) completableDeferred, job);
|
||||
}
|
||||
}
|
||||
|
||||
boolean complete(T value);
|
||||
|
||||
boolean completeExceptionally(Throwable exception);
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlinx.coroutines.selects.SelectClause1;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\t\n\u0002\u0010\u0003\n\u0002\b\u0003\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\u00020\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003B\u000f\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005¢\u0006\u0002\u0010\u0006J\u000e\u0010\u000f\u001a\u00028\u0000H\u0096@¢\u0006\u0002\u0010\u0010J\u0015\u0010\u0011\u001a\u00020\f2\u0006\u0010\u0012\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0013J\u0010\u0010\u0014\u001a\u00020\f2\u0006\u0010\u0015\u001a\u00020\u0016H\u0016J\r\u0010\u0017\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0018R\u001a\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\b8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\nR\u0014\u0010\u000b\u001a\u00020\f8PX\u0090\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u000e¨\u0006\u0019"}, d2 = {"Lkotlinx/coroutines/CompletableDeferredImpl;", "T", "Lkotlinx/coroutines/JobSupport;", "Lkotlinx/coroutines/CompletableDeferred;", "parent", "Lkotlinx/coroutines/Job;", "(Lkotlinx/coroutines/Job;)V", "onAwait", "Lkotlinx/coroutines/selects/SelectClause1;", "getOnAwait", "()Lkotlinx/coroutines/selects/SelectClause1;", "onCancelComplete", "", "getOnCancelComplete$kotlinx_coroutines_core", "()Z", "await", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "complete", "value", "(Ljava/lang/Object;)Z", "completeExceptionally", "exception", "", "getCompleted", "()Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletableDeferredImpl<T> extends JobSupport implements CompletableDeferred<T> {
|
||||
public CompletableDeferredImpl(Job job) {
|
||||
super(true);
|
||||
initParentJob(job);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public Object await(Continuation<? super T> continuation) {
|
||||
Object awaitInternal = awaitInternal(continuation);
|
||||
IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
return awaitInternal;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletableDeferred
|
||||
public boolean complete(T value) {
|
||||
return makeCompleting$kotlinx_coroutines_core(value);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletableDeferred
|
||||
public boolean completeExceptionally(Throwable exception) {
|
||||
return makeCompleting$kotlinx_coroutines_core(new CompletedExceptionally(exception, false, 2, null));
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public T getCompleted() {
|
||||
return (T) getCompletedInternal$kotlinx_coroutines_core();
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public SelectClause1<T> getOnAwait() {
|
||||
SelectClause1<T> selectClause1 = (SelectClause1<T>) getOnAwaitInternal();
|
||||
Intrinsics.checkNotNull(selectClause1, "null cannot be cast to non-null type kotlinx.coroutines.selects.SelectClause1<T of kotlinx.coroutines.CompletableDeferredImpl>");
|
||||
return selectClause1;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public boolean getOnCancelComplete$kotlinx_coroutines_core() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Result;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u001f\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\u0006\u0010\u0003\u001a\u0002H\u0002¢\u0006\u0002\u0010\u0004\u001a\u001e\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\n\b\u0002\u0010\u0005\u001a\u0004\u0018\u00010\u0006\u001a)\u0010\u0007\u001a\u00020\b\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00012\f\u0010\t\u001a\b\u0012\u0004\u0012\u0002H\u00020\n¢\u0006\u0002\u0010\u000b¨\u0006\f"}, d2 = {"CompletableDeferred", "Lkotlinx/coroutines/CompletableDeferred;", "T", "value", "(Ljava/lang/Object;)Lkotlinx/coroutines/CompletableDeferred;", "parent", "Lkotlinx/coroutines/Job;", "completeWith", "", "result", "Lkotlin/Result;", "(Lkotlinx/coroutines/CompletableDeferred;Ljava/lang/Object;)Z", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nCompletableDeferred.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CompletableDeferred.kt\nkotlinx/coroutines/CompletableDeferredKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,94:1\n1#2:95\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletableDeferredKt {
|
||||
public static final <T> CompletableDeferred<T> CompletableDeferred(Job job) {
|
||||
return new CompletableDeferredImpl(job);
|
||||
}
|
||||
|
||||
public static /* synthetic */ CompletableDeferred CompletableDeferred$default(Job job, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
job = null;
|
||||
}
|
||||
return CompletableDeferred(job);
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public static final <T> boolean completeWith(CompletableDeferred<T> completableDeferred, Object obj) {
|
||||
Throwable m119exceptionOrNullimpl = Result.m119exceptionOrNullimpl(obj);
|
||||
return m119exceptionOrNullimpl == null ? completableDeferred.complete(obj) : completableDeferred.completeExceptionally(m119exceptionOrNullimpl);
|
||||
}
|
||||
|
||||
public static final <T> CompletableDeferred<T> CompletableDeferred(T t2) {
|
||||
CompletableDeferredImpl completableDeferredImpl = new CompletableDeferredImpl(null);
|
||||
completableDeferredImpl.complete(t2);
|
||||
return completableDeferredImpl;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.Job;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0003\n\u0000\bf\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H&J\u0010\u0010\u0004\u001a\u00020\u00032\u0006\u0010\u0005\u001a\u00020\u0006H&¨\u0006\u0007"}, d2 = {"Lkotlinx/coroutines/CompletableJob;", "Lkotlinx/coroutines/Job;", "complete", "", "completeExceptionally", "exception", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CompletableJob extends Job {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <R> R fold(CompletableJob completableJob, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) Job.DefaultImpls.fold(completableJob, r4, function2);
|
||||
}
|
||||
|
||||
public static <E extends CoroutineContext.Element> E get(CompletableJob completableJob, CoroutineContext.Key<E> key) {
|
||||
return (E) Job.DefaultImpls.get(completableJob, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext minusKey(CompletableJob completableJob, CoroutineContext.Key<?> key) {
|
||||
return Job.DefaultImpls.minusKey(completableJob, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext plus(CompletableJob completableJob, CoroutineContext coroutineContext) {
|
||||
return Job.DefaultImpls.plus(completableJob, coroutineContext);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
public static Job plus(CompletableJob completableJob, Job job) {
|
||||
return Job.DefaultImpls.plus((Job) completableJob, job);
|
||||
}
|
||||
}
|
||||
|
||||
boolean complete();
|
||||
|
||||
boolean completeExceptionally(Throwable exception);
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000F\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u000b\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0082\b\u0018\u00002\u00020\u0001BZ\u0012\b\u0010\u0002\u001a\u0004\u0018\u00010\u0001\u0012\n\b\u0002\u0010\u0003\u001a\u0004\u0018\u00010\u0004\u0012%\b\u0002\u0010\u0005\u001a\u001f\u0012\u0013\u0012\u00110\u0007¢\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u0006\u0012\n\b\u0002\u0010\f\u001a\u0004\u0018\u00010\u0001\u0012\n\b\u0002\u0010\r\u001a\u0004\u0018\u00010\u0007¢\u0006\u0002\u0010\u000eJ\u000b\u0010\u0013\u001a\u0004\u0018\u00010\u0001HÆ\u0003J\u000b\u0010\u0014\u001a\u0004\u0018\u00010\u0004HÆ\u0003J&\u0010\u0015\u001a\u001f\u0012\u0013\u0012\u00110\u0007¢\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u0006HÆ\u0003J\u000b\u0010\u0016\u001a\u0004\u0018\u00010\u0001HÆ\u0003J\u000b\u0010\u0017\u001a\u0004\u0018\u00010\u0007HÆ\u0003J`\u0010\u0018\u001a\u00020\u00002\n\b\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u00012\n\b\u0002\u0010\u0003\u001a\u0004\u0018\u00010\u00042%\b\u0002\u0010\u0005\u001a\u001f\u0012\u0013\u0012\u00110\u0007¢\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u00062\n\b\u0002\u0010\f\u001a\u0004\u0018\u00010\u00012\n\b\u0002\u0010\r\u001a\u0004\u0018\u00010\u0007HÆ\u0001J\u0013\u0010\u0019\u001a\u00020\u00102\b\u0010\u001a\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010\u001b\u001a\u00020\u001cHÖ\u0001J\u001a\u0010\u001d\u001a\u00020\u000b2\n\u0010\u001e\u001a\u0006\u0012\u0002\b\u00030\u001f2\u0006\u0010\n\u001a\u00020\u0007J\t\u0010 \u001a\u00020!HÖ\u0001R\u0012\u0010\r\u001a\u0004\u0018\u00010\u00078\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\u0003\u001a\u0004\u0018\u00010\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0011\u0010\u000f\u001a\u00020\u00108F¢\u0006\u0006\u001a\u0004\b\u0011\u0010\u0012R\u0012\u0010\f\u001a\u0004\u0018\u00010\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R-\u0010\u0005\u001a\u001f\u0012\u0013\u0012\u00110\u0007¢\u0006\f\b\b\u0012\b\b\t\u0012\u0004\b\b(\n\u0012\u0004\u0012\u00020\u000b\u0018\u00010\u00068\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\u0002\u001a\u0004\u0018\u00010\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\""}, d2 = {"Lkotlinx/coroutines/CompletedContinuation;", "", "result", "cancelHandler", "Lkotlinx/coroutines/CancelHandler;", "onCancellation", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "idempotentResume", "cancelCause", "(Ljava/lang/Object;Lkotlinx/coroutines/CancelHandler;Lkotlin/jvm/functions/Function1;Ljava/lang/Object;Ljava/lang/Throwable;)V", "cancelled", "", "getCancelled", "()Z", "component1", "component2", "component3", "component4", "component5", "copy", "equals", "other", "hashCode", "", "invokeHandlers", "cont", "Lkotlinx/coroutines/CancellableContinuationImpl;", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nCancellableContinuationImpl.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CancellableContinuationImpl.kt\nkotlinx/coroutines/CompletedContinuation\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,662:1\n1#2:663\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
final /* data */ class CompletedContinuation {
|
||||
|
||||
@JvmField
|
||||
public final Throwable cancelCause;
|
||||
|
||||
@JvmField
|
||||
public final CancelHandler cancelHandler;
|
||||
|
||||
@JvmField
|
||||
public final Object idempotentResume;
|
||||
|
||||
@JvmField
|
||||
public final Function1<Throwable, Unit> onCancellation;
|
||||
|
||||
@JvmField
|
||||
public final Object result;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public CompletedContinuation(Object obj, CancelHandler cancelHandler, Function1<? super Throwable, Unit> function1, Object obj2, Throwable th) {
|
||||
this.result = obj;
|
||||
this.cancelHandler = cancelHandler;
|
||||
this.onCancellation = function1;
|
||||
this.idempotentResume = obj2;
|
||||
this.cancelCause = th;
|
||||
}
|
||||
|
||||
public static /* synthetic */ CompletedContinuation copy$default(CompletedContinuation completedContinuation, Object obj, CancelHandler cancelHandler, Function1 function1, Object obj2, Throwable th, int i, Object obj3) {
|
||||
if ((i & 1) != 0) {
|
||||
obj = completedContinuation.result;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
cancelHandler = completedContinuation.cancelHandler;
|
||||
}
|
||||
if ((i & 4) != 0) {
|
||||
function1 = completedContinuation.onCancellation;
|
||||
}
|
||||
if ((i & 8) != 0) {
|
||||
obj2 = completedContinuation.idempotentResume;
|
||||
}
|
||||
if ((i & 16) != 0) {
|
||||
th = completedContinuation.cancelCause;
|
||||
}
|
||||
Throwable th2 = th;
|
||||
Function1 function12 = function1;
|
||||
return completedContinuation.copy(obj, cancelHandler, function12, obj2, th2);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final Object getResult() {
|
||||
return this.result;
|
||||
}
|
||||
|
||||
/* renamed from: component2, reason: from getter */
|
||||
public final CancelHandler getCancelHandler() {
|
||||
return this.cancelHandler;
|
||||
}
|
||||
|
||||
public final Function1<Throwable, Unit> component3() {
|
||||
return this.onCancellation;
|
||||
}
|
||||
|
||||
/* renamed from: component4, reason: from getter */
|
||||
public final Object getIdempotentResume() {
|
||||
return this.idempotentResume;
|
||||
}
|
||||
|
||||
/* renamed from: component5, reason: from getter */
|
||||
public final Throwable getCancelCause() {
|
||||
return this.cancelCause;
|
||||
}
|
||||
|
||||
public final CompletedContinuation copy(Object result, CancelHandler cancelHandler, Function1<? super Throwable, Unit> onCancellation, Object idempotentResume, Throwable cancelCause) {
|
||||
return new CompletedContinuation(result, cancelHandler, onCancellation, idempotentResume, cancelCause);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof CompletedContinuation)) {
|
||||
return false;
|
||||
}
|
||||
CompletedContinuation completedContinuation = (CompletedContinuation) other;
|
||||
return Intrinsics.areEqual(this.result, completedContinuation.result) && Intrinsics.areEqual(this.cancelHandler, completedContinuation.cancelHandler) && Intrinsics.areEqual(this.onCancellation, completedContinuation.onCancellation) && Intrinsics.areEqual(this.idempotentResume, completedContinuation.idempotentResume) && Intrinsics.areEqual(this.cancelCause, completedContinuation.cancelCause);
|
||||
}
|
||||
|
||||
public final boolean getCancelled() {
|
||||
return this.cancelCause != null;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
Object obj = this.result;
|
||||
int hashCode = (obj == null ? 0 : obj.hashCode()) * 31;
|
||||
CancelHandler cancelHandler = this.cancelHandler;
|
||||
int hashCode2 = (hashCode + (cancelHandler == null ? 0 : cancelHandler.hashCode())) * 31;
|
||||
Function1<Throwable, Unit> function1 = this.onCancellation;
|
||||
int hashCode3 = (hashCode2 + (function1 == null ? 0 : function1.hashCode())) * 31;
|
||||
Object obj2 = this.idempotentResume;
|
||||
int hashCode4 = (hashCode3 + (obj2 == null ? 0 : obj2.hashCode())) * 31;
|
||||
Throwable th = this.cancelCause;
|
||||
return hashCode4 + (th != null ? th.hashCode() : 0);
|
||||
}
|
||||
|
||||
public final void invokeHandlers(CancellableContinuationImpl<?> cont, Throwable cause) {
|
||||
CancelHandler cancelHandler = this.cancelHandler;
|
||||
if (cancelHandler != null) {
|
||||
cont.callCancelHandler(cancelHandler, cause);
|
||||
}
|
||||
Function1<Throwable, Unit> function1 = this.onCancellation;
|
||||
if (function1 != null) {
|
||||
cont.callOnCancellation(function1, cause);
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CompletedContinuation(result=" + this.result + ", cancelHandler=" + this.cancelHandler + ", onCancellation=" + this.onCancellation + ", idempotentResume=" + this.idempotentResume + ", cancelCause=" + this.cancelCause + ')';
|
||||
}
|
||||
|
||||
public /* synthetic */ CompletedContinuation(Object obj, CancelHandler cancelHandler, Function1 function1, Object obj2, Throwable th, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(obj, (i & 2) != 0 ? null : cancelHandler, (i & 4) != 0 ? null : function1, (i & 8) != 0 ? null : obj2, (i & 16) != 0 ? null : th);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0000\b\u0010\u0018\u00002\u00020\u0001B\u0017\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\b\b\u0002\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u0006\u0010\u000b\u001a\u00020\u0005J\b\u0010\f\u001a\u00020\rH\u0016R\t\u0010\u0007\u001a\u00020\bX\u0082\u0004R\u0010\u0010\u0002\u001a\u00020\u00038\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0011\u0010\u0004\u001a\u00020\u00058F¢\u0006\u0006\u001a\u0004\b\t\u0010\n¨\u0006\u000e"}, d2 = {"Lkotlinx/coroutines/CompletedExceptionally;", "", "cause", "", "handled", "", "(Ljava/lang/Throwable;Z)V", "_handled", "Lkotlinx/atomicfu/AtomicBoolean;", "getHandled", "()Z", "makeHandled", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public class CompletedExceptionally {
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater _handled$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(CompletedExceptionally.class, "_handled$volatile");
|
||||
private volatile /* synthetic */ int _handled$volatile;
|
||||
|
||||
@JvmField
|
||||
public final Throwable cause;
|
||||
|
||||
public CompletedExceptionally(Throwable th, boolean z3) {
|
||||
this.cause = th;
|
||||
this._handled$volatile = z3 ? 1 : 0;
|
||||
}
|
||||
|
||||
private final /* synthetic */ int get_handled$volatile() {
|
||||
return this._handled$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_handled$volatile(int i) {
|
||||
this._handled$volatile = i;
|
||||
}
|
||||
|
||||
public final boolean getHandled() {
|
||||
return _handled$volatile$FU.get(this) != 0;
|
||||
}
|
||||
|
||||
public final boolean makeHandled() {
|
||||
return _handled$volatile$FU.compareAndSet(this, 0, 1);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return DebugStringsKt.getClassSimpleName(this) + '[' + this.cause + ']';
|
||||
}
|
||||
|
||||
public /* synthetic */ CompletedExceptionally(Throwable th, boolean z3, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(th, (i & 2) != 0 ? false : z3);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0080\b\u0018\u00002\u00020\u0001B2\u0012\b\u0010\u0002\u001a\u0004\u0018\u00010\u0001\u0012!\u0010\u0003\u001a\u001d\u0012\u0013\u0012\u00110\u0005¢\u0006\f\b\u0006\u0012\b\b\u0007\u0012\u0004\b\b(\b\u0012\u0004\u0012\u00020\t0\u0004¢\u0006\u0002\u0010\nJ\u000b\u0010\u000b\u001a\u0004\u0018\u00010\u0001HÆ\u0003J$\u0010\f\u001a\u001d\u0012\u0013\u0012\u00110\u0005¢\u0006\f\b\u0006\u0012\b\b\u0007\u0012\u0004\b\b(\b\u0012\u0004\u0012\u00020\t0\u0004HÆ\u0003J:\u0010\r\u001a\u00020\u00002\n\b\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u00012#\b\u0002\u0010\u0003\u001a\u001d\u0012\u0013\u0012\u00110\u0005¢\u0006\f\b\u0006\u0012\b\b\u0007\u0012\u0004\b\b(\b\u0012\u0004\u0012\u00020\t0\u0004HÆ\u0001J\u0013\u0010\u000e\u001a\u00020\u000f2\b\u0010\u0010\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010\u0011\u001a\u00020\u0012HÖ\u0001J\t\u0010\u0013\u001a\u00020\u0014HÖ\u0001R+\u0010\u0003\u001a\u001d\u0012\u0013\u0012\u00110\u0005¢\u0006\f\b\u0006\u0012\b\b\u0007\u0012\u0004\b\b(\b\u0012\u0004\u0012\u00020\t0\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\u0002\u001a\u0004\u0018\u00010\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\u0015"}, d2 = {"Lkotlinx/coroutines/CompletedWithCancellation;", "", "result", "onCancellation", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V", "component1", "component2", "copy", "equals", "", "other", "hashCode", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* data */ class CompletedWithCancellation {
|
||||
|
||||
@JvmField
|
||||
public final Function1<Throwable, Unit> onCancellation;
|
||||
|
||||
@JvmField
|
||||
public final Object result;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public CompletedWithCancellation(Object obj, Function1<? super Throwable, Unit> function1) {
|
||||
this.result = obj;
|
||||
this.onCancellation = function1;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public static /* synthetic */ CompletedWithCancellation copy$default(CompletedWithCancellation completedWithCancellation, Object obj, Function1 function1, int i, Object obj2) {
|
||||
if ((i & 1) != 0) {
|
||||
obj = completedWithCancellation.result;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
function1 = completedWithCancellation.onCancellation;
|
||||
}
|
||||
return completedWithCancellation.copy(obj, function1);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final Object getResult() {
|
||||
return this.result;
|
||||
}
|
||||
|
||||
public final Function1<Throwable, Unit> component2() {
|
||||
return this.onCancellation;
|
||||
}
|
||||
|
||||
public final CompletedWithCancellation copy(Object result, Function1<? super Throwable, Unit> onCancellation) {
|
||||
return new CompletedWithCancellation(result, onCancellation);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof CompletedWithCancellation)) {
|
||||
return false;
|
||||
}
|
||||
CompletedWithCancellation completedWithCancellation = (CompletedWithCancellation) other;
|
||||
return Intrinsics.areEqual(this.result, completedWithCancellation.result) && Intrinsics.areEqual(this.onCancellation, completedWithCancellation.onCancellation);
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
Object obj = this.result;
|
||||
return this.onCancellation.hashCode() + ((obj == null ? 0 : obj.hashCode()) * 31);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CompletedWithCancellation(result=" + this.result + ", onCancellation=" + this.onCancellation + ')';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlinx.coroutines.internal.LockFreeLinkedListNode;
|
||||
|
||||
@Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\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\u0002\b\u0003\b \u0018\u00002\u00020\u00012#\u0012\u0015\u0012\u0013\u0018\u00010\u0003¢\u0006\f\b\u0004\u0012\b\b\u0005\u0012\u0004\b\b(\u0006\u0012\u0004\u0012\u00020\u00070\u0002j\u0002`\bB\u0005¢\u0006\u0002\u0010\tJ\u0013\u0010\n\u001a\u00020\u00072\b\u0010\u0006\u001a\u0004\u0018\u00010\u0003H¦\u0002¨\u0006\u000b"}, d2 = {"Lkotlinx/coroutines/CompletionHandlerBase;", "Lkotlinx/coroutines/internal/LockFreeLinkedListNode;", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "()V", "invoke", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class CompletionHandlerBase extends LockFreeLinkedListNode implements Function1<Throwable, Unit> {
|
||||
public abstract void invoke(Throwable cause);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0002\b\u0007\u0018\u00002\u00060\u0001j\u0002`\u0002B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007¨\u0006\b"}, d2 = {"Lkotlinx/coroutines/CompletionHandlerException;", "Ljava/lang/RuntimeException;", "Lkotlin/RuntimeException;", "message", "", "cause", "", "(Ljava/lang/String;Ljava/lang/Throwable;)V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletionHandlerException extends RuntimeException {
|
||||
public CompletionHandlerException(String str, Throwable th) {
|
||||
super(str, th);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
@Metadata(d1 = {"\u0000*\n\u0000\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\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a8\u0010\r\u001a\u00020\u0006*#\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`\u00072\b\u0010\u0005\u001a\u0004\u0018\u00010\u0002H\u0080\b\":\u0010\u0000\u001a#\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`\u0007*\u00020\b8À\u0002X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\n\":\u0010\u0000\u001a#\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`\u0007*\u00020\u000b8À\u0002X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\f¨\u0006\u000e"}, d2 = {"asHandler", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "Lkotlinx/coroutines/CancelHandlerBase;", "getAsHandler", "(Lkotlinx/coroutines/CancelHandlerBase;)Lkotlin/jvm/functions/Function1;", "Lkotlinx/coroutines/CompletionHandlerBase;", "(Lkotlinx/coroutines/CompletionHandlerBase;)Lkotlin/jvm/functions/Function1;", "invokeIt", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletionHandlerKt {
|
||||
public static final Function1<Throwable, Unit> getAsHandler(CancelHandlerBase cancelHandlerBase) {
|
||||
return cancelHandlerBase;
|
||||
}
|
||||
|
||||
public static final void invokeIt(Function1<? super Throwable, Unit> function1, Throwable th) {
|
||||
function1.invoke(th);
|
||||
}
|
||||
|
||||
public static final Function1<Throwable, Unit> getAsHandler(CompletionHandlerBase completionHandlerBase) {
|
||||
return completionHandlerBase;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import java.util.Objects;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000$\n\u0000\n\u0002\u0010\u000b\n\u0000\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\u0002\b\u0002\u001a6\u0010\u0000\u001a\u00020\u0001\"\u0006\b\u0000\u0010\u0002\u0018\u0001*#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\tH\u0080\b*D\u0010\n\"\u001f\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u00032\u001f\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003¨\u0006\u000b"}, d2 = {"isHandlerOf", "", "T", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "CompletionHandler", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletionHandler_commonKt {
|
||||
public static final /* synthetic */ <T> boolean isHandlerOf(Function1<? super Throwable, Unit> function1) {
|
||||
Intrinsics.reifiedOperationMarker(3, "T");
|
||||
return Objects.nonNull(function1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Result;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u00008\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a1\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\b\u0010\u0003\u001a\u0004\u0018\u00010\u00042\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0006H\u0000¢\u0006\u0002\u0010\u0007\u001aF\u0010\b\u001a\u0004\u0018\u00010\u0004\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00012%\b\u0002\u0010\t\u001a\u001f\u0012\u0013\u0012\u00110\u000b¢\u0006\f\b\f\u0012\b\b\r\u0012\u0004\b\b(\u000e\u0012\u0004\u0012\u00020\u000f\u0018\u00010\nH\u0000¢\u0006\u0002\u0010\u0010\u001a+\u0010\b\u001a\u0004\u0018\u00010\u0004\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00012\n\u0010\u0011\u001a\u0006\u0012\u0002\b\u00030\u0012H\u0000¢\u0006\u0002\u0010\u0013¨\u0006\u0014"}, d2 = {"recoverResult", "Lkotlin/Result;", "T", RemoteConfigConstants.ResponseFieldKey.STATE, "", "uCont", "Lkotlin/coroutines/Continuation;", "(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "toState", "onCancellation", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "caller", "Lkotlinx/coroutines/CancellableContinuation;", "(Ljava/lang/Object;Lkotlinx/coroutines/CancellableContinuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nCompletionState.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CompletionState.kt\nkotlinx/coroutines/CompletionStateKt\n+ 2 StackTraceRecovery.kt\nkotlinx/coroutines/internal/StackTraceRecoveryKt\n*L\n1#1,67:1\n61#2,2:68\n61#2,2:70\n*S KotlinDebug\n*F\n+ 1 CompletionState.kt\nkotlinx/coroutines/CompletionStateKt\n*L\n21#1:68,2\n27#1:70,2\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CompletionStateKt {
|
||||
public static final <T> Object recoverResult(Object obj, Continuation<? super T> continuation) {
|
||||
if (!(obj instanceof CompletedExceptionally)) {
|
||||
return Result.m116constructorimpl(obj);
|
||||
}
|
||||
Result.Companion companion = Result.INSTANCE;
|
||||
return Result.m116constructorimpl(ResultKt.createFailure(((CompletedExceptionally) obj).cause));
|
||||
}
|
||||
|
||||
public static final <T> Object toState(Object obj, Function1<? super Throwable, Unit> function1) {
|
||||
Throwable m119exceptionOrNullimpl = Result.m119exceptionOrNullimpl(obj);
|
||||
if (m119exceptionOrNullimpl == null) {
|
||||
return function1 != null ? new CompletedWithCancellation(obj, function1) : obj;
|
||||
}
|
||||
return new CompletedExceptionally(m119exceptionOrNullimpl, false, 2, null);
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object toState$default(Object obj, Function1 function1, int i, Object obj2) {
|
||||
if ((i & 1) != 0) {
|
||||
function1 = null;
|
||||
}
|
||||
return toState(obj, (Function1<? super Throwable, Unit>) function1);
|
||||
}
|
||||
|
||||
public static final <T> Object toState(Object obj, CancellableContinuation<?> cancellableContinuation) {
|
||||
Throwable m119exceptionOrNullimpl = Result.m119exceptionOrNullimpl(obj);
|
||||
return m119exceptionOrNullimpl == null ? obj : new CompletedExceptionally(m119exceptionOrNullimpl, false, 2, null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.ThreadContextElement;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\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\bg\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002J\u000e\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0000H&J\u0010\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007H&¨\u0006\b"}, d2 = {"Lkotlinx/coroutines/CopyableThreadContextElement;", "S", "Lkotlinx/coroutines/ThreadContextElement;", "copyForChild", "mergeForChild", "Lkotlin/coroutines/CoroutineContext;", "overwritingElement", "Lkotlin/coroutines/CoroutineContext$Element;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@DelicateCoroutinesApi
|
||||
@ExperimentalCoroutinesApi
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CopyableThreadContextElement<S> extends ThreadContextElement<S> {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <S, R> R fold(CopyableThreadContextElement<S> copyableThreadContextElement, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) ThreadContextElement.DefaultImpls.fold(copyableThreadContextElement, r4, function2);
|
||||
}
|
||||
|
||||
public static <S, E extends CoroutineContext.Element> E get(CopyableThreadContextElement<S> copyableThreadContextElement, CoroutineContext.Key<E> key) {
|
||||
return (E) ThreadContextElement.DefaultImpls.get(copyableThreadContextElement, key);
|
||||
}
|
||||
|
||||
public static <S> CoroutineContext minusKey(CopyableThreadContextElement<S> copyableThreadContextElement, CoroutineContext.Key<?> key) {
|
||||
return ThreadContextElement.DefaultImpls.minusKey(copyableThreadContextElement, key);
|
||||
}
|
||||
|
||||
public static <S> CoroutineContext plus(CopyableThreadContextElement<S> copyableThreadContextElement, CoroutineContext coroutineContext) {
|
||||
return ThreadContextElement.DefaultImpls.plus(copyableThreadContextElement, coroutineContext);
|
||||
}
|
||||
}
|
||||
|
||||
CopyableThreadContextElement<S> copyForChild();
|
||||
|
||||
CoroutineContext mergeForChild(CoroutineContext.Element overwritingElement);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.lang.Throwable;
|
||||
import kotlin.Metadata;
|
||||
import kotlinx.coroutines.CopyableThrowable;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\u0010\u0000\n\u0002\b\u0003\bg\u0018\u0000*\u0012\b\u0000\u0010\u0001*\u00020\u0002*\b\u0012\u0004\u0012\u0002H\u00010\u00002\u00020\u0003J\u000f\u0010\u0004\u001a\u0004\u0018\u00018\u0000H&¢\u0006\u0002\u0010\u0005¨\u0006\u0006"}, d2 = {"Lkotlinx/coroutines/CopyableThrowable;", "T", "", "", "createCopy", "()Ljava/lang/Throwable;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalCoroutinesApi
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CopyableThrowable<T extends Throwable & CopyableThrowable<T>> {
|
||||
T createCopy();
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationInterceptor;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
import kotlin.coroutines.jvm.internal.CoroutineStackFrame;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.InlineMarker;
|
||||
import kotlin.jvm.internal.Ref;
|
||||
import kotlinx.coroutines.internal.ThreadContextKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000>\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a \u0010\u0006\u001a\u00020\u00032\u0006\u0010\u0007\u001a\u00020\u00032\u0006\u0010\b\u001a\u00020\u00032\u0006\u0010\t\u001a\u00020\nH\u0002\u001a8\u0010\u000b\u001a\u0002H\f\"\u0004\b\u0000\u0010\f2\n\u0010\r\u001a\u0006\u0012\u0002\b\u00030\u000e2\b\u0010\u000f\u001a\u0004\u0018\u00010\u00102\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u0002H\f0\u0012H\u0080\b¢\u0006\u0002\u0010\u0013\u001a4\u0010\u0014\u001a\u0002H\f\"\u0004\b\u0000\u0010\f2\u0006\u0010\u0015\u001a\u00020\u00032\b\u0010\u000f\u001a\u0004\u0018\u00010\u00102\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u0002H\f0\u0012H\u0080\b¢\u0006\u0002\u0010\u0016\u001a\f\u0010\u0017\u001a\u00020\n*\u00020\u0003H\u0002\u001a\u0014\u0010\u0018\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0019\u001a\u00020\u0003H\u0007\u001a\u0014\u0010\u0018\u001a\u00020\u0003*\u00020\u001a2\u0006\u0010\u0015\u001a\u00020\u0003H\u0007\u001a\u0013\u0010\u001b\u001a\b\u0012\u0002\b\u0003\u0018\u00010\u001c*\u00020\u001dH\u0080\u0010\u001a(\u0010\u001e\u001a\b\u0012\u0002\b\u0003\u0018\u00010\u001c*\u0006\u0012\u0002\b\u00030\u000e2\u0006\u0010\u0015\u001a\u00020\u00032\b\u0010\u001f\u001a\u0004\u0018\u00010\u0010H\u0000\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u001a\u0010\u0002\u001a\u0004\u0018\u00010\u0001*\u00020\u00038@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0004\u0010\u0005¨\u0006 "}, d2 = {"DEBUG_THREAD_NAME_SEPARATOR", "", "coroutineName", "Lkotlin/coroutines/CoroutineContext;", "getCoroutineName", "(Lkotlin/coroutines/CoroutineContext;)Ljava/lang/String;", "foldCopies", "originalContext", "appendContext", "isNewCoroutine", "", "withContinuationContext", "T", "continuation", "Lkotlin/coroutines/Continuation;", "countOrElement", "", "block", "Lkotlin/Function0;", "(Lkotlin/coroutines/Continuation;Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "withCoroutineContext", "context", "(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "hasCopyableElements", "newCoroutineContext", "addedContext", "Lkotlinx/coroutines/CoroutineScope;", "undispatchedCompletion", "Lkotlinx/coroutines/UndispatchedCoroutine;", "Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;", "updateUndispatchedCompletion", "oldValue", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutineContextKt {
|
||||
private static final String DEBUG_THREAD_NAME_SEPARATOR = " @";
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r4v4, types: [T, java.lang.Object] */
|
||||
private static final CoroutineContext foldCopies(CoroutineContext coroutineContext, CoroutineContext coroutineContext2, final boolean z3) {
|
||||
boolean hasCopyableElements = hasCopyableElements(coroutineContext);
|
||||
boolean hasCopyableElements2 = hasCopyableElements(coroutineContext2);
|
||||
if (!hasCopyableElements && !hasCopyableElements2) {
|
||||
return coroutineContext.plus(coroutineContext2);
|
||||
}
|
||||
final Ref.ObjectRef objectRef = new Ref.ObjectRef();
|
||||
objectRef.element = coroutineContext2;
|
||||
EmptyCoroutineContext emptyCoroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
CoroutineContext coroutineContext3 = (CoroutineContext) coroutineContext.fold(emptyCoroutineContext, new Function2<CoroutineContext, CoroutineContext.Element, CoroutineContext>() { // from class: kotlinx.coroutines.CoroutineContextKt$foldCopies$folded$1
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
{
|
||||
super(2);
|
||||
}
|
||||
|
||||
/* JADX WARN: Type inference failed for: r1v3, types: [T, kotlin.coroutines.CoroutineContext] */
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final CoroutineContext invoke(CoroutineContext coroutineContext4, CoroutineContext.Element element) {
|
||||
if (!(element instanceof CopyableThreadContextElement)) {
|
||||
return coroutineContext4.plus(element);
|
||||
}
|
||||
CoroutineContext.Element element2 = objectRef.element.get(element.getKey());
|
||||
if (element2 == null) {
|
||||
return coroutineContext4.plus(z3 ? ((CopyableThreadContextElement) element).copyForChild() : (CopyableThreadContextElement) element);
|
||||
}
|
||||
Ref.ObjectRef<CoroutineContext> objectRef2 = objectRef;
|
||||
objectRef2.element = objectRef2.element.minusKey(element.getKey());
|
||||
return coroutineContext4.plus(((CopyableThreadContextElement) element).mergeForChild(element2));
|
||||
}
|
||||
});
|
||||
if (hasCopyableElements2) {
|
||||
objectRef.element = ((CoroutineContext) objectRef.element).fold(emptyCoroutineContext, new Function2<CoroutineContext, CoroutineContext.Element, CoroutineContext>() { // from class: kotlinx.coroutines.CoroutineContextKt$foldCopies$1
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final CoroutineContext invoke(CoroutineContext coroutineContext4, CoroutineContext.Element element) {
|
||||
if (element instanceof CopyableThreadContextElement) {
|
||||
return coroutineContext4.plus(((CopyableThreadContextElement) element).copyForChild());
|
||||
}
|
||||
return coroutineContext4.plus(element);
|
||||
}
|
||||
});
|
||||
}
|
||||
return coroutineContext3.plus((CoroutineContext) objectRef.element);
|
||||
}
|
||||
|
||||
public static final String getCoroutineName(CoroutineContext coroutineContext) {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static final boolean hasCopyableElements(CoroutineContext coroutineContext) {
|
||||
return ((Boolean) coroutineContext.fold(Boolean.FALSE, new Function2<Boolean, CoroutineContext.Element, Boolean>() { // from class: kotlinx.coroutines.CoroutineContextKt$hasCopyableElements$1
|
||||
public final Boolean invoke(boolean z3, CoroutineContext.Element element) {
|
||||
return Boolean.valueOf(z3 || (element instanceof CopyableThreadContextElement));
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public /* bridge */ /* synthetic */ Boolean invoke(Boolean bool, CoroutineContext.Element element) {
|
||||
return invoke(bool.booleanValue(), element);
|
||||
}
|
||||
})).booleanValue();
|
||||
}
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
public static final CoroutineContext newCoroutineContext(CoroutineScope coroutineScope, CoroutineContext coroutineContext) {
|
||||
CoroutineContext foldCopies = foldCopies(coroutineScope.getCoroutineContext(), coroutineContext, true);
|
||||
return (foldCopies == Dispatchers.getDefault() || foldCopies.get(ContinuationInterceptor.INSTANCE) != null) ? foldCopies : foldCopies.plus(Dispatchers.getDefault());
|
||||
}
|
||||
|
||||
public static final UndispatchedCoroutine<?> undispatchedCompletion(CoroutineStackFrame coroutineStackFrame) {
|
||||
while (!(coroutineStackFrame instanceof DispatchedCoroutine) && (coroutineStackFrame = coroutineStackFrame.getCallerFrame()) != null) {
|
||||
if (coroutineStackFrame instanceof UndispatchedCoroutine) {
|
||||
return (UndispatchedCoroutine) coroutineStackFrame;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final UndispatchedCoroutine<?> updateUndispatchedCompletion(Continuation<?> continuation, CoroutineContext coroutineContext, Object obj) {
|
||||
if (!(continuation instanceof CoroutineStackFrame) || coroutineContext.get(UndispatchedMarker.INSTANCE) == null) {
|
||||
return null;
|
||||
}
|
||||
UndispatchedCoroutine<?> undispatchedCompletion = undispatchedCompletion((CoroutineStackFrame) continuation);
|
||||
if (undispatchedCompletion != null) {
|
||||
undispatchedCompletion.saveThreadContext(coroutineContext, obj);
|
||||
}
|
||||
return undispatchedCompletion;
|
||||
}
|
||||
|
||||
public static final <T> T withContinuationContext(Continuation<?> continuation, Object obj, Function0<? extends T> function0) {
|
||||
CoroutineContext context = continuation.getContext();
|
||||
Object updateThreadContext = ThreadContextKt.updateThreadContext(context, obj);
|
||||
UndispatchedCoroutine<?> updateUndispatchedCompletion = updateThreadContext != ThreadContextKt.NO_THREAD_ELEMENTS ? updateUndispatchedCompletion(continuation, context, updateThreadContext) : null;
|
||||
try {
|
||||
return function0.invoke();
|
||||
} finally {
|
||||
InlineMarker.finallyStart(1);
|
||||
if (updateUndispatchedCompletion == null || updateUndispatchedCompletion.clearThreadContext()) {
|
||||
ThreadContextKt.restoreThreadContext(context, updateThreadContext);
|
||||
}
|
||||
InlineMarker.finallyEnd(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static final <T> T withCoroutineContext(CoroutineContext coroutineContext, Object obj, Function0<? extends T> function0) {
|
||||
Object updateThreadContext = ThreadContextKt.updateThreadContext(coroutineContext, obj);
|
||||
try {
|
||||
return function0.invoke();
|
||||
} finally {
|
||||
InlineMarker.finallyStart(1);
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext, updateThreadContext);
|
||||
InlineMarker.finallyEnd(1);
|
||||
}
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static final CoroutineContext newCoroutineContext(CoroutineContext coroutineContext, CoroutineContext coroutineContext2) {
|
||||
return !hasCopyableElements(coroutineContext2) ? coroutineContext.plus(coroutineContext2) : foldCopies(coroutineContext, coroutineContext2, false);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement;
|
||||
import kotlin.coroutines.AbstractCoroutineContextKey;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationInterceptor;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuation;
|
||||
import kotlinx.coroutines.internal.LimitedDispatcher;
|
||||
import kotlinx.coroutines.internal.LimitedDispatcherKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0002\b\u0002\b&\u0018\u0000 \u001a2\u00020\u00012\u00020\u0002:\u0001\u001aB\u0005¢\u0006\u0002\u0010\u0003J\u001c\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00072\n\u0010\b\u001a\u00060\tj\u0002`\nH&J\u001c\u0010\u000b\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00072\n\u0010\b\u001a\u00060\tj\u0002`\nH\u0017J \u0010\f\u001a\b\u0012\u0004\u0012\u0002H\u000e0\r\"\u0004\b\u0000\u0010\u000e2\f\u0010\u000f\u001a\b\u0012\u0004\u0012\u0002H\u000e0\rJ\u0010\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0006\u001a\u00020\u0007H\u0016J\u0010\u0010\u0012\u001a\u00020\u00002\u0006\u0010\u0013\u001a\u00020\u0014H\u0017J\u0011\u0010\u0015\u001a\u00020\u00002\u0006\u0010\u0016\u001a\u00020\u0000H\u0087\u0002J\u0012\u0010\u0017\u001a\u00020\u00052\n\u0010\u000f\u001a\u0006\u0012\u0002\b\u00030\rJ\b\u0010\u0018\u001a\u00020\u0019H\u0016¨\u0006\u001b"}, d2 = {"Lkotlinx/coroutines/CoroutineDispatcher;", "Lkotlin/coroutines/AbstractCoroutineContextElement;", "Lkotlin/coroutines/ContinuationInterceptor;", "()V", "dispatch", "", "context", "Lkotlin/coroutines/CoroutineContext;", "block", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "dispatchYield", "interceptContinuation", "Lkotlin/coroutines/Continuation;", "T", "continuation", "isDispatchNeeded", "", "limitedParallelism", "parallelism", "", "plus", "other", "releaseInterceptedContinuation", "toString", "", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class CoroutineDispatcher extends AbstractCoroutineContextElement implements ContinuationInterceptor {
|
||||
|
||||
/* renamed from: Key, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0087\u0003\u0018\u00002\u000e\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u00030\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0004¨\u0006\u0005"}, d2 = {"Lkotlinx/coroutines/CoroutineDispatcher$Key;", "Lkotlin/coroutines/AbstractCoroutineContextKey;", "Lkotlin/coroutines/ContinuationInterceptor;", "Lkotlinx/coroutines/CoroutineDispatcher;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalStdlibApi
|
||||
/* renamed from: kotlinx.coroutines.CoroutineDispatcher$Key, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion extends AbstractCoroutineContextKey<ContinuationInterceptor, CoroutineDispatcher> {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
super(ContinuationInterceptor.INSTANCE, new Function1<CoroutineContext.Element, CoroutineDispatcher>() { // from class: kotlinx.coroutines.CoroutineDispatcher.Key.1
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public final CoroutineDispatcher invoke(CoroutineContext.Element element) {
|
||||
if (element instanceof CoroutineDispatcher) {
|
||||
return (CoroutineDispatcher) element;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public CoroutineDispatcher() {
|
||||
super(ContinuationInterceptor.INSTANCE);
|
||||
}
|
||||
|
||||
/* renamed from: dispatch */
|
||||
public abstract void mo1685dispatch(CoroutineContext context, Runnable block);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public void dispatchYield(CoroutineContext context, Runnable block) {
|
||||
mo1685dispatch(context, block);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.AbstractCoroutineContextElement, kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
|
||||
public <E extends CoroutineContext.Element> E get(CoroutineContext.Key<E> key) {
|
||||
return (E) ContinuationInterceptor.DefaultImpls.get(this, key);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.ContinuationInterceptor
|
||||
public final <T> Continuation<T> interceptContinuation(Continuation<? super T> continuation) {
|
||||
return new DispatchedContinuation(this, continuation);
|
||||
}
|
||||
|
||||
public boolean isDispatchNeeded(CoroutineContext context) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
public CoroutineDispatcher limitedParallelism(int parallelism) {
|
||||
LimitedDispatcherKt.checkParallelism(parallelism);
|
||||
return new LimitedDispatcher(this, parallelism);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.AbstractCoroutineContextElement, kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
|
||||
public CoroutineContext minusKey(CoroutineContext.Key<?> key) {
|
||||
return ContinuationInterceptor.DefaultImpls.minusKey(this, key);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two CoroutineDispatcher objects is meaningless. CoroutineDispatcher is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The dispatcher to the right of `+` just replaces the dispatcher to the left.")
|
||||
public final CoroutineDispatcher plus(CoroutineDispatcher other) {
|
||||
return other;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.ContinuationInterceptor
|
||||
public final void releaseInterceptedContinuation(Continuation<?> continuation) {
|
||||
Intrinsics.checkNotNull(continuation, "null cannot be cast to non-null type kotlinx.coroutines.internal.DispatchedContinuation<*>");
|
||||
((DispatchedContinuation) continuation).release$kotlinx_coroutines_core();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return DebugStringsKt.getClassSimpleName(this) + '@' + DebugStringsKt.getHexAddress(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0002\bf\u0018\u0000 \b2\u00020\u0001:\u0001\bJ\u0018\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0007H&¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/CoroutineExceptionHandler;", "Lkotlin/coroutines/CoroutineContext$Element;", "handleException", "", "context", "Lkotlin/coroutines/CoroutineContext;", "exception", "", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CoroutineExceptionHandler extends CoroutineContext.Element {
|
||||
|
||||
/* renamed from: Key, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = Companion.$$INSTANCE;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <R> R fold(CoroutineExceptionHandler coroutineExceptionHandler, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) CoroutineContext.Element.DefaultImpls.fold(coroutineExceptionHandler, r4, function2);
|
||||
}
|
||||
|
||||
public static <E extends CoroutineContext.Element> E get(CoroutineExceptionHandler coroutineExceptionHandler, CoroutineContext.Key<E> key) {
|
||||
return (E) CoroutineContext.Element.DefaultImpls.get(coroutineExceptionHandler, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext minusKey(CoroutineExceptionHandler coroutineExceptionHandler, CoroutineContext.Key<?> key) {
|
||||
return CoroutineContext.Element.DefaultImpls.minusKey(coroutineExceptionHandler, key);
|
||||
}
|
||||
|
||||
public static CoroutineContext plus(CoroutineExceptionHandler coroutineExceptionHandler, CoroutineContext coroutineContext) {
|
||||
return CoroutineContext.Element.DefaultImpls.plus(coroutineExceptionHandler, coroutineContext);
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0003¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/CoroutineExceptionHandler$Key;", "Lkotlin/coroutines/CoroutineContext$Key;", "Lkotlinx/coroutines/CoroutineExceptionHandler;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlinx.coroutines.CoroutineExceptionHandler$Key, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion implements CoroutineContext.Key<CoroutineExceptionHandler> {
|
||||
static final /* synthetic */ Companion $$INSTANCE = new Companion();
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
void handleException(CoroutineContext context, Throwable exception);
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.CoroutineExceptionHandler;
|
||||
|
||||
@Metadata(d1 = {"\u0000!\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000*\u0001\u0000\b\n\u0018\u00002\u00020\u00012\u00020\u0002J\u0018\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0016¨\u0006\t"}, d2 = {"kotlinx/coroutines/CoroutineExceptionHandlerKt$CoroutineExceptionHandler$1", "Lkotlin/coroutines/AbstractCoroutineContextElement;", "Lkotlinx/coroutines/CoroutineExceptionHandler;", "handleException", "", "context", "Lkotlin/coroutines/CoroutineContext;", "exception", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 176)
|
||||
@SourceDebugExtension({"SMAP\nCoroutineExceptionHandler.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CoroutineExceptionHandler.kt\nkotlinx/coroutines/CoroutineExceptionHandlerKt$CoroutineExceptionHandler$1\n*L\n1#1,110:1\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutineExceptionHandlerKt$CoroutineExceptionHandler$1 extends AbstractCoroutineContextElement implements CoroutineExceptionHandler {
|
||||
final /* synthetic */ Function2<CoroutineContext, Throwable, Unit> $handler;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public CoroutineExceptionHandlerKt$CoroutineExceptionHandler$1(Function2<? super CoroutineContext, ? super Throwable, Unit> function2, CoroutineExceptionHandler.Companion companion) {
|
||||
super(companion);
|
||||
this.$handler = function2;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineExceptionHandler
|
||||
public void handleException(CoroutineContext context, Throwable exception) {
|
||||
this.$handler.invoke(context, exception);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.CoroutineExceptionHandlerImpl_commonKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0002\u0010\u0002\n\u0002\b\u0007\u001a%\u0010\u0000\u001a\u00020\u00012\u001a\b\u0004\u0010\u0002\u001a\u0014\u0012\u0004\u0012\u00020\u0004\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00060\u0003H\u0086\b\u001a\u0018\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0005H\u0007\u001a\u0018\u0010\n\u001a\u00020\u00052\u0006\u0010\u000b\u001a\u00020\u00052\u0006\u0010\f\u001a\u00020\u0005H\u0000¨\u0006\r"}, d2 = {"CoroutineExceptionHandler", "Lkotlinx/coroutines/CoroutineExceptionHandler;", "handler", "Lkotlin/Function2;", "Lkotlin/coroutines/CoroutineContext;", "", "", "handleCoroutineException", "context", "exception", "handlerException", "originalException", "thrownException", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nCoroutineExceptionHandler.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CoroutineExceptionHandler.kt\nkotlinx/coroutines/CoroutineExceptionHandlerKt\n+ 2 Exceptions.kt\nkotlinx/coroutines/ExceptionsKt\n*L\n1#1,110:1\n74#2:111\n*S KotlinDebug\n*F\n+ 1 CoroutineExceptionHandler.kt\nkotlinx/coroutines/CoroutineExceptionHandlerKt\n*L\n38#1:111\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutineExceptionHandlerKt {
|
||||
public static final CoroutineExceptionHandler CoroutineExceptionHandler(Function2<? super CoroutineContext, ? super Throwable, Unit> function2) {
|
||||
return new CoroutineExceptionHandlerKt$CoroutineExceptionHandler$1(function2, CoroutineExceptionHandler.INSTANCE);
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static final void handleCoroutineException(CoroutineContext coroutineContext, Throwable th) {
|
||||
try {
|
||||
CoroutineExceptionHandler coroutineExceptionHandler = (CoroutineExceptionHandler) coroutineContext.get(CoroutineExceptionHandler.INSTANCE);
|
||||
if (coroutineExceptionHandler != null) {
|
||||
coroutineExceptionHandler.handleException(coroutineContext, th);
|
||||
} else {
|
||||
CoroutineExceptionHandlerImpl_commonKt.handleUncaughtCoroutineException(coroutineContext, th);
|
||||
}
|
||||
} catch (Throwable th2) {
|
||||
CoroutineExceptionHandlerImpl_commonKt.handleUncaughtCoroutineException(coroutineContext, handlerException(th, th2));
|
||||
}
|
||||
}
|
||||
|
||||
public static final Throwable handlerException(Throwable th, Throwable th2) {
|
||||
if (th == th2) {
|
||||
return th;
|
||||
}
|
||||
RuntimeException runtimeException = new RuntimeException("Exception while trying to handle coroutine exception", th2);
|
||||
kotlin.ExceptionsKt.addSuppressed(runtimeException, th);
|
||||
return runtimeException;
|
||||
}
|
||||
}
|
||||
107
apk_decompiled/sources/kotlinx/coroutines/CoroutineId.java
Normal file
107
apk_decompiled/sources/kotlinx/coroutines/CoroutineId.java
Normal file
@@ -0,0 +1,107 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.adif.elcanomovil.commonNavGraph.arguments.NavArguments;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.text.StringsKt__StringsKt;
|
||||
import org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement;
|
||||
|
||||
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0081\b\u0018\u0000 \u00182\b\u0012\u0004\u0012\u00020\u00020\u00012\u00020\u0003:\u0001\u0018B\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\t\u0010\t\u001a\u00020\u0005HÆ\u0003J\u0013\u0010\n\u001a\u00020\u00002\b\b\u0002\u0010\u0004\u001a\u00020\u0005HÆ\u0001J\u0013\u0010\u000b\u001a\u00020\f2\b\u0010\r\u001a\u0004\u0018\u00010\u000eHÖ\u0003J\t\u0010\u000f\u001a\u00020\u0010HÖ\u0001J\u0018\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0015\u001a\u00020\u0002H\u0016J\b\u0010\u0016\u001a\u00020\u0002H\u0016J\u0010\u0010\u0017\u001a\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u0014H\u0016R\u0011\u0010\u0004\u001a\u00020\u0005¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\b¨\u0006\u0019"}, d2 = {"Lkotlinx/coroutines/CoroutineId;", "Lkotlinx/coroutines/ThreadContextElement;", "", "Lkotlin/coroutines/AbstractCoroutineContextElement;", NavArguments.ARG_TYPE_NOTIFICATION_JSON_MESSAGE_TRAIN, "", "(J)V", "getId", "()J", "component1", "copy", "equals", "", "other", "", "hashCode", "", "restoreThreadContext", "", "context", "Lkotlin/coroutines/CoroutineContext;", "oldState", "toString", "updateThreadContext", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@IgnoreJRERequirement
|
||||
@PublishedApi
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* data */ class CoroutineId extends AbstractCoroutineContextElement implements ThreadContextElement<String> {
|
||||
|
||||
/* renamed from: Key, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final long id;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0003¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/CoroutineId$Key;", "Lkotlin/coroutines/CoroutineContext$Key;", "Lkotlinx/coroutines/CoroutineId;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlinx.coroutines.CoroutineId$Key, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion implements CoroutineContext.Key<CoroutineId> {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public CoroutineId(long j4) {
|
||||
super(INSTANCE);
|
||||
this.id = j4;
|
||||
}
|
||||
|
||||
public static /* synthetic */ CoroutineId copy$default(CoroutineId coroutineId, long j4, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
j4 = coroutineId.id;
|
||||
}
|
||||
return coroutineId.copy(j4);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final long getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public final CoroutineId copy(long id) {
|
||||
return new CoroutineId(id);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
return (other instanceof CoroutineId) && this.id == ((CoroutineId) other).id;
|
||||
}
|
||||
|
||||
public final long getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return Long.hashCode(this.id);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CoroutineId(" + this.id + ')';
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ThreadContextElement
|
||||
public void restoreThreadContext(CoroutineContext context, String oldState) {
|
||||
Thread.currentThread().setName(oldState);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ThreadContextElement
|
||||
public String updateThreadContext(CoroutineContext context) {
|
||||
String str;
|
||||
int lastIndexOf$default;
|
||||
CoroutineName coroutineName = (CoroutineName) context.get(CoroutineName.INSTANCE);
|
||||
if (coroutineName == null || (str = coroutineName.getName()) == null) {
|
||||
str = "coroutine";
|
||||
}
|
||||
Thread currentThread = Thread.currentThread();
|
||||
String name = currentThread.getName();
|
||||
lastIndexOf$default = StringsKt__StringsKt.lastIndexOf$default((CharSequence) name, " @", 0, false, 6, (Object) null);
|
||||
if (lastIndexOf$default < 0) {
|
||||
lastIndexOf$default = name.length();
|
||||
}
|
||||
StringBuilder sb = new StringBuilder(str.length() + lastIndexOf$default + 10);
|
||||
String substring = name.substring(0, lastIndexOf$default);
|
||||
Intrinsics.checkNotNullExpressionValue(substring, "substring(...)");
|
||||
sb.append(substring);
|
||||
sb.append(" @");
|
||||
sb.append(str);
|
||||
sb.append('#');
|
||||
sb.append(this.id);
|
||||
String sb2 = sb.toString();
|
||||
Intrinsics.checkNotNullExpressionValue(sb2, "toString(...)");
|
||||
currentThread.setName(sb2);
|
||||
return name;
|
||||
}
|
||||
}
|
||||
69
apk_decompiled/sources/kotlinx/coroutines/CoroutineName.java
Normal file
69
apk_decompiled/sources/kotlinx/coroutines/CoroutineName.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\b\u0086\b\u0018\u0000 \u00102\u00020\u0001:\u0001\u0010B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\t\u0010\u0007\u001a\u00020\u0003HÆ\u0003J\u0013\u0010\b\u001a\u00020\u00002\b\b\u0002\u0010\u0002\u001a\u00020\u0003HÆ\u0001J\u0013\u0010\t\u001a\u00020\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\fHÖ\u0003J\t\u0010\r\u001a\u00020\u000eHÖ\u0001J\b\u0010\u000f\u001a\u00020\u0003H\u0016R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0011"}, d2 = {"Lkotlinx/coroutines/CoroutineName;", "Lkotlin/coroutines/AbstractCoroutineContextElement;", AppMeasurementSdk.ConditionalUserProperty.NAME, "", "(Ljava/lang/String;)V", "getName", "()Ljava/lang/String;", "component1", "copy", "equals", "", "other", "", "hashCode", "", "toString", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* data */ class CoroutineName extends AbstractCoroutineContextElement {
|
||||
|
||||
/* renamed from: Key, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final String name;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0003¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/CoroutineName$Key;", "Lkotlin/coroutines/CoroutineContext$Key;", "Lkotlinx/coroutines/CoroutineName;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlinx.coroutines.CoroutineName$Key, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion implements CoroutineContext.Key<CoroutineName> {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public CoroutineName(String str) {
|
||||
super(INSTANCE);
|
||||
this.name = str;
|
||||
}
|
||||
|
||||
public static /* synthetic */ CoroutineName copy$default(CoroutineName coroutineName, String str, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
str = coroutineName.name;
|
||||
}
|
||||
return coroutineName.copy(str);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public final CoroutineName copy(String name) {
|
||||
return new CoroutineName(name);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
return (other instanceof CoroutineName) && Intrinsics.areEqual(this.name, ((CoroutineName) other).name);
|
||||
}
|
||||
|
||||
public final String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.name.hashCode();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return com.google.android.gms.measurement.internal.a.n(new StringBuilder("CoroutineName("), this.name, ')');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\bf\u0018\u00002\u00020\u0001R\u0012\u0010\u0002\u001a\u00020\u0003X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0004\u0010\u0005¨\u0006\u0006"}, d2 = {"Lkotlinx/coroutines/CoroutineScope;", "", "coroutineContext", "Lkotlin/coroutines/CoroutineContext;", "getCoroutineContext", "()Lkotlin/coroutines/CoroutineContext;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CoroutineScope {
|
||||
CoroutineContext getCoroutineContext();
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.jvm.internal.InlineMarker;
|
||||
import kotlinx.coroutines.internal.ContextScope;
|
||||
import kotlinx.coroutines.internal.ScopeCoroutine;
|
||||
import kotlinx.coroutines.intrinsics.UndispatchedKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000F\n\u0000\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a\u000e\u0010\u0006\u001a\u00020\u00022\u0006\u0010\u0007\u001a\u00020\b\u001a\u0006\u0010\t\u001a\u00020\u0002\u001aJ\u0010\n\u001a\u0002H\u000b\"\u0004\b\u0000\u0010\u000b2'\u0010\f\u001a#\b\u0001\u0012\u0004\u0012\u00020\u0002\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u000b0\u000e\u0012\u0006\u0012\u0004\u0018\u00010\u000f0\r¢\u0006\u0002\b\u0010H\u0086@\u0082\u0002\n\n\b\b\u0001\u0012\u0002\u0010\u0001 \u0001¢\u0006\u0002\u0010\u0011\u001a\u000e\u0010\u0012\u001a\u00020\bH\u0086H¢\u0006\u0002\u0010\u0013\u001a\u001e\u0010\u0014\u001a\u00020\u0015*\u00020\u00022\u0006\u0010\u0016\u001a\u00020\u00172\n\b\u0002\u0010\u0018\u001a\u0004\u0018\u00010\u0019\u001a\u001c\u0010\u0014\u001a\u00020\u0015*\u00020\u00022\u0010\b\u0002\u0010\u0018\u001a\n\u0018\u00010\u001aj\u0004\u0018\u0001`\u001b\u001a\n\u0010\u001c\u001a\u00020\u0015*\u00020\u0002\u001a\u0015\u0010\u001d\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0007\u001a\u00020\bH\u0086\u0002\"\u001b\u0010\u0000\u001a\u00020\u0001*\u00020\u00028F¢\u0006\f\u0012\u0004\b\u0003\u0010\u0004\u001a\u0004\b\u0000\u0010\u0005¨\u0006\u001e"}, d2 = {"isActive", "", "Lkotlinx/coroutines/CoroutineScope;", "isActive$annotations", "(Lkotlinx/coroutines/CoroutineScope;)V", "(Lkotlinx/coroutines/CoroutineScope;)Z", "CoroutineScope", "context", "Lkotlin/coroutines/CoroutineContext;", "MainScope", "coroutineScope", "R", "block", "Lkotlin/Function2;", "Lkotlin/coroutines/Continuation;", "", "Lkotlin/ExtensionFunctionType;", "(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "currentCoroutineContext", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "cancel", "", "message", "", "cause", "", "Ljava/util/concurrent/CancellationException;", "Lkotlinx/coroutines/CancellationException;", "ensureActive", "plus", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutineScopeKt {
|
||||
public static final CoroutineScope CoroutineScope(CoroutineContext coroutineContext) {
|
||||
CompletableJob Job$default;
|
||||
if (coroutineContext.get(Job.INSTANCE) == null) {
|
||||
Job$default = JobKt__JobKt.Job$default((Job) null, 1, (Object) null);
|
||||
coroutineContext = coroutineContext.plus(Job$default);
|
||||
}
|
||||
return new ContextScope(coroutineContext);
|
||||
}
|
||||
|
||||
public static final CoroutineScope MainScope() {
|
||||
return new ContextScope(SupervisorKt.SupervisorJob$default((Job) null, 1, (Object) null).plus(Dispatchers.getMain()));
|
||||
}
|
||||
|
||||
public static final void cancel(CoroutineScope coroutineScope, CancellationException cancellationException) {
|
||||
Job job = (Job) coroutineScope.getCoroutineContext().get(Job.INSTANCE);
|
||||
if (job != null) {
|
||||
job.cancel(cancellationException);
|
||||
} else {
|
||||
throw new IllegalStateException(("Scope cannot be cancelled because it does not have a job: " + coroutineScope).toString());
|
||||
}
|
||||
}
|
||||
|
||||
public static /* synthetic */ void cancel$default(CoroutineScope coroutineScope, CancellationException cancellationException, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
cancellationException = null;
|
||||
}
|
||||
cancel(coroutineScope, cancellationException);
|
||||
}
|
||||
|
||||
public static final <R> Object coroutineScope(Function2<? super CoroutineScope, ? super Continuation<? super R>, ? extends Object> function2, Continuation<? super R> continuation) {
|
||||
ScopeCoroutine scopeCoroutine = new ScopeCoroutine(continuation.getContext(), continuation);
|
||||
Object startUndispatchedOrReturn = UndispatchedKt.startUndispatchedOrReturn(scopeCoroutine, scopeCoroutine, function2);
|
||||
if (startUndispatchedOrReturn == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return startUndispatchedOrReturn;
|
||||
}
|
||||
|
||||
public static final Object currentCoroutineContext(Continuation<? super CoroutineContext> continuation) {
|
||||
return continuation.getContext();
|
||||
}
|
||||
|
||||
private static final Object currentCoroutineContext$$forInline(Continuation<? super CoroutineContext> continuation) {
|
||||
InlineMarker.mark(3);
|
||||
throw null;
|
||||
}
|
||||
|
||||
public static final void ensureActive(CoroutineScope coroutineScope) {
|
||||
JobKt.ensureActive(coroutineScope.getCoroutineContext());
|
||||
}
|
||||
|
||||
public static final boolean isActive(CoroutineScope coroutineScope) {
|
||||
Job job = (Job) coroutineScope.getCoroutineContext().get(Job.INSTANCE);
|
||||
if (job != null) {
|
||||
return job.isActive();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static /* synthetic */ void isActive$annotations(CoroutineScope coroutineScope) {
|
||||
}
|
||||
|
||||
public static final CoroutineScope plus(CoroutineScope coroutineScope, CoroutineContext coroutineContext) {
|
||||
return new ContextScope(coroutineScope.getCoroutineContext().plus(coroutineContext));
|
||||
}
|
||||
|
||||
public static /* synthetic */ void cancel$default(CoroutineScope coroutineScope, String str, Throwable th, int i, Object obj) {
|
||||
if ((i & 2) != 0) {
|
||||
th = null;
|
||||
}
|
||||
cancel(coroutineScope, str, th);
|
||||
}
|
||||
|
||||
public static final void cancel(CoroutineScope coroutineScope, String str, Throwable th) {
|
||||
cancel(coroutineScope, ExceptionsKt.CancellationException(str, th));
|
||||
}
|
||||
}
|
||||
119
apk_decompiled/sources/kotlinx/coroutines/CoroutineStart.java
Normal file
119
apk_decompiled/sources/kotlinx/coroutines/CoroutineStart.java
Normal file
@@ -0,0 +1,119 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.NoWhenBranchMatchedException;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationKt;
|
||||
import kotlin.enums.EnumEntries;
|
||||
import kotlin.enums.EnumEntriesKt;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.intrinsics.CancellableKt;
|
||||
import kotlinx.coroutines.intrinsics.UndispatchedKt;
|
||||
|
||||
/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */
|
||||
/* JADX WARN: Unknown enum class pattern. Please report as an issue! */
|
||||
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\b\u0086\u0081\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J@\u0010\b\u001a\u00020\t\"\u0004\b\u0000\u0010\n2\u001c\u0010\u000b\u001a\u0018\b\u0001\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\n0\r\u0012\u0006\u0012\u0004\u0018\u00010\u000e0\f2\f\u0010\u000f\u001a\b\u0012\u0004\u0012\u0002H\n0\rH\u0087\u0002¢\u0006\u0002\u0010\u0010JY\u0010\b\u001a\u00020\t\"\u0004\b\u0000\u0010\u0011\"\u0004\b\u0001\u0010\n2'\u0010\u000b\u001a#\b\u0001\u0012\u0004\u0012\u0002H\u0011\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\n0\r\u0012\u0006\u0012\u0004\u0018\u00010\u000e0\u0012¢\u0006\u0002\b\u00132\u0006\u0010\u0014\u001a\u0002H\u00112\f\u0010\u000f\u001a\b\u0012\u0004\u0012\u0002H\n0\rH\u0087\u0002¢\u0006\u0002\u0010\u0015R\u001a\u0010\u0003\u001a\u00020\u00048FX\u0087\u0004¢\u0006\f\u0012\u0004\b\u0005\u0010\u0006\u001a\u0004\b\u0003\u0010\u0007j\u0002\b\u0016j\u0002\b\u0017j\u0002\b\u0018j\u0002\b\u0019¨\u0006\u001a"}, d2 = {"Lkotlinx/coroutines/CoroutineStart;", "", "(Ljava/lang/String;I)V", "isLazy", "", "isLazy$annotations", "()V", "()Z", "invoke", "", "T", "block", "Lkotlin/Function1;", "Lkotlin/coroutines/Continuation;", "", "completion", "(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)V", "R", "Lkotlin/Function2;", "Lkotlin/ExtensionFunctionType;", "receiver", "(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V", "DEFAULT", "LAZY", "ATOMIC", "UNDISPATCHED", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutineStart {
|
||||
private static final /* synthetic */ EnumEntries $ENTRIES;
|
||||
private static final /* synthetic */ CoroutineStart[] $VALUES;
|
||||
public static final CoroutineStart DEFAULT = new CoroutineStart("DEFAULT", 0);
|
||||
public static final CoroutineStart LAZY = new CoroutineStart("LAZY", 1);
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
public static final CoroutineStart ATOMIC = new CoroutineStart("ATOMIC", 2);
|
||||
public static final CoroutineStart UNDISPATCHED = new CoroutineStart("UNDISPATCHED", 3);
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public /* synthetic */ class WhenMappings {
|
||||
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
||||
|
||||
static {
|
||||
int[] iArr = new int[CoroutineStart.values().length];
|
||||
try {
|
||||
iArr[CoroutineStart.DEFAULT.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused) {
|
||||
}
|
||||
try {
|
||||
iArr[CoroutineStart.ATOMIC.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused2) {
|
||||
}
|
||||
try {
|
||||
iArr[CoroutineStart.UNDISPATCHED.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused3) {
|
||||
}
|
||||
try {
|
||||
iArr[CoroutineStart.LAZY.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused4) {
|
||||
}
|
||||
$EnumSwitchMapping$0 = iArr;
|
||||
}
|
||||
}
|
||||
|
||||
private static final /* synthetic */ CoroutineStart[] $values() {
|
||||
return new CoroutineStart[]{DEFAULT, LAZY, ATOMIC, UNDISPATCHED};
|
||||
}
|
||||
|
||||
static {
|
||||
CoroutineStart[] $values = $values();
|
||||
$VALUES = $values;
|
||||
$ENTRIES = EnumEntriesKt.enumEntries($values);
|
||||
}
|
||||
|
||||
private CoroutineStart(String str, int i) {
|
||||
}
|
||||
|
||||
public static EnumEntries<CoroutineStart> getEntries() {
|
||||
return $ENTRIES;
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static /* synthetic */ void isLazy$annotations() {
|
||||
}
|
||||
|
||||
public static CoroutineStart valueOf(String str) {
|
||||
return (CoroutineStart) Enum.valueOf(CoroutineStart.class, str);
|
||||
}
|
||||
|
||||
public static CoroutineStart[] values() {
|
||||
return (CoroutineStart[]) $VALUES.clone();
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public final <T> void invoke(Function1<? super Continuation<? super T>, ? extends Object> block, Continuation<? super T> completion) {
|
||||
int i = WhenMappings.$EnumSwitchMapping$0[ordinal()];
|
||||
if (i == 1) {
|
||||
CancellableKt.startCoroutineCancellable(block, completion);
|
||||
return;
|
||||
}
|
||||
if (i == 2) {
|
||||
ContinuationKt.startCoroutine(block, completion);
|
||||
} else if (i == 3) {
|
||||
UndispatchedKt.startCoroutineUndispatched(block, completion);
|
||||
} else if (i != 4) {
|
||||
throw new NoWhenBranchMatchedException();
|
||||
}
|
||||
}
|
||||
|
||||
public final boolean isLazy() {
|
||||
return this == LAZY;
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public final <R, T> void invoke(Function2<? super R, ? super Continuation<? super T>, ? extends Object> block, R receiver, Continuation<? super T> completion) {
|
||||
int i = WhenMappings.$EnumSwitchMapping$0[ordinal()];
|
||||
if (i == 1) {
|
||||
CancellableKt.startCoroutineCancellable$default(block, receiver, completion, null, 4, null);
|
||||
return;
|
||||
}
|
||||
if (i == 2) {
|
||||
ContinuationKt.startCoroutine(block, receiver, completion);
|
||||
} else if (i == 3) {
|
||||
UndispatchedKt.startCoroutineUndispatched(block, receiver, completion);
|
||||
} else if (i != 4) {
|
||||
throw new NoWhenBranchMatchedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u0002\b\u0000\u0018\u00002\u00060\u0001j\u0002`\u0002B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007¨\u0006\b"}, d2 = {"Lkotlinx/coroutines/CoroutinesInternalError;", "Ljava/lang/Error;", "Lkotlin/Error;", "message", "", "cause", "", "(Ljava/lang/String;Ljava/lang/Throwable;)V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CoroutinesInternalError extends Error {
|
||||
public CoroutinesInternalError(String str, Throwable th) {
|
||||
super(str, th);
|
||||
}
|
||||
}
|
||||
132
apk_decompiled/sources/kotlinx/coroutines/DebugKt.java
Normal file
132
apk_decompiled/sources/kotlinx/coroutines/DebugKt.java
Normal file
@@ -0,0 +1,132 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
|
||||
@Metadata(d1 = {"\u0000(\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0002\b\t\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u0017\u0010\u0014\u001a\u00020\u00152\f\u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00010\u0017H\u0081\b\u001a\b\u0010\u0018\u001a\u00020\u0015H\u0000\"\u0014\u0010\u0000\u001a\u00020\u0001X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\u0003\"\u0014\u0010\u0004\u001a\u00020\u0005X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007\"\u0014\u0010\b\u001a\u00020\u0001X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\u0003\"\u000e\u0010\n\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000\"\u000e\u0010\f\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000\"\u000e\u0010\r\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000\"\u000e\u0010\u000e\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000\"\u001c\u0010\u000f\u001a\u00020\u00018\u0000X\u0081\u0004¢\u0006\u000e\n\u0000\u0012\u0004\b\u0010\u0010\u0011\u001a\u0004\b\u0012\u0010\u0003\"\u000e\u0010\u0013\u001a\u00020\u000bX\u0080T¢\u0006\u0002\n\u0000¨\u0006\u0019"}, d2 = {"ASSERTIONS_ENABLED", "", "getASSERTIONS_ENABLED", "()Z", "COROUTINE_ID", "Ljava/util/concurrent/atomic/AtomicLong;", "getCOROUTINE_ID", "()Ljava/util/concurrent/atomic/AtomicLong;", "DEBUG", "getDEBUG", "DEBUG_PROPERTY_NAME", "", "DEBUG_PROPERTY_VALUE_AUTO", "DEBUG_PROPERTY_VALUE_OFF", "DEBUG_PROPERTY_VALUE_ON", "RECOVER_STACK_TRACES", "getRECOVER_STACK_TRACES$annotations", "()V", "getRECOVER_STACK_TRACES", "STACKTRACE_RECOVERY_PROPERTY_NAME", "assert", "", "value", "Lkotlin/Function0;", "resetCoroutineId", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DebugKt {
|
||||
private static final boolean ASSERTIONS_ENABLED = false;
|
||||
private static final AtomicLong COROUTINE_ID;
|
||||
private static final boolean DEBUG;
|
||||
public static final String DEBUG_PROPERTY_NAME = "kotlinx.coroutines.debug";
|
||||
public static final String DEBUG_PROPERTY_VALUE_AUTO = "auto";
|
||||
public static final String DEBUG_PROPERTY_VALUE_OFF = "off";
|
||||
public static final String DEBUG_PROPERTY_VALUE_ON = "on";
|
||||
private static final boolean RECOVER_STACK_TRACES;
|
||||
public static final String STACKTRACE_RECOVERY_PROPERTY_NAME = "kotlinx.coroutines.stacktrace.recovery";
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:19:0x0037, code lost:
|
||||
|
||||
if (r0.equals(kotlinx.coroutines.DebugKt.DEBUG_PROPERTY_VALUE_ON) != false) goto L23;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:20:0x0042, code lost:
|
||||
|
||||
r0 = true;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:29:0x0040, code lost:
|
||||
|
||||
if (r0.equals("") != false) goto L23;
|
||||
*/
|
||||
static {
|
||||
/*
|
||||
java.lang.String r0 = "kotlinx.coroutines.debug"
|
||||
java.lang.String r0 = kotlinx.coroutines.internal.SystemPropsKt.systemProp(r0)
|
||||
r1 = 1
|
||||
r2 = 0
|
||||
if (r0 == 0) goto L2f
|
||||
int r3 = r0.hashCode()
|
||||
if (r3 == 0) goto L3a
|
||||
r4 = 3551(0xddf, float:4.976E-42)
|
||||
if (r3 == r4) goto L31
|
||||
r4 = 109935(0x1ad6f, float:1.54052E-40)
|
||||
if (r3 == r4) goto L27
|
||||
r4 = 3005871(0x2dddaf, float:4.212122E-39)
|
||||
if (r3 != r4) goto L44
|
||||
java.lang.String r3 = "auto"
|
||||
boolean r3 = r0.equals(r3)
|
||||
if (r3 == 0) goto L44
|
||||
goto L2f
|
||||
L27:
|
||||
java.lang.String r3 = "off"
|
||||
boolean r3 = r0.equals(r3)
|
||||
if (r3 == 0) goto L44
|
||||
L2f:
|
||||
r0 = r2
|
||||
goto L61
|
||||
L31:
|
||||
java.lang.String r3 = "on"
|
||||
boolean r3 = r0.equals(r3)
|
||||
if (r3 == 0) goto L44
|
||||
goto L42
|
||||
L3a:
|
||||
java.lang.String r3 = ""
|
||||
boolean r3 = r0.equals(r3)
|
||||
if (r3 == 0) goto L44
|
||||
L42:
|
||||
r0 = r1
|
||||
goto L61
|
||||
L44:
|
||||
java.lang.IllegalStateException r1 = new java.lang.IllegalStateException
|
||||
java.lang.StringBuilder r2 = new java.lang.StringBuilder
|
||||
java.lang.String r3 = "System property 'kotlinx.coroutines.debug' has unrecognized value '"
|
||||
r2.<init>(r3)
|
||||
r2.append(r0)
|
||||
r0 = 39
|
||||
r2.append(r0)
|
||||
java.lang.String r0 = r2.toString()
|
||||
java.lang.String r0 = r0.toString()
|
||||
r1.<init>(r0)
|
||||
throw r1
|
||||
L61:
|
||||
kotlinx.coroutines.DebugKt.DEBUG = r0
|
||||
if (r0 == 0) goto L6e
|
||||
java.lang.String r0 = "kotlinx.coroutines.stacktrace.recovery"
|
||||
boolean r0 = kotlinx.coroutines.internal.SystemPropsKt.systemProp(r0, r1)
|
||||
if (r0 == 0) goto L6e
|
||||
goto L6f
|
||||
L6e:
|
||||
r1 = r2
|
||||
L6f:
|
||||
kotlinx.coroutines.DebugKt.RECOVER_STACK_TRACES = r1
|
||||
java.util.concurrent.atomic.AtomicLong r0 = new java.util.concurrent.atomic.AtomicLong
|
||||
r1 = 0
|
||||
r0.<init>(r1)
|
||||
kotlinx.coroutines.DebugKt.COROUTINE_ID = r0
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.DebugKt.<clinit>():void");
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
/* renamed from: assert, reason: not valid java name */
|
||||
private static final void m1618assert(Function0<Boolean> function0) {
|
||||
}
|
||||
|
||||
public static final boolean getASSERTIONS_ENABLED() {
|
||||
return ASSERTIONS_ENABLED;
|
||||
}
|
||||
|
||||
public static final AtomicLong getCOROUTINE_ID() {
|
||||
return COROUTINE_ID;
|
||||
}
|
||||
|
||||
public static final boolean getDEBUG() {
|
||||
return DEBUG;
|
||||
}
|
||||
|
||||
public static final boolean getRECOVER_STACK_TRACES() {
|
||||
return RECOVER_STACK_TRACES;
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
public static /* synthetic */ void getRECOVER_STACK_TRACES$annotations() {
|
||||
}
|
||||
|
||||
public static final void resetCoroutineId() {
|
||||
COROUTINE_ID.set(0L);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Result;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuation;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0000\n\u0002\u0010\u000e\n\u0002\u0010\u0000\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\u001a\u0010\u0010\u0007\u001a\u00020\u0001*\u0006\u0012\u0002\b\u00030\bH\u0000\"\u0018\u0010\u0000\u001a\u00020\u0001*\u00020\u00028@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0004\"\u0018\u0010\u0005\u001a\u00020\u0001*\u00020\u00028@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0004¨\u0006\t"}, d2 = {"classSimpleName", "", "", "getClassSimpleName", "(Ljava/lang/Object;)Ljava/lang/String;", "hexAddress", "getHexAddress", "toDebugString", "Lkotlin/coroutines/Continuation;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nDebugStrings.kt\nKotlin\n*S Kotlin\n*F\n+ 1 DebugStrings.kt\nkotlinx/coroutines/DebugStringsKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,22:1\n1#2:23\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DebugStringsKt {
|
||||
public static final String getClassSimpleName(Object obj) {
|
||||
return obj.getClass().getSimpleName();
|
||||
}
|
||||
|
||||
public static final String getHexAddress(Object obj) {
|
||||
return Integer.toHexString(System.identityHashCode(obj));
|
||||
}
|
||||
|
||||
public static final String toDebugString(Continuation<?> continuation) {
|
||||
Object m116constructorimpl;
|
||||
if (continuation instanceof DispatchedContinuation) {
|
||||
return continuation.toString();
|
||||
}
|
||||
try {
|
||||
Result.Companion companion = Result.INSTANCE;
|
||||
m116constructorimpl = Result.m116constructorimpl(continuation + '@' + getHexAddress(continuation));
|
||||
} catch (Throwable th) {
|
||||
Result.Companion companion2 = Result.INSTANCE;
|
||||
m116constructorimpl = Result.m116constructorimpl(ResultKt.createFailure(th));
|
||||
}
|
||||
if (Result.m119exceptionOrNullimpl(m116constructorimpl) != null) {
|
||||
m116constructorimpl = continuation.getClass().getName() + '@' + getHexAddress(continuation);
|
||||
}
|
||||
return (String) m116constructorimpl;
|
||||
}
|
||||
}
|
||||
261
apk_decompiled/sources/kotlinx/coroutines/DefaultExecutor.java
Normal file
261
apk_decompiled/sources/kotlinx/coroutines/DefaultExecutor.java
Normal file
@@ -0,0 +1,261 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.RejectedExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.locks.LockSupport;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.ranges.RangesKt;
|
||||
import kotlinx.coroutines.EventLoopImplBase;
|
||||
|
||||
@Metadata(d1 = {"\u0000X\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0010\t\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\b\n\u0002\u0010\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0006\bÀ\u0002\u0018\u00002\u00020\u00012\u00060\u0002j\u0002`\u0003B\u0007\b\u0002¢\u0006\u0002\u0010\u0004J\b\u0010\u001d\u001a\u00020\u001eH\u0002J\b\u0010\u001f\u001a\u00020\u0011H\u0002J\u0014\u0010 \u001a\u00020\u001e2\n\u0010!\u001a\u00060\u0002j\u0002`\u0003H\u0016J\r\u0010\"\u001a\u00020\u001eH\u0000¢\u0006\u0002\b#J$\u0010$\u001a\u00020%2\u0006\u0010&\u001a\u00020\b2\n\u0010'\u001a\u00060\u0002j\u0002`\u00032\u0006\u0010(\u001a\u00020)H\u0016J\b\u0010*\u001a\u00020\u0015H\u0002J\u0018\u0010+\u001a\u00020\u001e2\u0006\u0010,\u001a\u00020\b2\u0006\u0010-\u001a\u00020.H\u0014J\b\u0010/\u001a\u00020\u001eH\u0016J\b\u00100\u001a\u00020\u001eH\u0016J\b\u00101\u001a\u00020\u001eH\u0002J\u000e\u00102\u001a\u00020\u001e2\u0006\u00103\u001a\u00020\bR\u000e\u0010\u0005\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\bX\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0086T¢\u0006\u0002\n\u0000R\u0016\u0010\u0010\u001a\u0004\u0018\u00010\u0011X\u0082\u000e¢\u0006\b\n\u0000\u0012\u0004\b\u0012\u0010\u0004R\u000e\u0010\u0013\u001a\u00020\u0006X\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\u0014\u001a\u00020\u00158BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0016R\u0014\u0010\u0017\u001a\u00020\u00158BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u0017\u0010\u0016R\u0014\u0010\u0018\u001a\u00020\u00158@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0019\u0010\u0016R\u0014\u0010\u001a\u001a\u00020\u00118TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\u001b\u0010\u001c¨\u00064"}, d2 = {"Lkotlinx/coroutines/DefaultExecutor;", "Lkotlinx/coroutines/EventLoopImplBase;", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "()V", "ACTIVE", "", "DEFAULT_KEEP_ALIVE_MS", "", "FRESH", "KEEP_ALIVE_NANOS", "SHUTDOWN", "SHUTDOWN_ACK", "SHUTDOWN_REQ", "THREAD_NAME", "", "_thread", "Ljava/lang/Thread;", "get_thread$annotations", "debugStatus", "isShutDown", "", "()Z", "isShutdownRequested", "isThreadPresent", "isThreadPresent$kotlinx_coroutines_core", "thread", "getThread", "()Ljava/lang/Thread;", "acknowledgeShutdownIfNeeded", "", "createThreadSync", "enqueue", "task", "ensureStarted", "ensureStarted$kotlinx_coroutines_core", "invokeOnTimeout", "Lkotlinx/coroutines/DisposableHandle;", "timeMillis", "block", "context", "Lkotlin/coroutines/CoroutineContext;", "notifyStartup", "reschedule", "now", "delayedTask", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "run", "shutdown", "shutdownError", "shutdownForTests", "timeout", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nDefaultExecutor.kt\nKotlin\n*S Kotlin\n*F\n+ 1 DefaultExecutor.kt\nkotlinx/coroutines/DefaultExecutor\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,194:1\n1#2:195\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DefaultExecutor extends EventLoopImplBase implements Runnable {
|
||||
private static final int ACTIVE = 1;
|
||||
private static final long DEFAULT_KEEP_ALIVE_MS = 1000;
|
||||
private static final int FRESH = 0;
|
||||
public static final DefaultExecutor INSTANCE;
|
||||
private static final long KEEP_ALIVE_NANOS;
|
||||
private static final int SHUTDOWN = 4;
|
||||
private static final int SHUTDOWN_ACK = 3;
|
||||
private static final int SHUTDOWN_REQ = 2;
|
||||
public static final String THREAD_NAME = "kotlinx.coroutines.DefaultExecutor";
|
||||
private static volatile Thread _thread;
|
||||
private static volatile int debugStatus;
|
||||
|
||||
static {
|
||||
Long l4;
|
||||
DefaultExecutor defaultExecutor = new DefaultExecutor();
|
||||
INSTANCE = defaultExecutor;
|
||||
EventLoop.incrementUseCount$default(defaultExecutor, false, 1, null);
|
||||
TimeUnit timeUnit = TimeUnit.MILLISECONDS;
|
||||
try {
|
||||
l4 = Long.getLong("kotlinx.coroutines.DefaultExecutor.keepAlive", 1000L);
|
||||
} catch (SecurityException unused) {
|
||||
l4 = 1000L;
|
||||
}
|
||||
KEEP_ALIVE_NANOS = timeUnit.toNanos(l4.longValue());
|
||||
}
|
||||
|
||||
private DefaultExecutor() {
|
||||
}
|
||||
|
||||
private final synchronized void acknowledgeShutdownIfNeeded() {
|
||||
if (isShutdownRequested()) {
|
||||
debugStatus = 3;
|
||||
resetAll();
|
||||
Intrinsics.checkNotNull(this, "null cannot be cast to non-null type java.lang.Object");
|
||||
notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
private final synchronized Thread createThreadSync() {
|
||||
Thread thread;
|
||||
thread = _thread;
|
||||
if (thread == null) {
|
||||
thread = new Thread(this, THREAD_NAME);
|
||||
_thread = thread;
|
||||
thread.setContextClassLoader(DefaultExecutor.class.getClassLoader());
|
||||
thread.setDaemon(true);
|
||||
thread.start();
|
||||
}
|
||||
return thread;
|
||||
}
|
||||
|
||||
private static /* synthetic */ void get_thread$annotations() {
|
||||
}
|
||||
|
||||
private final boolean isShutDown() {
|
||||
return debugStatus == 4;
|
||||
}
|
||||
|
||||
private final boolean isShutdownRequested() {
|
||||
int i = debugStatus;
|
||||
return i == 2 || i == 3;
|
||||
}
|
||||
|
||||
private final synchronized boolean notifyStartup() {
|
||||
if (isShutdownRequested()) {
|
||||
return false;
|
||||
}
|
||||
debugStatus = 1;
|
||||
Intrinsics.checkNotNull(this, "null cannot be cast to non-null type java.lang.Object");
|
||||
notifyAll();
|
||||
return true;
|
||||
}
|
||||
|
||||
private final void shutdownError() {
|
||||
throw new RejectedExecutionException("DefaultExecutor was shut down. This error indicates that Dispatchers.shutdown() was invoked prior to completion of exiting coroutines, leaving coroutines in incomplete state. Please refer to Dispatchers.shutdown documentation for more details");
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplBase
|
||||
public void enqueue(Runnable task) {
|
||||
if (isShutDown()) {
|
||||
shutdownError();
|
||||
}
|
||||
super.enqueue(task);
|
||||
}
|
||||
|
||||
public final synchronized void ensureStarted$kotlinx_coroutines_core() {
|
||||
debugStatus = 0;
|
||||
createThreadSync();
|
||||
while (debugStatus == 0) {
|
||||
Intrinsics.checkNotNull(this, "null cannot be cast to non-null type java.lang.Object");
|
||||
wait();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplPlatform
|
||||
public Thread getThread() {
|
||||
Thread thread = _thread;
|
||||
return thread == null ? createThreadSync() : thread;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplBase, kotlinx.coroutines.Delay
|
||||
public DisposableHandle invokeOnTimeout(long timeMillis, Runnable block, CoroutineContext context) {
|
||||
return scheduleInvokeOnTimeout(timeMillis, block);
|
||||
}
|
||||
|
||||
public final boolean isThreadPresent$kotlinx_coroutines_core() {
|
||||
return _thread != null;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplPlatform
|
||||
public void reschedule(long now, EventLoopImplBase.DelayedTask delayedTask) {
|
||||
shutdownError();
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
Unit unit;
|
||||
ThreadLocalEventLoop.INSTANCE.setEventLoop$kotlinx_coroutines_core(this);
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
timeSource.registerTimeLoopThread();
|
||||
}
|
||||
try {
|
||||
if (!notifyStartup()) {
|
||||
_thread = null;
|
||||
acknowledgeShutdownIfNeeded();
|
||||
AbstractTimeSource timeSource2 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.unregisterTimeLoopThread();
|
||||
}
|
||||
if (isEmpty()) {
|
||||
return;
|
||||
}
|
||||
getThread();
|
||||
return;
|
||||
}
|
||||
long j4 = Long.MAX_VALUE;
|
||||
while (true) {
|
||||
Thread.interrupted();
|
||||
long processNextEvent = processNextEvent();
|
||||
if (processNextEvent == LongCompanionObject.MAX_VALUE) {
|
||||
AbstractTimeSource timeSource3 = AbstractTimeSourceKt.getTimeSource();
|
||||
long nanoTime = timeSource3 != null ? timeSource3.nanoTime() : System.nanoTime();
|
||||
if (j4 == LongCompanionObject.MAX_VALUE) {
|
||||
j4 = KEEP_ALIVE_NANOS + nanoTime;
|
||||
}
|
||||
long j5 = j4 - nanoTime;
|
||||
if (j5 <= 0) {
|
||||
_thread = null;
|
||||
acknowledgeShutdownIfNeeded();
|
||||
AbstractTimeSource timeSource4 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource4 != null) {
|
||||
timeSource4.unregisterTimeLoopThread();
|
||||
}
|
||||
if (isEmpty()) {
|
||||
return;
|
||||
}
|
||||
getThread();
|
||||
return;
|
||||
}
|
||||
processNextEvent = RangesKt.coerceAtMost(processNextEvent, j5);
|
||||
} else {
|
||||
j4 = Long.MAX_VALUE;
|
||||
}
|
||||
if (processNextEvent > 0) {
|
||||
if (isShutdownRequested()) {
|
||||
_thread = null;
|
||||
acknowledgeShutdownIfNeeded();
|
||||
AbstractTimeSource timeSource5 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource5 != null) {
|
||||
timeSource5.unregisterTimeLoopThread();
|
||||
}
|
||||
if (isEmpty()) {
|
||||
return;
|
||||
}
|
||||
getThread();
|
||||
return;
|
||||
}
|
||||
AbstractTimeSource timeSource6 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource6 != null) {
|
||||
timeSource6.parkNanos(this, processNextEvent);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.parkNanos(this, processNextEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
_thread = null;
|
||||
acknowledgeShutdownIfNeeded();
|
||||
AbstractTimeSource timeSource7 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource7 != null) {
|
||||
timeSource7.unregisterTimeLoopThread();
|
||||
}
|
||||
if (!isEmpty()) {
|
||||
getThread();
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplBase, kotlinx.coroutines.EventLoop
|
||||
public void shutdown() {
|
||||
debugStatus = 4;
|
||||
super.shutdown();
|
||||
}
|
||||
|
||||
public final synchronized void shutdownForTests(long timeout) {
|
||||
Unit unit;
|
||||
try {
|
||||
long currentTimeMillis = System.currentTimeMillis() + timeout;
|
||||
if (!isShutdownRequested()) {
|
||||
debugStatus = 2;
|
||||
}
|
||||
while (debugStatus != 3 && _thread != null) {
|
||||
Thread thread = _thread;
|
||||
if (thread != null) {
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
timeSource.unpark(thread);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.unpark(thread);
|
||||
}
|
||||
}
|
||||
if (currentTimeMillis - System.currentTimeMillis() <= 0) {
|
||||
break;
|
||||
}
|
||||
Intrinsics.checkNotNull(this, "null cannot be cast to non-null type java.lang.Object");
|
||||
wait(timeout);
|
||||
}
|
||||
debugStatus = 0;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlinx.coroutines.internal.MainDispatchersKt;
|
||||
import kotlinx.coroutines.internal.SystemPropsKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0002\u001a\b\u0010\b\u001a\u00020\u0001H\u0002\"\u001c\u0010\u0000\u001a\u00020\u00018\u0000X\u0081\u0004¢\u0006\u000e\n\u0000\u0012\u0004\b\u0002\u0010\u0003\u001a\u0004\b\u0004\u0010\u0005\"\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"DefaultDelay", "Lkotlinx/coroutines/Delay;", "getDefaultDelay$annotations", "()V", "getDefaultDelay", "()Lkotlinx/coroutines/Delay;", "defaultMainDelayOptIn", "", "initializeDefaultDelay", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DefaultExecutorKt {
|
||||
private static final boolean defaultMainDelayOptIn = SystemPropsKt.systemProp("kotlinx.coroutines.main.delay", false);
|
||||
private static final Delay DefaultDelay = initializeDefaultDelay();
|
||||
|
||||
public static final Delay getDefaultDelay() {
|
||||
return DefaultDelay;
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
public static /* synthetic */ void getDefaultDelay$annotations() {
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
private static final Delay initializeDefaultDelay() {
|
||||
if (!defaultMainDelayOptIn) {
|
||||
return DefaultExecutor.INSTANCE;
|
||||
}
|
||||
MainCoroutineDispatcher main = Dispatchers.getMain();
|
||||
return (MainDispatchersKt.isMissing(main) || !(main instanceof Delay)) ? DefaultExecutor.INSTANCE : (Delay) main;
|
||||
}
|
||||
}
|
||||
50
apk_decompiled/sources/kotlinx/coroutines/Deferred.java
Normal file
50
apk_decompiled/sources/kotlinx/coroutines/Deferred.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.Job;
|
||||
import kotlinx.coroutines.selects.SelectClause1;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0010\u0003\n\u0000\bf\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00012\u00020\u0002J\u000e\u0010\u0007\u001a\u00028\u0000H¦@¢\u0006\u0002\u0010\bJ\r\u0010\t\u001a\u00028\u0000H'¢\u0006\u0002\u0010\nJ\n\u0010\u000b\u001a\u0004\u0018\u00010\fH'R\u0018\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\r"}, d2 = {"Lkotlinx/coroutines/Deferred;", "T", "Lkotlinx/coroutines/Job;", "onAwait", "Lkotlinx/coroutines/selects/SelectClause1;", "getOnAwait", "()Lkotlinx/coroutines/selects/SelectClause1;", "await", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "getCompleted", "()Ljava/lang/Object;", "getCompletionExceptionOrNull", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Deferred<T> extends Job {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static <T, R> R fold(Deferred<? extends T> deferred, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) Job.DefaultImpls.fold(deferred, r4, function2);
|
||||
}
|
||||
|
||||
public static <T, E extends CoroutineContext.Element> E get(Deferred<? extends T> deferred, CoroutineContext.Key<E> key) {
|
||||
return (E) Job.DefaultImpls.get(deferred, key);
|
||||
}
|
||||
|
||||
public static <T> CoroutineContext minusKey(Deferred<? extends T> deferred, CoroutineContext.Key<?> key) {
|
||||
return Job.DefaultImpls.minusKey(deferred, key);
|
||||
}
|
||||
|
||||
public static <T> CoroutineContext plus(Deferred<? extends T> deferred, CoroutineContext coroutineContext) {
|
||||
return Job.DefaultImpls.plus(deferred, coroutineContext);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
public static <T> Job plus(Deferred<? extends T> deferred, Job job) {
|
||||
return Job.DefaultImpls.plus((Job) deferred, job);
|
||||
}
|
||||
}
|
||||
|
||||
Object await(Continuation<? super T> continuation);
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
T getCompleted();
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
Throwable getCompletionExceptionOrNull();
|
||||
|
||||
SelectClause1<T> getOnAwait();
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlinx.coroutines.selects.SelectClause1;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\b\u0012\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003B\u0015\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bJ\u000e\u0010\r\u001a\u00028\u0000H\u0096@¢\u0006\u0002\u0010\u000eJ\r\u0010\u000f\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0010R\u001a\u0010\t\u001a\b\u0012\u0004\u0012\u00028\u00000\n8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\f¨\u0006\u0011"}, d2 = {"Lkotlinx/coroutines/DeferredCoroutine;", "T", "Lkotlinx/coroutines/AbstractCoroutine;", "Lkotlinx/coroutines/Deferred;", "parentContext", "Lkotlin/coroutines/CoroutineContext;", AppMeasurementSdk.ConditionalUserProperty.ACTIVE, "", "(Lkotlin/coroutines/CoroutineContext;Z)V", "onAwait", "Lkotlinx/coroutines/selects/SelectClause1;", "getOnAwait", "()Lkotlinx/coroutines/selects/SelectClause1;", "await", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "getCompleted", "()Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public class DeferredCoroutine<T> extends AbstractCoroutine<T> implements Deferred<T> {
|
||||
public DeferredCoroutine(CoroutineContext coroutineContext, boolean z3) {
|
||||
super(coroutineContext, true, z3);
|
||||
}
|
||||
|
||||
public static /* synthetic */ <T> Object await$suspendImpl(DeferredCoroutine<T> deferredCoroutine, Continuation<? super T> continuation) {
|
||||
Object awaitInternal = deferredCoroutine.awaitInternal(continuation);
|
||||
IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
return awaitInternal;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public Object await(Continuation<? super T> continuation) {
|
||||
return await$suspendImpl(this, continuation);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public T getCompleted() {
|
||||
return (T) getCompletedInternal$kotlinx_coroutines_core();
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Deferred
|
||||
public SelectClause1<T> getOnAwait() {
|
||||
SelectClause1<T> selectClause1 = (SelectClause1<T>) getOnAwaitInternal();
|
||||
Intrinsics.checkNotNull(selectClause1, "null cannot be cast to non-null type kotlinx.coroutines.selects.SelectClause1<T of kotlinx.coroutines.DeferredCoroutine>");
|
||||
return selectClause1;
|
||||
}
|
||||
}
|
||||
49
apk_decompiled/sources/kotlinx/coroutines/Delay.java
Normal file
49
apk_decompiled/sources/kotlinx/coroutines/Delay.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001J\u0016\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H\u0097@¢\u0006\u0002\u0010\u0006J$\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\u00052\n\u0010\n\u001a\u00060\u000bj\u0002`\f2\u0006\u0010\r\u001a\u00020\u000eH\u0016J\u001e\u0010\u000f\u001a\u00020\u00032\u0006\u0010\t\u001a\u00020\u00052\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00030\u0011H&¨\u0006\u0012"}, d2 = {"Lkotlinx/coroutines/Delay;", "", "delay", "", "time", "", "(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;", "invokeOnTimeout", "Lkotlinx/coroutines/DisposableHandle;", "timeMillis", "block", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "context", "Lkotlin/coroutines/CoroutineContext;", "scheduleResumeAfterDelay", "continuation", "Lkotlinx/coroutines/CancellableContinuation;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Delay {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nDelay.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Delay.kt\nkotlinx/coroutines/Delay$DefaultImpls\n+ 2 CancellableContinuation.kt\nkotlinx/coroutines/CancellableContinuationKt\n*L\n1#1,165:1\n314#2,11:166\n*S KotlinDebug\n*F\n+ 1 Delay.kt\nkotlinx/coroutines/Delay$DefaultImpls\n*L\n31#1:166,11\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Deprecated without replacement as an internal method never intended for public use")
|
||||
public static Object delay(Delay delay, long j4, Continuation<? super Unit> continuation) {
|
||||
if (j4 <= 0) {
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
delay.mo1686scheduleResumeAfterDelay(j4, cancellableContinuationImpl);
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? result : Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public static DisposableHandle invokeOnTimeout(Delay delay, long j4, Runnable runnable, CoroutineContext coroutineContext) {
|
||||
return DefaultExecutorKt.getDefaultDelay().invokeOnTimeout(j4, runnable, coroutineContext);
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Deprecated without replacement as an internal method never intended for public use")
|
||||
Object delay(long j4, Continuation<? super Unit> continuation);
|
||||
|
||||
DisposableHandle invokeOnTimeout(long timeMillis, Runnable block, CoroutineContext context);
|
||||
|
||||
/* renamed from: scheduleResumeAfterDelay */
|
||||
void mo1686scheduleResumeAfterDelay(long timeMillis, CancellableContinuation<? super Unit> continuation);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@DebugMetadata(c = "kotlinx.coroutines.DelayKt", f = "Delay.kt", i = {}, l = {166}, m = "awaitCancellation", n = {}, s = {})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DelayKt$awaitCancellation$1 extends ContinuationImpl {
|
||||
int label;
|
||||
/* synthetic */ Object result;
|
||||
|
||||
public DelayKt$awaitCancellation$1(Continuation<? super DelayKt$awaitCancellation$1> continuation) {
|
||||
super(continuation);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.result = obj;
|
||||
this.label |= IntCompanionObject.MIN_VALUE;
|
||||
return DelayKt.awaitCancellation(this);
|
||||
}
|
||||
}
|
||||
118
apk_decompiled/sources/kotlinx/coroutines/DelayKt.java
Normal file
118
apk_decompiled/sources/kotlinx/coroutines/DelayKt.java
Normal file
@@ -0,0 +1,118 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.NoWhenBranchMatchedException;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.ContinuationInterceptor;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugProbesKt;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.time.Duration;
|
||||
import kotlin.time.DurationKt;
|
||||
import kotlin.time.DurationUnit;
|
||||
|
||||
@Metadata(d1 = {"\u0000*\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0001\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\u001a\u000e\u0010\u0005\u001a\u00020\u0006H\u0086@¢\u0006\u0002\u0010\u0007\u001a\u0016\u0010\u0000\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\nH\u0086@¢\u0006\u0002\u0010\u000b\u001a\u001b\u0010\u0000\u001a\u00020\b2\u0006\u0010\f\u001a\u00020\rH\u0086@ø\u0001\u0000¢\u0006\u0004\b\u000e\u0010\u000b\u001a\u0016\u0010\u000f\u001a\u00020\n*\u00020\rH\u0000ø\u0001\u0000¢\u0006\u0004\b\u0010\u0010\u0011\"\u0018\u0010\u0000\u001a\u00020\u0001*\u00020\u00028@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0004\u0082\u0002\u0007\n\u0005\b¡\u001e0\u0001¨\u0006\u0012"}, d2 = {"delay", "Lkotlinx/coroutines/Delay;", "Lkotlin/coroutines/CoroutineContext;", "getDelay", "(Lkotlin/coroutines/CoroutineContext;)Lkotlinx/coroutines/Delay;", "awaitCancellation", "", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "", "timeMillis", "", "(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;", "duration", "Lkotlin/time/Duration;", "delay-VtjQ1oo", "toDelayMillis", "toDelayMillis-LRDsOJo", "(J)J", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nDelay.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Delay.kt\nkotlinx/coroutines/DelayKt\n+ 2 CancellableContinuation.kt\nkotlinx/coroutines/CancellableContinuationKt\n*L\n1#1,165:1\n314#2,11:166\n314#2,11:177\n*S KotlinDebug\n*F\n+ 1 Delay.kt\nkotlinx/coroutines/DelayKt\n*L\n107#1:166,11\n128#1:177,11\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DelayKt {
|
||||
/* JADX WARN: Removed duplicated region for block: B:15:0x0031 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:8:0x0023 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static final java.lang.Object awaitCancellation(kotlin.coroutines.Continuation<?> r4) {
|
||||
/*
|
||||
boolean r0 = r4 instanceof kotlinx.coroutines.DelayKt$awaitCancellation$1
|
||||
if (r0 == 0) goto L13
|
||||
r0 = r4
|
||||
kotlinx.coroutines.DelayKt$awaitCancellation$1 r0 = (kotlinx.coroutines.DelayKt$awaitCancellation$1) r0
|
||||
int r1 = r0.label
|
||||
r2 = -2147483648(0xffffffff80000000, float:-0.0)
|
||||
r3 = r1 & r2
|
||||
if (r3 == 0) goto L13
|
||||
int r1 = r1 - r2
|
||||
r0.label = r1
|
||||
goto L18
|
||||
L13:
|
||||
kotlinx.coroutines.DelayKt$awaitCancellation$1 r0 = new kotlinx.coroutines.DelayKt$awaitCancellation$1
|
||||
r0.<init>(r4)
|
||||
L18:
|
||||
java.lang.Object r4 = r0.result
|
||||
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
int r2 = r0.label
|
||||
r3 = 1
|
||||
if (r2 == 0) goto L31
|
||||
if (r2 == r3) goto L2d
|
||||
java.lang.IllegalStateException r4 = new java.lang.IllegalStateException
|
||||
java.lang.String r0 = "call to 'resume' before 'invoke' with coroutine"
|
||||
r4.<init>(r0)
|
||||
throw r4
|
||||
L2d:
|
||||
kotlin.ResultKt.throwOnFailure(r4)
|
||||
goto L52
|
||||
L31:
|
||||
kotlin.ResultKt.throwOnFailure(r4)
|
||||
r0.label = r3
|
||||
kotlinx.coroutines.CancellableContinuationImpl r4 = new kotlinx.coroutines.CancellableContinuationImpl
|
||||
kotlin.coroutines.Continuation r2 = kotlin.coroutines.intrinsics.IntrinsicsKt.intercepted(r0)
|
||||
r4.<init>(r2, r3)
|
||||
r4.initCancellability()
|
||||
java.lang.Object r4 = r4.getResult()
|
||||
java.lang.Object r2 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
if (r4 != r2) goto L4f
|
||||
kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineSuspended(r0)
|
||||
L4f:
|
||||
if (r4 != r1) goto L52
|
||||
return r1
|
||||
L52:
|
||||
kotlin.KotlinNothingValueException r4 = new kotlin.KotlinNothingValueException
|
||||
r4.<init>()
|
||||
throw r4
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.DelayKt.awaitCancellation(kotlin.coroutines.Continuation):java.lang.Object");
|
||||
}
|
||||
|
||||
public static final Object delay(long j4, Continuation<? super Unit> continuation) {
|
||||
if (j4 <= 0) {
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
CancellableContinuationImpl cancellableContinuationImpl = new CancellableContinuationImpl(IntrinsicsKt.intercepted(continuation), 1);
|
||||
cancellableContinuationImpl.initCancellability();
|
||||
if (j4 < LongCompanionObject.MAX_VALUE) {
|
||||
getDelay(cancellableContinuationImpl.getContext()).mo1686scheduleResumeAfterDelay(j4, cancellableContinuationImpl);
|
||||
}
|
||||
Object result = cancellableContinuationImpl.getResult();
|
||||
if (result == IntrinsicsKt.getCOROUTINE_SUSPENDED()) {
|
||||
DebugProbesKt.probeCoroutineSuspended(continuation);
|
||||
}
|
||||
return result == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? result : Unit.INSTANCE;
|
||||
}
|
||||
|
||||
/* renamed from: delay-VtjQ1oo, reason: not valid java name */
|
||||
public static final Object m1619delayVtjQ1oo(long j4, Continuation<? super Unit> continuation) {
|
||||
Object delay = delay(m1620toDelayMillisLRDsOJo(j4), continuation);
|
||||
return delay == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? delay : Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public static final Delay getDelay(CoroutineContext coroutineContext) {
|
||||
CoroutineContext.Element element = coroutineContext.get(ContinuationInterceptor.INSTANCE);
|
||||
Delay delay = element instanceof Delay ? (Delay) element : null;
|
||||
return delay == null ? DefaultExecutorKt.getDefaultDelay() : delay;
|
||||
}
|
||||
|
||||
/* renamed from: toDelayMillis-LRDsOJo, reason: not valid java name */
|
||||
public static final long m1620toDelayMillisLRDsOJo(long j4) {
|
||||
boolean m1489isPositiveimpl = Duration.m1489isPositiveimpl(j4);
|
||||
if (m1489isPositiveimpl) {
|
||||
return Duration.m1473getInWholeMillisecondsimpl(Duration.m1491plusLRDsOJo(j4, DurationKt.toDuration(999999L, DurationUnit.NANOSECONDS)));
|
||||
}
|
||||
if (m1489isPositiveimpl) {
|
||||
throw new NoWhenBranchMatchedException();
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlinx.coroutines.Delay;
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\ba\u0018\u00002\u00020\u0001J\u001a\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H&ø\u0001\u0000¢\u0006\u0004\b\u0006\u0010\u0007\u0082\u0002\u0007\n\u0005\b¡\u001e0\u0001¨\u0006\b"}, d2 = {"Lkotlinx/coroutines/DelayWithTimeoutDiagnostics;", "Lkotlinx/coroutines/Delay;", "timeoutMessage", "", "timeout", "Lkotlin/time/Duration;", "timeoutMessage-LRDsOJo", "(J)Ljava/lang/String;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface DelayWithTimeoutDiagnostics extends Delay {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Deprecated without replacement as an internal method never intended for public use")
|
||||
public static Object delay(DelayWithTimeoutDiagnostics delayWithTimeoutDiagnostics, long j4, Continuation<? super Unit> continuation) {
|
||||
Object delay = Delay.DefaultImpls.delay(delayWithTimeoutDiagnostics, j4, continuation);
|
||||
return delay == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? delay : Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public static DisposableHandle invokeOnTimeout(DelayWithTimeoutDiagnostics delayWithTimeoutDiagnostics, long j4, Runnable runnable, CoroutineContext coroutineContext) {
|
||||
return Delay.DefaultImpls.invokeOnTimeout(delayWithTimeoutDiagnostics, j4, runnable, coroutineContext);
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: timeoutMessage-LRDsOJo, reason: not valid java name */
|
||||
String mo1621timeoutMessageLRDsOJo(long timeout);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.RequiresOptIn;
|
||||
import kotlin.annotation.AnnotationRetention;
|
||||
import kotlin.annotation.MustBeDocumented;
|
||||
|
||||
@MustBeDocumented
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlinx/coroutines/DelicateCoroutinesApi;", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.")
|
||||
@Documented
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.BINARY)
|
||||
/* loaded from: classes3.dex */
|
||||
public @interface DelicateCoroutinesApi {
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuationKt;
|
||||
import kotlinx.coroutines.internal.ScopeCoroutine;
|
||||
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0002\b\u0001\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00002\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u001d\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00000\u0006¢\u0006\u0002\u0010\u0007J\u0012\u0010\n\u001a\u00020\u000b2\b\u0010\f\u001a\u0004\u0018\u00010\rH\u0014J\u0012\u0010\u000e\u001a\u00020\u000b2\b\u0010\f\u001a\u0004\u0018\u00010\rH\u0014J\u000f\u0010\u000f\u001a\u0004\u0018\u00010\rH\u0000¢\u0006\u0002\b\u0010J\b\u0010\u0011\u001a\u00020\u0012H\u0002J\b\u0010\u0013\u001a\u00020\u0012H\u0002R\u000b\u0010\b\u001a\u00020\t8\u0006X\u0087\u0004¨\u0006\u0014"}, d2 = {"Lkotlinx/coroutines/DispatchedCoroutine;", "T", "Lkotlinx/coroutines/internal/ScopeCoroutine;", "context", "Lkotlin/coroutines/CoroutineContext;", "uCont", "Lkotlin/coroutines/Continuation;", "(Lkotlin/coroutines/CoroutineContext;Lkotlin/coroutines/Continuation;)V", "_decision", "Lkotlinx/atomicfu/AtomicInt;", "afterCompletion", "", RemoteConfigConstants.ResponseFieldKey.STATE, "", "afterResume", "getResult", "getResult$kotlinx_coroutines_core", "tryResume", "", "trySuspend", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@PublishedApi
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DispatchedCoroutine<T> extends ScopeCoroutine<T> {
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater _decision$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(DispatchedCoroutine.class, "_decision$volatile");
|
||||
|
||||
@JvmField
|
||||
private volatile /* synthetic */ int _decision$volatile;
|
||||
|
||||
public DispatchedCoroutine(CoroutineContext coroutineContext, Continuation<? super T> continuation) {
|
||||
super(coroutineContext, continuation);
|
||||
}
|
||||
|
||||
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 boolean tryResume() {
|
||||
AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _decision$volatile$FU;
|
||||
do {
|
||||
int i = atomicIntegerFieldUpdater.get(this);
|
||||
if (i != 0) {
|
||||
if (i == 1) {
|
||||
return false;
|
||||
}
|
||||
throw new IllegalStateException("Already resumed");
|
||||
}
|
||||
} while (!_decision$volatile$FU.compareAndSet(this, 0, 2));
|
||||
return true;
|
||||
}
|
||||
|
||||
private final boolean trySuspend() {
|
||||
AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _decision$volatile$FU;
|
||||
do {
|
||||
int i = atomicIntegerFieldUpdater.get(this);
|
||||
if (i != 0) {
|
||||
if (i == 2) {
|
||||
return false;
|
||||
}
|
||||
throw new IllegalStateException("Already suspended");
|
||||
}
|
||||
} while (!_decision$volatile$FU.compareAndSet(this, 0, 1));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ScopeCoroutine, kotlinx.coroutines.JobSupport
|
||||
public void afterCompletion(Object state) {
|
||||
afterResume(state);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ScopeCoroutine, kotlinx.coroutines.AbstractCoroutine
|
||||
public void afterResume(Object state) {
|
||||
if (tryResume()) {
|
||||
return;
|
||||
}
|
||||
DispatchedContinuationKt.resumeCancellableWith$default(IntrinsicsKt.intercepted(this.uCont), CompletionStateKt.recoverResult(state, this.uCont), null, 2, null);
|
||||
}
|
||||
|
||||
public final Object getResult$kotlinx_coroutines_core() {
|
||||
if (trySuspend()) {
|
||||
return IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
}
|
||||
Object unboxState = JobSupportKt.unboxState(getState$kotlinx_coroutines_core());
|
||||
if (unboxState instanceof CompletedExceptionally) {
|
||||
throw ((CompletedExceptionally) unboxState).cause;
|
||||
}
|
||||
return unboxState;
|
||||
}
|
||||
}
|
||||
128
apk_decompiled/sources/kotlinx/coroutines/DispatchedTask.java
Normal file
128
apk_decompiled/sources/kotlinx/coroutines/DispatchedTask.java
Normal file
@@ -0,0 +1,128 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Result;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuation;
|
||||
import kotlinx.coroutines.internal.ThreadContextKt;
|
||||
import kotlinx.coroutines.scheduling.Task;
|
||||
import kotlinx.coroutines.scheduling.TaskContext;
|
||||
|
||||
@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0003\n\u0002\b\u000f\b!\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00002\u00060\u0002j\u0002`\u0003B\u000f\b\u0000\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u001f\u0010\u000b\u001a\u00020\f2\b\u0010\r\u001a\u0004\u0018\u00010\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0010¢\u0006\u0002\b\u0011J\u0019\u0010\u0012\u001a\u0004\u0018\u00010\u00102\b\u0010\u0013\u001a\u0004\u0018\u00010\u000eH\u0010¢\u0006\u0002\b\u0014J\u001f\u0010\u0015\u001a\u0002H\u0001\"\u0004\b\u0001\u0010\u00012\b\u0010\u0013\u001a\u0004\u0018\u00010\u000eH\u0010¢\u0006\u0004\b\u0016\u0010\u0017J!\u0010\u0018\u001a\u00020\f2\b\u0010\u0019\u001a\u0004\u0018\u00010\u00102\b\u0010\u001a\u001a\u0004\u0018\u00010\u0010H\u0000¢\u0006\u0002\b\u001bJ\u0006\u0010\u001c\u001a\u00020\fJ\u000f\u0010\u001d\u001a\u0004\u0018\u00010\u000eH ¢\u0006\u0002\b\u001eR\u0018\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\bX \u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\nR\u0012\u0010\u0004\u001a\u00020\u00058\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000¨\u0006\u001f"}, d2 = {"Lkotlinx/coroutines/DispatchedTask;", "T", "Lkotlinx/coroutines/scheduling/Task;", "Lkotlinx/coroutines/SchedulerTask;", "resumeMode", "", "(I)V", "delegate", "Lkotlin/coroutines/Continuation;", "getDelegate$kotlinx_coroutines_core", "()Lkotlin/coroutines/Continuation;", "cancelCompletedResult", "", "takenState", "", "cause", "", "cancelCompletedResult$kotlinx_coroutines_core", "getExceptionalResult", RemoteConfigConstants.ResponseFieldKey.STATE, "getExceptionalResult$kotlinx_coroutines_core", "getSuccessfulResult", "getSuccessfulResult$kotlinx_coroutines_core", "(Ljava/lang/Object;)Ljava/lang/Object;", "handleFatalException", "exception", "finallyException", "handleFatalException$kotlinx_coroutines_core", "run", "takeState", "takeState$kotlinx_coroutines_core", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@PublishedApi
|
||||
@SourceDebugExtension({"SMAP\nDispatchedTask.kt\nKotlin\n*S Kotlin\n*F\n+ 1 DispatchedTask.kt\nkotlinx/coroutines/DispatchedTask\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 CoroutineContext.kt\nkotlinx/coroutines/CoroutineContextKt\n+ 4 DispatchedTask.kt\nkotlinx/coroutines/DispatchedTaskKt\n+ 5 StackTraceRecovery.kt\nkotlinx/coroutines/internal/StackTraceRecoveryKt\n+ 6 Exceptions.kt\nkotlinx/coroutines/ExceptionsKt\n*L\n1#1,222:1\n1#2:223\n107#3,10:224\n118#3,2:238\n220#4:234\n221#4:237\n61#5,2:235\n74#6:240\n*S KotlinDebug\n*F\n+ 1 DispatchedTask.kt\nkotlinx/coroutines/DispatchedTask\n*L\n90#1:224,10\n90#1:238,2\n103#1:234\n103#1:237\n103#1:235,2\n142#1:240\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class DispatchedTask<T> extends Task {
|
||||
|
||||
@JvmField
|
||||
public int resumeMode;
|
||||
|
||||
public DispatchedTask(int i) {
|
||||
this.resumeMode = i;
|
||||
}
|
||||
|
||||
public void cancelCompletedResult$kotlinx_coroutines_core(Object takenState, Throwable cause) {
|
||||
}
|
||||
|
||||
public abstract Continuation<T> getDelegate$kotlinx_coroutines_core();
|
||||
|
||||
public Throwable getExceptionalResult$kotlinx_coroutines_core(Object state) {
|
||||
CompletedExceptionally completedExceptionally = state instanceof CompletedExceptionally ? (CompletedExceptionally) state : null;
|
||||
if (completedExceptionally != null) {
|
||||
return completedExceptionally.cause;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public <T> T getSuccessfulResult$kotlinx_coroutines_core(Object state) {
|
||||
return state;
|
||||
}
|
||||
|
||||
public final void handleFatalException$kotlinx_coroutines_core(Throwable exception, Throwable finallyException) {
|
||||
if (exception == null && finallyException == null) {
|
||||
return;
|
||||
}
|
||||
if (exception != null && finallyException != null) {
|
||||
kotlin.ExceptionsKt.addSuppressed(exception, finallyException);
|
||||
}
|
||||
if (exception == null) {
|
||||
exception = finallyException;
|
||||
}
|
||||
Intrinsics.checkNotNull(exception);
|
||||
CoroutineExceptionHandlerKt.handleCoroutineException(getDelegate$kotlinx_coroutines_core().get$context(), new CoroutinesInternalError("Fatal exception in coroutines machinery for " + this + ". Please read KDoc to 'handleFatalException' method and report this incident to maintainers", exception));
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public final void run() {
|
||||
Object m116constructorimpl;
|
||||
Object m116constructorimpl2;
|
||||
TaskContext taskContext = this.taskContext;
|
||||
try {
|
||||
Continuation<T> delegate$kotlinx_coroutines_core = getDelegate$kotlinx_coroutines_core();
|
||||
Intrinsics.checkNotNull(delegate$kotlinx_coroutines_core, "null cannot be cast to non-null type kotlinx.coroutines.internal.DispatchedContinuation<T of kotlinx.coroutines.DispatchedTask>");
|
||||
DispatchedContinuation dispatchedContinuation = (DispatchedContinuation) delegate$kotlinx_coroutines_core;
|
||||
Continuation<T> continuation = dispatchedContinuation.continuation;
|
||||
Object obj = dispatchedContinuation.countOrElement;
|
||||
CoroutineContext coroutineContext = continuation.get$context();
|
||||
Object updateThreadContext = ThreadContextKt.updateThreadContext(coroutineContext, obj);
|
||||
UndispatchedCoroutine<?> updateUndispatchedCompletion = updateThreadContext != ThreadContextKt.NO_THREAD_ELEMENTS ? CoroutineContextKt.updateUndispatchedCompletion(continuation, coroutineContext, updateThreadContext) : null;
|
||||
try {
|
||||
CoroutineContext coroutineContext2 = continuation.get$context();
|
||||
Object takeState$kotlinx_coroutines_core = takeState$kotlinx_coroutines_core();
|
||||
Throwable exceptionalResult$kotlinx_coroutines_core = getExceptionalResult$kotlinx_coroutines_core(takeState$kotlinx_coroutines_core);
|
||||
Job job = (exceptionalResult$kotlinx_coroutines_core == null && DispatchedTaskKt.isCancellableMode(this.resumeMode)) ? (Job) coroutineContext2.get(Job.INSTANCE) : null;
|
||||
if (job != null && !job.isActive()) {
|
||||
CancellationException cancellationException = job.getCancellationException();
|
||||
cancelCompletedResult$kotlinx_coroutines_core(takeState$kotlinx_coroutines_core, cancellationException);
|
||||
Result.Companion companion = Result.INSTANCE;
|
||||
continuation.resumeWith(Result.m116constructorimpl(ResultKt.createFailure(cancellationException)));
|
||||
} else if (exceptionalResult$kotlinx_coroutines_core != null) {
|
||||
Result.Companion companion2 = Result.INSTANCE;
|
||||
continuation.resumeWith(Result.m116constructorimpl(ResultKt.createFailure(exceptionalResult$kotlinx_coroutines_core)));
|
||||
} else {
|
||||
Result.Companion companion3 = Result.INSTANCE;
|
||||
continuation.resumeWith(Result.m116constructorimpl(getSuccessfulResult$kotlinx_coroutines_core(takeState$kotlinx_coroutines_core)));
|
||||
}
|
||||
Unit unit = Unit.INSTANCE;
|
||||
if (updateUndispatchedCompletion == null || updateUndispatchedCompletion.clearThreadContext()) {
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext, updateThreadContext);
|
||||
}
|
||||
try {
|
||||
taskContext.afterTask();
|
||||
m116constructorimpl2 = Result.m116constructorimpl(Unit.INSTANCE);
|
||||
} catch (Throwable th) {
|
||||
Result.Companion companion4 = Result.INSTANCE;
|
||||
m116constructorimpl2 = Result.m116constructorimpl(ResultKt.createFailure(th));
|
||||
}
|
||||
handleFatalException$kotlinx_coroutines_core(null, Result.m119exceptionOrNullimpl(m116constructorimpl2));
|
||||
} catch (Throwable th2) {
|
||||
if (updateUndispatchedCompletion == null || updateUndispatchedCompletion.clearThreadContext()) {
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext, updateThreadContext);
|
||||
}
|
||||
throw th2;
|
||||
}
|
||||
} catch (Throwable th3) {
|
||||
try {
|
||||
Result.Companion companion5 = Result.INSTANCE;
|
||||
taskContext.afterTask();
|
||||
m116constructorimpl = Result.m116constructorimpl(Unit.INSTANCE);
|
||||
} catch (Throwable th4) {
|
||||
Result.Companion companion6 = Result.INSTANCE;
|
||||
m116constructorimpl = Result.m116constructorimpl(ResultKt.createFailure(th4));
|
||||
}
|
||||
handleFatalException$kotlinx_coroutines_core(th3, Result.m119exceptionOrNullimpl(m116constructorimpl));
|
||||
}
|
||||
}
|
||||
|
||||
public abstract Object takeState$kotlinx_coroutines_core();
|
||||
}
|
||||
131
apk_decompiled/sources/kotlinx/coroutines/DispatchedTaskKt.java
Normal file
131
apk_decompiled/sources/kotlinx/coroutines/DispatchedTaskKt.java
Normal file
@@ -0,0 +1,131 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Result;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.InlineMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.DispatchedContinuation;
|
||||
import kotlinx.coroutines.internal.ThreadContextKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000<\n\u0000\n\u0002\u0010\b\n\u0002\b\u0007\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0003\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a \u0010\f\u001a\u00020\r\"\u0004\b\u0000\u0010\u000e*\b\u0012\u0004\u0012\u0002H\u000e0\u000f2\u0006\u0010\u0010\u001a\u00020\u0001H\u0000\u001a.\u0010\u0011\u001a\u00020\r\"\u0004\b\u0000\u0010\u000e*\b\u0012\u0004\u0012\u0002H\u000e0\u000f2\f\u0010\u0012\u001a\b\u0012\u0004\u0012\u0002H\u000e0\u00132\u0006\u0010\u0014\u001a\u00020\tH\u0000\u001a\u0010\u0010\u0015\u001a\u00020\r*\u0006\u0012\u0002\b\u00030\u000fH\u0002\u001a\u0019\u0010\u0016\u001a\u00020\r*\u0006\u0012\u0002\b\u00030\u00132\u0006\u0010\u0017\u001a\u00020\u0018H\u0080\b\u001a'\u0010\u0019\u001a\u00020\r*\u0006\u0012\u0002\b\u00030\u000f2\u0006\u0010\u001a\u001a\u00020\u001b2\f\u0010\u001c\u001a\b\u0012\u0004\u0012\u00020\r0\u001dH\u0080\b\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0080T¢\u0006\u0002\n\u0000\"\u0016\u0010\u0002\u001a\u00020\u00018\u0000X\u0081T¢\u0006\b\n\u0000\u0012\u0004\b\u0003\u0010\u0004\"\u000e\u0010\u0005\u001a\u00020\u0001X\u0080T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0006\u001a\u00020\u0001X\u0080T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0007\u001a\u00020\u0001X\u0080T¢\u0006\u0002\n\u0000\"\u0018\u0010\b\u001a\u00020\t*\u00020\u00018@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\n\"\u0018\u0010\u000b\u001a\u00020\t*\u00020\u00018@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\n¨\u0006\u001e"}, d2 = {"MODE_ATOMIC", "", "MODE_CANCELLABLE", "getMODE_CANCELLABLE$annotations", "()V", "MODE_CANCELLABLE_REUSABLE", "MODE_UNDISPATCHED", "MODE_UNINITIALIZED", "isCancellableMode", "", "(I)Z", "isReusableMode", "dispatch", "", "T", "Lkotlinx/coroutines/DispatchedTask;", "mode", "resume", "delegate", "Lkotlin/coroutines/Continuation;", "undispatched", "resumeUnconfined", "resumeWithStackTrace", "exception", "", "runUnconfinedEventLoop", "eventLoop", "Lkotlinx/coroutines/EventLoop;", "block", "Lkotlin/Function0;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nDispatchedTask.kt\nKotlin\n*S Kotlin\n*F\n+ 1 DispatchedTask.kt\nkotlinx/coroutines/DispatchedTaskKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 DispatchedContinuation.kt\nkotlinx/coroutines/internal/DispatchedContinuation\n+ 4 CoroutineContext.kt\nkotlinx/coroutines/CoroutineContextKt\n+ 5 StackTraceRecovery.kt\nkotlinx/coroutines/internal/StackTraceRecoveryKt\n*L\n1#1,222:1\n200#1,17:240\n1#2:223\n255#3:224\n256#3,2:235\n258#3:239\n107#4,10:225\n118#4,2:237\n61#5,2:257\n*S KotlinDebug\n*F\n+ 1 DispatchedTask.kt\nkotlinx/coroutines/DispatchedTaskKt\n*L\n190#1:240,17\n178#1:224\n178#1:235,2\n178#1:239\n178#1:225,10\n178#1:237,2\n220#1:257,2\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DispatchedTaskKt {
|
||||
public static final int MODE_ATOMIC = 0;
|
||||
public static final int MODE_CANCELLABLE = 1;
|
||||
public static final int MODE_CANCELLABLE_REUSABLE = 2;
|
||||
public static final int MODE_UNDISPATCHED = 4;
|
||||
public static final int MODE_UNINITIALIZED = -1;
|
||||
|
||||
public static final <T> void dispatch(DispatchedTask<? super T> dispatchedTask, int i) {
|
||||
Continuation<? super T> delegate$kotlinx_coroutines_core = dispatchedTask.getDelegate$kotlinx_coroutines_core();
|
||||
boolean z3 = i == 4;
|
||||
if (z3 || !(delegate$kotlinx_coroutines_core instanceof DispatchedContinuation) || isCancellableMode(i) != isCancellableMode(dispatchedTask.resumeMode)) {
|
||||
resume(dispatchedTask, delegate$kotlinx_coroutines_core, z3);
|
||||
return;
|
||||
}
|
||||
CoroutineDispatcher coroutineDispatcher = ((DispatchedContinuation) delegate$kotlinx_coroutines_core).dispatcher;
|
||||
CoroutineContext coroutineContext = delegate$kotlinx_coroutines_core.get$context();
|
||||
if (coroutineDispatcher.isDispatchNeeded(coroutineContext)) {
|
||||
coroutineDispatcher.mo1685dispatch(coroutineContext, dispatchedTask);
|
||||
} else {
|
||||
resumeUnconfined(dispatchedTask);
|
||||
}
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
public static /* synthetic */ void getMODE_CANCELLABLE$annotations() {
|
||||
}
|
||||
|
||||
public static final boolean isCancellableMode(int i) {
|
||||
return i == 1 || i == 2;
|
||||
}
|
||||
|
||||
public static final boolean isReusableMode(int i) {
|
||||
return i == 2;
|
||||
}
|
||||
|
||||
public static final <T> void resume(DispatchedTask<? super T> dispatchedTask, Continuation<? super T> continuation, boolean z3) {
|
||||
Object successfulResult$kotlinx_coroutines_core;
|
||||
Object takeState$kotlinx_coroutines_core = dispatchedTask.takeState$kotlinx_coroutines_core();
|
||||
Throwable exceptionalResult$kotlinx_coroutines_core = dispatchedTask.getExceptionalResult$kotlinx_coroutines_core(takeState$kotlinx_coroutines_core);
|
||||
if (exceptionalResult$kotlinx_coroutines_core != null) {
|
||||
Result.Companion companion = Result.INSTANCE;
|
||||
successfulResult$kotlinx_coroutines_core = ResultKt.createFailure(exceptionalResult$kotlinx_coroutines_core);
|
||||
} else {
|
||||
Result.Companion companion2 = Result.INSTANCE;
|
||||
successfulResult$kotlinx_coroutines_core = dispatchedTask.getSuccessfulResult$kotlinx_coroutines_core(takeState$kotlinx_coroutines_core);
|
||||
}
|
||||
Object m116constructorimpl = Result.m116constructorimpl(successfulResult$kotlinx_coroutines_core);
|
||||
if (!z3) {
|
||||
continuation.resumeWith(m116constructorimpl);
|
||||
return;
|
||||
}
|
||||
Intrinsics.checkNotNull(continuation, "null cannot be cast to non-null type kotlinx.coroutines.internal.DispatchedContinuation<T of kotlinx.coroutines.DispatchedTaskKt.resume>");
|
||||
DispatchedContinuation dispatchedContinuation = (DispatchedContinuation) continuation;
|
||||
Continuation<T> continuation2 = dispatchedContinuation.continuation;
|
||||
Object obj = dispatchedContinuation.countOrElement;
|
||||
CoroutineContext coroutineContext = continuation2.get$context();
|
||||
Object updateThreadContext = ThreadContextKt.updateThreadContext(coroutineContext, obj);
|
||||
UndispatchedCoroutine<?> updateUndispatchedCompletion = updateThreadContext != ThreadContextKt.NO_THREAD_ELEMENTS ? CoroutineContextKt.updateUndispatchedCompletion(continuation2, coroutineContext, updateThreadContext) : null;
|
||||
try {
|
||||
dispatchedContinuation.continuation.resumeWith(m116constructorimpl);
|
||||
Unit unit = Unit.INSTANCE;
|
||||
if (updateUndispatchedCompletion == null || updateUndispatchedCompletion.clearThreadContext()) {
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext, updateThreadContext);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
if (updateUndispatchedCompletion == null || updateUndispatchedCompletion.clearThreadContext()) {
|
||||
ThreadContextKt.restoreThreadContext(coroutineContext, updateThreadContext);
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
private static final void resumeUnconfined(DispatchedTask<?> dispatchedTask) {
|
||||
EventLoop eventLoop$kotlinx_coroutines_core = ThreadLocalEventLoop.INSTANCE.getEventLoop$kotlinx_coroutines_core();
|
||||
if (eventLoop$kotlinx_coroutines_core.isUnconfinedLoopActive()) {
|
||||
eventLoop$kotlinx_coroutines_core.dispatchUnconfined(dispatchedTask);
|
||||
return;
|
||||
}
|
||||
eventLoop$kotlinx_coroutines_core.incrementUseCount(true);
|
||||
try {
|
||||
resume(dispatchedTask, dispatchedTask.getDelegate$kotlinx_coroutines_core(), true);
|
||||
do {
|
||||
} while (eventLoop$kotlinx_coroutines_core.processUnconfinedEvent());
|
||||
} finally {
|
||||
try {
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static final void resumeWithStackTrace(Continuation<?> continuation, Throwable th) {
|
||||
Result.Companion companion = Result.INSTANCE;
|
||||
continuation.resumeWith(Result.m116constructorimpl(ResultKt.createFailure(th)));
|
||||
}
|
||||
|
||||
public static final void runUnconfinedEventLoop(DispatchedTask<?> dispatchedTask, EventLoop eventLoop, Function0<Unit> function0) {
|
||||
eventLoop.incrementUseCount(true);
|
||||
try {
|
||||
function0.invoke();
|
||||
do {
|
||||
} while (eventLoop.processUnconfinedEvent());
|
||||
} catch (Throwable th) {
|
||||
try {
|
||||
dispatchedTask.handleFatalException$kotlinx_coroutines_core(th, null);
|
||||
} finally {
|
||||
InlineMarker.finallyStart(1);
|
||||
eventLoop.decrementUseCount(true);
|
||||
InlineMarker.finallyEnd(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
import kotlin.jvm.JvmField;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0014\u0010\u0005\u001a\u00020\u00062\n\u0010\u0007\u001a\u00060\bj\u0002`\tH\u0016J\b\u0010\n\u001a\u00020\u000bH\u0016R\u0010\u0010\u0002\u001a\u00020\u00038\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/DispatcherExecutor;", "Ljava/util/concurrent/Executor;", "dispatcher", "Lkotlinx/coroutines/CoroutineDispatcher;", "(Lkotlinx/coroutines/CoroutineDispatcher;)V", "execute", "", "block", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DispatcherExecutor implements Executor {
|
||||
|
||||
@JvmField
|
||||
public final CoroutineDispatcher dispatcher;
|
||||
|
||||
public DispatcherExecutor(CoroutineDispatcher coroutineDispatcher) {
|
||||
this.dispatcher = coroutineDispatcher;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Executor
|
||||
public void execute(Runnable block) {
|
||||
CoroutineDispatcher coroutineDispatcher = this.dispatcher;
|
||||
EmptyCoroutineContext emptyCoroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
if (coroutineDispatcher.isDispatchNeeded(emptyCoroutineContext)) {
|
||||
this.dispatcher.mo1685dispatch(emptyCoroutineContext, block);
|
||||
} else {
|
||||
block.run();
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.dispatcher.toString();
|
||||
}
|
||||
}
|
||||
57
apk_decompiled/sources/kotlinx/coroutines/Dispatchers.java
Normal file
57
apk_decompiled/sources/kotlinx/coroutines/Dispatchers.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmStatic;
|
||||
import kotlinx.coroutines.internal.MainDispatcherLoader;
|
||||
import kotlinx.coroutines.scheduling.DefaultIoScheduler;
|
||||
import kotlinx.coroutines.scheduling.DefaultScheduler;
|
||||
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0010\u0002\n\u0000\bÆ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\b\u0010\u0013\u001a\u00020\u0014H\u0007R\u001c\u0010\u0003\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u000e\n\u0000\u0012\u0004\b\u0005\u0010\u0002\u001a\u0004\b\u0006\u0010\u0007R\u001c\u0010\b\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u000e\n\u0000\u0012\u0004\b\t\u0010\u0002\u001a\u0004\b\n\u0010\u0007R\u001a\u0010\u000b\u001a\u00020\f8FX\u0087\u0004¢\u0006\f\u0012\u0004\b\r\u0010\u0002\u001a\u0004\b\u000e\u0010\u000fR\u001c\u0010\u0010\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u000e\n\u0000\u0012\u0004\b\u0011\u0010\u0002\u001a\u0004\b\u0012\u0010\u0007¨\u0006\u0015"}, d2 = {"Lkotlinx/coroutines/Dispatchers;", "", "()V", "Default", "Lkotlinx/coroutines/CoroutineDispatcher;", "getDefault$annotations", "getDefault", "()Lkotlinx/coroutines/CoroutineDispatcher;", "IO", "getIO$annotations", "getIO", "Main", "Lkotlinx/coroutines/MainCoroutineDispatcher;", "getMain$annotations", "getMain", "()Lkotlinx/coroutines/MainCoroutineDispatcher;", "Unconfined", "getUnconfined$annotations", "getUnconfined", "shutdown", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class Dispatchers {
|
||||
public static final Dispatchers INSTANCE = new Dispatchers();
|
||||
private static final CoroutineDispatcher Default = DefaultScheduler.INSTANCE;
|
||||
private static final CoroutineDispatcher Unconfined = Unconfined.INSTANCE;
|
||||
private static final CoroutineDispatcher IO = DefaultIoScheduler.INSTANCE;
|
||||
|
||||
private Dispatchers() {
|
||||
}
|
||||
|
||||
public static final CoroutineDispatcher getDefault() {
|
||||
return Default;
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
public static /* synthetic */ void getDefault$annotations() {
|
||||
}
|
||||
|
||||
public static final CoroutineDispatcher getIO() {
|
||||
return IO;
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
public static /* synthetic */ void getIO$annotations() {
|
||||
}
|
||||
|
||||
public static final MainCoroutineDispatcher getMain() {
|
||||
return MainDispatcherLoader.dispatcher;
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
public static /* synthetic */ void getMain$annotations() {
|
||||
}
|
||||
|
||||
public static final CoroutineDispatcher getUnconfined() {
|
||||
return Unconfined;
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
public static /* synthetic */ void getUnconfined$annotations() {
|
||||
}
|
||||
|
||||
@DelicateCoroutinesApi
|
||||
public final void shutdown() {
|
||||
DefaultExecutor.INSTANCE.shutdown();
|
||||
DefaultScheduler.INSTANCE.shutdown$kotlinx_coroutines_core();
|
||||
}
|
||||
}
|
||||
15
apk_decompiled/sources/kotlinx/coroutines/DispatchersKt.java
Normal file
15
apk_decompiled/sources/kotlinx/coroutines/DispatchersKt.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0086T¢\u0006\u0002\n\u0000\"\u001e\u0010\u0002\u001a\u00020\u0003*\u00020\u00048FX\u0087\u0004¢\u0006\f\u0012\u0004\b\u0005\u0010\u0006\u001a\u0004\b\u0007\u0010\b¨\u0006\t"}, d2 = {"IO_PARALLELISM_PROPERTY_NAME", "", "IO", "Lkotlinx/coroutines/CoroutineDispatcher;", "Lkotlinx/coroutines/Dispatchers;", "getIO$annotations", "(Lkotlinx/coroutines/Dispatchers;)V", "getIO", "(Lkotlinx/coroutines/Dispatchers;)Lkotlinx/coroutines/CoroutineDispatcher;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DispatchersKt {
|
||||
public static final String IO_PARALLELISM_PROPERTY_NAME = "kotlinx.coroutines.io.parallelism";
|
||||
|
||||
@Deprecated(level = DeprecationLevel.HIDDEN, message = "Should not be used directly")
|
||||
public static /* synthetic */ void getIO$annotations(Dispatchers dispatchers) {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\u0011\u0012\n\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003¢\u0006\u0002\u0010\u0004J\b\u0010\u0005\u001a\u00020\u0006H\u0016J\b\u0010\u0007\u001a\u00020\bH\u0016R\u0012\u0010\u0002\u001a\u0006\u0012\u0002\b\u00030\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/DisposableFutureHandle;", "Lkotlinx/coroutines/DisposableHandle;", "future", "Ljava/util/concurrent/Future;", "(Ljava/util/concurrent/Future;)V", "dispose", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class DisposableFutureHandle implements DisposableHandle {
|
||||
private final Future<?> future;
|
||||
|
||||
public DisposableFutureHandle(Future<?> future) {
|
||||
this.future = future;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.DisposableHandle
|
||||
public void dispose() {
|
||||
this.future.cancel(false);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "DisposableFutureHandle[" + this.future + ']';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\bæ\u0080\u0001\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H&¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/DisposableHandle;", "", "dispose", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface DisposableHandle {
|
||||
void dispose();
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
|
||||
@Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0013\u0010\u0005\u001a\u00020\u00062\b\u0010\u0007\u001a\u0004\u0018\u00010\bH\u0096\u0002J\b\u0010\t\u001a\u00020\nH\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000b"}, d2 = {"Lkotlinx/coroutines/DisposeOnCancel;", "Lkotlinx/coroutines/CancelHandler;", "handle", "Lkotlinx/coroutines/DisposableHandle;", "(Lkotlinx/coroutines/DisposableHandle;)V", "invoke", "", "cause", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class DisposeOnCancel extends CancelHandler {
|
||||
private final DisposableHandle handle;
|
||||
|
||||
public DisposeOnCancel(DisposableHandle disposableHandle) {
|
||||
this.handle = disposableHandle;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "DisposeOnCancel[" + this.handle + ']';
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CancelHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
this.handle.dispose();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0013\u0010\u0005\u001a\u00020\u00062\b\u0010\u0007\u001a\u0004\u0018\u00010\bH\u0096\u0002R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/DisposeOnCompletion;", "Lkotlinx/coroutines/JobNode;", "handle", "Lkotlinx/coroutines/DisposableHandle;", "(Lkotlinx/coroutines/DisposableHandle;)V", "invoke", "", "cause", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DisposeOnCompletion extends JobNode {
|
||||
private final DisposableHandle handle;
|
||||
|
||||
public DisposeOnCompletion(DisposableHandle disposableHandle) {
|
||||
this.handle = disposableHandle;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
this.handle.dispose();
|
||||
}
|
||||
}
|
||||
29
apk_decompiled/sources/kotlinx/coroutines/Empty.java
Normal file
29
apk_decompiled/sources/kotlinx/coroutines/Empty.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\b\u0010\n\u001a\u00020\u000bH\u0016R\u0014\u0010\u0002\u001a\u00020\u0003X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\u0005R\u0016\u0010\u0006\u001a\u0004\u0018\u00010\u00078VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\t¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/Empty;", "Lkotlinx/coroutines/Incomplete;", "isActive", "", "(Z)V", "()Z", "list", "Lkotlinx/coroutines/NodeList;", "getList", "()Lkotlinx/coroutines/NodeList;", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class Empty implements Incomplete {
|
||||
private final boolean isActive;
|
||||
|
||||
public Empty(boolean z3) {
|
||||
this.isActive = z3;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Incomplete
|
||||
public NodeList getList() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Incomplete
|
||||
/* renamed from: isActive, reason: from getter */
|
||||
public boolean getIsActive() {
|
||||
return this.isActive;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return com.google.android.gms.measurement.internal.a.n(new StringBuilder("Empty{"), getIsActive() ? "Active" : "New", '}');
|
||||
}
|
||||
}
|
||||
123
apk_decompiled/sources/kotlinx/coroutines/EventLoop.java
Normal file
123
apk_decompiled/sources/kotlinx/coroutines/EventLoop.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.ArrayDeque;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlinx.coroutines.internal.LimitedDispatcherKt;
|
||||
|
||||
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0007\n\u0002\u0010\b\n\u0002\b\u0005\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0012\u001a\u00020\u00132\b\b\u0002\u0010\u0014\u001a\u00020\u0004J\u0010\u0010\u0015\u001a\u00020\n2\u0006\u0010\u0014\u001a\u00020\u0004H\u0002J\u0012\u0010\u0016\u001a\u00020\u00132\n\u0010\u0017\u001a\u0006\u0012\u0002\b\u00030\u0010J\u0010\u0010\u0018\u001a\u00020\u00132\b\b\u0002\u0010\u0014\u001a\u00020\u0004J\u000e\u0010\u0019\u001a\u00020\u00012\u0006\u0010\u001a\u001a\u00020\u001bJ\b\u0010\u001c\u001a\u00020\nH\u0016J\u0006\u0010\u001d\u001a\u00020\u0004J\b\u0010\u001e\u001a\u00020\u0004H\u0016J\b\u0010\u001f\u001a\u00020\u0013H\u0016R\u0011\u0010\u0003\u001a\u00020\u00048F¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0005R\u0014\u0010\u0006\u001a\u00020\u00048TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0005R\u0011\u0010\u0007\u001a\u00020\u00048F¢\u0006\u0006\u001a\u0004\b\u0007\u0010\u0005R\u0011\u0010\b\u001a\u00020\u00048F¢\u0006\u0006\u001a\u0004\b\b\u0010\u0005R\u0014\u0010\t\u001a\u00020\n8TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\fR\u000e\u0010\r\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000R\u001a\u0010\u000e\u001a\u000e\u0012\b\u0012\u0006\u0012\u0002\b\u00030\u0010\u0018\u00010\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\nX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006 "}, d2 = {"Lkotlinx/coroutines/EventLoop;", "Lkotlinx/coroutines/CoroutineDispatcher;", "()V", "isActive", "", "()Z", "isEmpty", "isUnconfinedLoopActive", "isUnconfinedQueueEmpty", "nextTime", "", "getNextTime", "()J", "shared", "unconfinedQueue", "Lkotlin/collections/ArrayDeque;", "Lkotlinx/coroutines/DispatchedTask;", "useCount", "decrementUseCount", "", "unconfined", "delta", "dispatchUnconfined", "task", "incrementUseCount", "limitedParallelism", "parallelism", "", "processNextEvent", "processUnconfinedEvent", "shouldBeProcessedFromContext", "shutdown", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nEventLoop.common.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoop\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,544:1\n1#2:545\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class EventLoop extends CoroutineDispatcher {
|
||||
private boolean shared;
|
||||
private ArrayDeque<DispatchedTask<?>> unconfinedQueue;
|
||||
private long useCount;
|
||||
|
||||
public static /* synthetic */ void decrementUseCount$default(EventLoop eventLoop, boolean z3, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: decrementUseCount");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
z3 = false;
|
||||
}
|
||||
eventLoop.decrementUseCount(z3);
|
||||
}
|
||||
|
||||
private final long delta(boolean unconfined) {
|
||||
return unconfined ? 4294967296L : 1L;
|
||||
}
|
||||
|
||||
public static /* synthetic */ void incrementUseCount$default(EventLoop eventLoop, boolean z3, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: incrementUseCount");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
z3 = false;
|
||||
}
|
||||
eventLoop.incrementUseCount(z3);
|
||||
}
|
||||
|
||||
public final void decrementUseCount(boolean unconfined) {
|
||||
long delta = this.useCount - delta(unconfined);
|
||||
this.useCount = delta;
|
||||
if (delta <= 0 && this.shared) {
|
||||
shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
public final void dispatchUnconfined(DispatchedTask<?> task) {
|
||||
ArrayDeque<DispatchedTask<?>> arrayDeque = this.unconfinedQueue;
|
||||
if (arrayDeque == null) {
|
||||
arrayDeque = new ArrayDeque<>();
|
||||
this.unconfinedQueue = arrayDeque;
|
||||
}
|
||||
arrayDeque.addLast(task);
|
||||
}
|
||||
|
||||
public long getNextTime() {
|
||||
ArrayDeque<DispatchedTask<?>> arrayDeque = this.unconfinedQueue;
|
||||
if (arrayDeque == null || arrayDeque.isEmpty()) {
|
||||
return LongCompanionObject.MAX_VALUE;
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
|
||||
public final void incrementUseCount(boolean unconfined) {
|
||||
this.useCount += delta(unconfined);
|
||||
if (unconfined) {
|
||||
return;
|
||||
}
|
||||
this.shared = true;
|
||||
}
|
||||
|
||||
public final boolean isActive() {
|
||||
return this.useCount > 0;
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return isUnconfinedQueueEmpty();
|
||||
}
|
||||
|
||||
public final boolean isUnconfinedLoopActive() {
|
||||
return this.useCount >= delta(true);
|
||||
}
|
||||
|
||||
public final boolean isUnconfinedQueueEmpty() {
|
||||
ArrayDeque<DispatchedTask<?>> arrayDeque = this.unconfinedQueue;
|
||||
if (arrayDeque != null) {
|
||||
return arrayDeque.isEmpty();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineDispatcher
|
||||
public final CoroutineDispatcher limitedParallelism(int parallelism) {
|
||||
LimitedDispatcherKt.checkParallelism(parallelism);
|
||||
return this;
|
||||
}
|
||||
|
||||
public long processNextEvent() {
|
||||
if (processUnconfinedEvent()) {
|
||||
return 0L;
|
||||
}
|
||||
return LongCompanionObject.MAX_VALUE;
|
||||
}
|
||||
|
||||
public final boolean processUnconfinedEvent() {
|
||||
DispatchedTask<?> removeFirstOrNull;
|
||||
ArrayDeque<DispatchedTask<?>> arrayDeque = this.unconfinedQueue;
|
||||
if (arrayDeque == null || (removeFirstOrNull = arrayDeque.removeFirstOrNull()) == null) {
|
||||
return false;
|
||||
}
|
||||
removeFirstOrNull.run();
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean shouldBeProcessedFromContext() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void shutdown() {
|
||||
}
|
||||
}
|
||||
603
apk_decompiled/sources/kotlinx/coroutines/EventLoopImplBase.java
Normal file
603
apk_decompiled/sources/kotlinx/coroutines/EventLoopImplBase.java
Normal file
@@ -0,0 +1,603 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.time.DurationKt;
|
||||
import kotlinx.coroutines.Delay;
|
||||
import kotlinx.coroutines.internal.LockFreeTaskQueueCore;
|
||||
import kotlinx.coroutines.internal.Symbol;
|
||||
import kotlinx.coroutines.internal.ThreadSafeHeap;
|
||||
import kotlinx.coroutines.internal.ThreadSafeHeapNode;
|
||||
|
||||
@Metadata(d1 = {"\u0000l\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0006\n\u0002\u0010\t\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\n\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0007\b \u0018\u00002\u00020\u00012\u00020\u0002:\u00043456B\u0005¢\u0006\u0002\u0010\u0003J\b\u0010\u0016\u001a\u00020\u0017H\u0002J\u0010\u0010\u0018\u001a\n\u0018\u00010\u0019j\u0004\u0018\u0001`\u001aH\u0002J\u001a\u0010\u001b\u001a\u00020\u00172\u0006\u0010\u001c\u001a\u00020\u001d2\n\u0010\u001e\u001a\u00060\u0019j\u0002`\u001aJ\u0014\u0010\u001f\u001a\u00020\u00172\n\u0010 \u001a\u00060\u0019j\u0002`\u001aH\u0016J\u0014\u0010!\u001a\u00020\f2\n\u0010 \u001a\u00060\u0019j\u0002`\u001aH\u0002J\b\u0010\"\u001a\u00020\u0013H\u0016J\b\u0010#\u001a\u00020\u0017H\u0002J\b\u0010$\u001a\u00020\u0017H\u0004J\u0016\u0010%\u001a\u00020\u00172\u0006\u0010&\u001a\u00020\u00132\u0006\u0010'\u001a\u00020(J\u0018\u0010)\u001a\u00020*2\u0006\u0010&\u001a\u00020\u00132\u0006\u0010'\u001a\u00020(H\u0002J\u001c\u0010+\u001a\u00020,2\u0006\u0010-\u001a\u00020\u00132\n\u0010\u001e\u001a\u00060\u0019j\u0002`\u001aH\u0004J\u001e\u0010.\u001a\u00020\u00172\u0006\u0010-\u001a\u00020\u00132\f\u0010/\u001a\b\u0012\u0004\u0012\u00020\u001700H\u0016J\u0010\u00101\u001a\u00020\f2\u0006\u0010 \u001a\u00020(H\u0002J\b\u00102\u001a\u00020\u0017H\u0016R\u0011\u0010\u0004\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00060\u0005X\u0082\u0004R\t\u0010\u0007\u001a\u00020\bX\u0082\u0004R\u0011\u0010\t\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\n0\u0005X\u0082\u0004R$\u0010\r\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\f8B@BX\u0082\u000e¢\u0006\f\u001a\u0004\b\r\u0010\u000e\"\u0004\b\u000f\u0010\u0010R\u0014\u0010\u0011\u001a\u00020\f8TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\u0011\u0010\u000eR\u0014\u0010\u0012\u001a\u00020\u00138TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0015¨\u00067"}, d2 = {"Lkotlinx/coroutines/EventLoopImplBase;", "Lkotlinx/coroutines/EventLoopImplPlatform;", "Lkotlinx/coroutines/Delay;", "()V", "_delayed", "Lkotlinx/atomicfu/AtomicRef;", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTaskQueue;", "_isCompleted", "Lkotlinx/atomicfu/AtomicBoolean;", "_queue", "", "value", "", "isCompleted", "()Z", "setCompleted", "(Z)V", "isEmpty", "nextTime", "", "getNextTime", "()J", "closeQueue", "", "dequeue", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "dispatch", "context", "Lkotlin/coroutines/CoroutineContext;", "block", "enqueue", "task", "enqueueImpl", "processNextEvent", "rescheduleAllDelayed", "resetAll", "schedule", "now", "delayedTask", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "scheduleImpl", "", "scheduleInvokeOnTimeout", "Lkotlinx/coroutines/DisposableHandle;", "timeMillis", "scheduleResumeAfterDelay", "continuation", "Lkotlinx/coroutines/CancellableContinuation;", "shouldUnpark", "shutdown", "DelayedResumeTask", "DelayedRunnableTask", "DelayedTask", "DelayedTaskQueue", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nEventLoop.common.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoopImplBase\n+ 2 ThreadSafeHeap.kt\nkotlinx/coroutines/internal/ThreadSafeHeap\n+ 3 Synchronized.common.kt\nkotlinx/coroutines/internal/Synchronized_commonKt\n+ 4 Synchronized.kt\nkotlinx/coroutines/internal/SynchronizedKt\n+ 5 EventLoop.kt\nkotlinx/coroutines/EventLoopKt\n+ 6 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,544:1\n60#2:545\n61#2,7:551\n28#3,4:546\n20#4:550\n57#5:558\n1#6:559\n*S KotlinDebug\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoopImplBase\n*L\n270#1:545\n270#1:551,7\n270#1:546,4\n270#1:550\n281#1:558\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class EventLoopImplBase extends EventLoopImplPlatform implements Delay {
|
||||
private volatile /* synthetic */ Object _delayed$volatile;
|
||||
private volatile /* synthetic */ int _isCompleted$volatile = 0;
|
||||
private volatile /* synthetic */ Object _queue$volatile;
|
||||
private static final /* synthetic */ AtomicReferenceFieldUpdater _queue$volatile$FU = AtomicReferenceFieldUpdater.newUpdater(EventLoopImplBase.class, Object.class, "_queue$volatile");
|
||||
private static final /* synthetic */ AtomicReferenceFieldUpdater _delayed$volatile$FU = AtomicReferenceFieldUpdater.newUpdater(EventLoopImplBase.class, Object.class, "_delayed$volatile");
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater _isCompleted$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(EventLoopImplBase.class, "_isCompleted$volatile");
|
||||
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0000\b\u0082\u0004\u0018\u00002\u00020\u0001B\u001b\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\f\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00060\u0005¢\u0006\u0002\u0010\u0007J\b\u0010\b\u001a\u00020\u0006H\u0016J\b\u0010\t\u001a\u00020\nH\u0016R\u0014\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00060\u0005X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000b"}, d2 = {"Lkotlinx/coroutines/EventLoopImplBase$DelayedResumeTask;", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "nanoTime", "", "cont", "Lkotlinx/coroutines/CancellableContinuation;", "", "(Lkotlinx/coroutines/EventLoopImplBase;JLkotlinx/coroutines/CancellableContinuation;)V", "run", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nEventLoop.common.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoopImplBase$DelayedResumeTask\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,544:1\n1#2:545\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class DelayedResumeTask extends DelayedTask {
|
||||
private final CancellableContinuation<Unit> cont;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public DelayedResumeTask(long j4, CancellableContinuation<? super Unit> cancellableContinuation) {
|
||||
super(j4);
|
||||
this.cont = cancellableContinuation;
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
this.cont.resumeUndispatched(EventLoopImplBase.this, Unit.INSTANCE);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplBase.DelayedTask
|
||||
public String toString() {
|
||||
return super.toString() + this.cont;
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B\u0019\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\n\u0010\u0004\u001a\u00060\u0005j\u0002`\u0006¢\u0006\u0002\u0010\u0007J\b\u0010\b\u001a\u00020\tH\u0016J\b\u0010\n\u001a\u00020\u000bH\u0016R\u0012\u0010\u0004\u001a\u00060\u0005j\u0002`\u0006X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/EventLoopImplBase$DelayedRunnableTask;", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "nanoTime", "", "block", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "(JLjava/lang/Runnable;)V", "run", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DelayedRunnableTask extends DelayedTask {
|
||||
private final Runnable block;
|
||||
|
||||
public DelayedRunnableTask(long j4, Runnable runnable) {
|
||||
super(j4);
|
||||
this.block = runnable;
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
this.block.run();
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoopImplBase.DelayedTask
|
||||
public String toString() {
|
||||
return super.toString() + this.block;
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000Z\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000f\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\b\n\u0002\b\u0007\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u000e\n\u0000\b \u0018\u00002\u00060\u0001j\u0002`\u00022\b\u0012\u0004\u0012\u00020\u00000\u00032\u00020\u00042\u00020\u00052\u00060\u0006j\u0002`\u0007B\r\u0012\u0006\u0010\b\u001a\u00020\t¢\u0006\u0002\u0010\nJ\u0011\u0010\u0019\u001a\u00020\u00142\u0006\u0010\u001a\u001a\u00020\u0000H\u0096\u0002J\u0006\u0010\u001b\u001a\u00020\u001cJ\u001e\u0010\u001d\u001a\u00020\u00142\u0006\u0010\u001e\u001a\u00020\t2\u0006\u0010\u001f\u001a\u00020 2\u0006\u0010!\u001a\u00020\"J\u000e\u0010#\u001a\u00020$2\u0006\u0010\u001e\u001a\u00020\tJ\b\u0010%\u001a\u00020&H\u0016R\u0010\u0010\u000b\u001a\u0004\u0018\u00010\u0006X\u0082\u000e¢\u0006\u0002\n\u0000R0\u0010\u000e\u001a\b\u0012\u0002\b\u0003\u0018\u00010\r2\f\u0010\f\u001a\b\u0012\u0002\b\u0003\u0018\u00010\r8V@VX\u0096\u000e¢\u0006\f\u001a\u0004\b\u000f\u0010\u0010\"\u0004\b\u0011\u0010\u0012R\u001a\u0010\u0013\u001a\u00020\u0014X\u0096\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0015\u0010\u0016\"\u0004\b\u0017\u0010\u0018R\u0012\u0010\b\u001a\u00020\t8\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000¨\u0006'"}, d2 = {"Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "", "Lkotlinx/coroutines/DisposableHandle;", "Lkotlinx/coroutines/internal/ThreadSafeHeapNode;", "", "Lkotlinx/coroutines/internal/SynchronizedObject;", "nanoTime", "", "(J)V", "_heap", "value", "Lkotlinx/coroutines/internal/ThreadSafeHeap;", "heap", "getHeap", "()Lkotlinx/coroutines/internal/ThreadSafeHeap;", "setHeap", "(Lkotlinx/coroutines/internal/ThreadSafeHeap;)V", FirebaseAnalytics.Param.INDEX, "", "getIndex", "()I", "setIndex", "(I)V", "compareTo", "other", "dispose", "", "scheduleTask", "now", "delayed", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTaskQueue;", "eventLoop", "Lkotlinx/coroutines/EventLoopImplBase;", "timeToExecute", "", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nEventLoop.common.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoopImplBase$DelayedTask\n+ 2 Synchronized.common.kt\nkotlinx/coroutines/internal/Synchronized_commonKt\n+ 3 Synchronized.kt\nkotlinx/coroutines/internal/SynchronizedKt\n+ 4 ThreadSafeHeap.kt\nkotlinx/coroutines/internal/ThreadSafeHeap\n*L\n1#1,544:1\n28#2,4:545\n28#2,4:551\n28#2,4:563\n20#3:549\n20#3:555\n20#3:567\n72#4:550\n73#4,7:556\n*S KotlinDebug\n*F\n+ 1 EventLoop.common.kt\nkotlinx/coroutines/EventLoopImplBase$DelayedTask\n*L\n438#1:545,4\n440#1:551,4\n480#1:563,4\n438#1:549\n440#1:555\n480#1:567\n440#1:550\n440#1:556,7\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public static abstract class DelayedTask implements Runnable, Comparable<DelayedTask>, DisposableHandle, ThreadSafeHeapNode {
|
||||
private volatile Object _heap;
|
||||
private int index = -1;
|
||||
|
||||
@JvmField
|
||||
public long nanoTime;
|
||||
|
||||
public DelayedTask(long j4) {
|
||||
this.nanoTime = j4;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.DisposableHandle
|
||||
public final void dispose() {
|
||||
Symbol symbol;
|
||||
Symbol symbol2;
|
||||
synchronized (this) {
|
||||
try {
|
||||
Object obj = this._heap;
|
||||
symbol = EventLoop_commonKt.DISPOSED_TASK;
|
||||
if (obj == symbol) {
|
||||
return;
|
||||
}
|
||||
DelayedTaskQueue delayedTaskQueue = obj instanceof DelayedTaskQueue ? (DelayedTaskQueue) obj : null;
|
||||
if (delayedTaskQueue != null) {
|
||||
delayedTaskQueue.remove(this);
|
||||
}
|
||||
symbol2 = EventLoop_commonKt.DISPOSED_TASK;
|
||||
this._heap = symbol2;
|
||||
Unit unit = Unit.INSTANCE;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ThreadSafeHeapNode
|
||||
public ThreadSafeHeap<?> getHeap() {
|
||||
Object obj = this._heap;
|
||||
if (obj instanceof ThreadSafeHeap) {
|
||||
return (ThreadSafeHeap) obj;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ThreadSafeHeapNode
|
||||
public int getIndex() {
|
||||
return this.index;
|
||||
}
|
||||
|
||||
public final int scheduleTask(long now, DelayedTaskQueue delayed, EventLoopImplBase eventLoop) {
|
||||
Symbol symbol;
|
||||
synchronized (this) {
|
||||
Object obj = this._heap;
|
||||
symbol = EventLoop_commonKt.DISPOSED_TASK;
|
||||
if (obj == symbol) {
|
||||
return 2;
|
||||
}
|
||||
synchronized (delayed) {
|
||||
try {
|
||||
DelayedTask firstImpl = delayed.firstImpl();
|
||||
if (eventLoop.isCompleted()) {
|
||||
return 1;
|
||||
}
|
||||
if (firstImpl == null) {
|
||||
delayed.timeNow = now;
|
||||
} else {
|
||||
long j4 = firstImpl.nanoTime;
|
||||
if (j4 - now < 0) {
|
||||
now = j4;
|
||||
}
|
||||
if (now - delayed.timeNow > 0) {
|
||||
delayed.timeNow = now;
|
||||
}
|
||||
}
|
||||
long j5 = this.nanoTime;
|
||||
long j6 = delayed.timeNow;
|
||||
if (j5 - j6 < 0) {
|
||||
this.nanoTime = j6;
|
||||
}
|
||||
delayed.addImpl(this);
|
||||
return 0;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ThreadSafeHeapNode
|
||||
public void setHeap(ThreadSafeHeap<?> threadSafeHeap) {
|
||||
Symbol symbol;
|
||||
Object obj = this._heap;
|
||||
symbol = EventLoop_commonKt.DISPOSED_TASK;
|
||||
if (obj == symbol) {
|
||||
throw new IllegalArgumentException("Failed requirement.");
|
||||
}
|
||||
this._heap = threadSafeHeap;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.internal.ThreadSafeHeapNode
|
||||
public void setIndex(int i) {
|
||||
this.index = i;
|
||||
}
|
||||
|
||||
public final boolean timeToExecute(long now) {
|
||||
return now - this.nanoTime >= 0;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Delayed[nanos=" + this.nanoTime + ']';
|
||||
}
|
||||
|
||||
@Override // java.lang.Comparable
|
||||
public int compareTo(DelayedTask other) {
|
||||
long j4 = this.nanoTime - other.nanoTime;
|
||||
if (j4 > 0) {
|
||||
return 1;
|
||||
}
|
||||
return j4 < 0 ? -1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\b\u0000\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\r\u0012\u0006\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005R\u0012\u0010\u0003\u001a\u00020\u00048\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000¨\u0006\u0006"}, d2 = {"Lkotlinx/coroutines/EventLoopImplBase$DelayedTaskQueue;", "Lkotlinx/coroutines/internal/ThreadSafeHeap;", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "timeNow", "", "(J)V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DelayedTaskQueue extends ThreadSafeHeap<DelayedTask> {
|
||||
|
||||
@JvmField
|
||||
public long timeNow;
|
||||
|
||||
public DelayedTaskQueue(long j4) {
|
||||
this.timeNow = j4;
|
||||
}
|
||||
}
|
||||
|
||||
private final void closeQueue() {
|
||||
Symbol symbol;
|
||||
Symbol symbol2;
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _queue$volatile$FU;
|
||||
while (true) {
|
||||
Object obj = atomicReferenceFieldUpdater.get(this);
|
||||
if (obj == null) {
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater2 = _queue$volatile$FU;
|
||||
symbol = EventLoop_commonKt.CLOSED_EMPTY;
|
||||
while (!atomicReferenceFieldUpdater2.compareAndSet(this, null, symbol)) {
|
||||
if (atomicReferenceFieldUpdater2.get(this) != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (obj instanceof LockFreeTaskQueueCore) {
|
||||
((LockFreeTaskQueueCore) obj).close();
|
||||
return;
|
||||
}
|
||||
symbol2 = EventLoop_commonKt.CLOSED_EMPTY;
|
||||
if (obj == symbol2) {
|
||||
return;
|
||||
}
|
||||
LockFreeTaskQueueCore lockFreeTaskQueueCore = new LockFreeTaskQueueCore(8, true);
|
||||
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }");
|
||||
lockFreeTaskQueueCore.addLast((Runnable) obj);
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater3 = _queue$volatile$FU;
|
||||
while (!atomicReferenceFieldUpdater3.compareAndSet(this, obj, lockFreeTaskQueueCore)) {
|
||||
if (atomicReferenceFieldUpdater3.get(this) != obj) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private final Runnable dequeue() {
|
||||
Symbol symbol;
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _queue$volatile$FU;
|
||||
while (true) {
|
||||
Object obj = atomicReferenceFieldUpdater.get(this);
|
||||
if (obj == null) {
|
||||
return null;
|
||||
}
|
||||
if (!(obj instanceof LockFreeTaskQueueCore)) {
|
||||
symbol = EventLoop_commonKt.CLOSED_EMPTY;
|
||||
if (obj == symbol) {
|
||||
return null;
|
||||
}
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater2 = _queue$volatile$FU;
|
||||
while (!atomicReferenceFieldUpdater2.compareAndSet(this, obj, null)) {
|
||||
if (atomicReferenceFieldUpdater2.get(this) != obj) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }");
|
||||
return (Runnable) obj;
|
||||
}
|
||||
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.internal.LockFreeTaskQueueCore<java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }>{ kotlinx.coroutines.EventLoop_commonKt.Queue<java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }> }");
|
||||
LockFreeTaskQueueCore lockFreeTaskQueueCore = (LockFreeTaskQueueCore) obj;
|
||||
Object removeFirstOrNull = lockFreeTaskQueueCore.removeFirstOrNull();
|
||||
if (removeFirstOrNull != LockFreeTaskQueueCore.REMOVE_FROZEN) {
|
||||
return (Runnable) removeFirstOrNull;
|
||||
}
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater3 = _queue$volatile$FU;
|
||||
LockFreeTaskQueueCore next = lockFreeTaskQueueCore.next();
|
||||
while (!atomicReferenceFieldUpdater3.compareAndSet(this, obj, next) && atomicReferenceFieldUpdater3.get(this) == obj) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final boolean enqueueImpl(Runnable task) {
|
||||
Symbol symbol;
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _queue$volatile$FU;
|
||||
while (true) {
|
||||
Object obj = atomicReferenceFieldUpdater.get(this);
|
||||
if (isCompleted()) {
|
||||
return false;
|
||||
}
|
||||
if (obj == null) {
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater2 = _queue$volatile$FU;
|
||||
while (!atomicReferenceFieldUpdater2.compareAndSet(this, null, task)) {
|
||||
if (atomicReferenceFieldUpdater2.get(this) != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof LockFreeTaskQueueCore)) {
|
||||
symbol = EventLoop_commonKt.CLOSED_EMPTY;
|
||||
if (obj == symbol) {
|
||||
return false;
|
||||
}
|
||||
LockFreeTaskQueueCore lockFreeTaskQueueCore = new LockFreeTaskQueueCore(8, true);
|
||||
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }");
|
||||
lockFreeTaskQueueCore.addLast((Runnable) obj);
|
||||
lockFreeTaskQueueCore.addLast(task);
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater3 = _queue$volatile$FU;
|
||||
while (!atomicReferenceFieldUpdater3.compareAndSet(this, obj, lockFreeTaskQueueCore)) {
|
||||
if (atomicReferenceFieldUpdater3.get(this) != obj) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Intrinsics.checkNotNull(obj, "null cannot be cast to non-null type kotlinx.coroutines.internal.LockFreeTaskQueueCore<java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }>{ kotlinx.coroutines.EventLoop_commonKt.Queue<java.lang.Runnable{ kotlinx.coroutines.RunnableKt.Runnable }> }");
|
||||
LockFreeTaskQueueCore lockFreeTaskQueueCore2 = (LockFreeTaskQueueCore) obj;
|
||||
int addLast = lockFreeTaskQueueCore2.addLast(task);
|
||||
if (addLast == 0) {
|
||||
return true;
|
||||
}
|
||||
if (addLast == 1) {
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater4 = _queue$volatile$FU;
|
||||
LockFreeTaskQueueCore next = lockFreeTaskQueueCore2.next();
|
||||
while (!atomicReferenceFieldUpdater4.compareAndSet(this, obj, next) && atomicReferenceFieldUpdater4.get(this) == obj) {
|
||||
}
|
||||
} else if (addLast == 2) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final /* synthetic */ Object get_delayed$volatile() {
|
||||
return this._delayed$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ int get_isCompleted$volatile() {
|
||||
return this._isCompleted$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ Object get_queue$volatile() {
|
||||
return this._queue$volatile;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public final boolean isCompleted() {
|
||||
return _isCompleted$volatile$FU.get(this) != 0;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void loop$atomicfu(Object obj, AtomicReferenceFieldUpdater atomicReferenceFieldUpdater, Function1<Object, Unit> function1) {
|
||||
while (true) {
|
||||
function1.invoke(atomicReferenceFieldUpdater.get(obj));
|
||||
}
|
||||
}
|
||||
|
||||
private final void rescheduleAllDelayed() {
|
||||
DelayedTask removeFirstOrNull;
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
long nanoTime = timeSource != null ? timeSource.nanoTime() : System.nanoTime();
|
||||
while (true) {
|
||||
DelayedTaskQueue delayedTaskQueue = (DelayedTaskQueue) _delayed$volatile$FU.get(this);
|
||||
if (delayedTaskQueue == null || (removeFirstOrNull = delayedTaskQueue.removeFirstOrNull()) == null) {
|
||||
return;
|
||||
} else {
|
||||
reschedule(nanoTime, removeFirstOrNull);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final int scheduleImpl(long now, DelayedTask delayedTask) {
|
||||
if (isCompleted()) {
|
||||
return 1;
|
||||
}
|
||||
DelayedTaskQueue delayedTaskQueue = (DelayedTaskQueue) _delayed$volatile$FU.get(this);
|
||||
if (delayedTaskQueue == null) {
|
||||
AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _delayed$volatile$FU;
|
||||
DelayedTaskQueue delayedTaskQueue2 = new DelayedTaskQueue(now);
|
||||
while (!atomicReferenceFieldUpdater.compareAndSet(this, null, delayedTaskQueue2) && atomicReferenceFieldUpdater.get(this) == null) {
|
||||
}
|
||||
Object obj = _delayed$volatile$FU.get(this);
|
||||
Intrinsics.checkNotNull(obj);
|
||||
delayedTaskQueue = (DelayedTaskQueue) obj;
|
||||
}
|
||||
return delayedTask.scheduleTask(now, delayedTaskQueue, this);
|
||||
}
|
||||
|
||||
private final void setCompleted(boolean z3) {
|
||||
_isCompleted$volatile$FU.set(this, z3 ? 1 : 0);
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_delayed$volatile(Object obj) {
|
||||
this._delayed$volatile = obj;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_isCompleted$volatile(int i) {
|
||||
this._isCompleted$volatile = i;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_queue$volatile(Object obj) {
|
||||
this._queue$volatile = obj;
|
||||
}
|
||||
|
||||
private final boolean shouldUnpark(DelayedTask task) {
|
||||
DelayedTaskQueue delayedTaskQueue = (DelayedTaskQueue) _delayed$volatile$FU.get(this);
|
||||
return (delayedTaskQueue != null ? delayedTaskQueue.peek() : null) == task;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Delay
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Deprecated without replacement as an internal method never intended for public use")
|
||||
public Object delay(long j4, Continuation<? super Unit> continuation) {
|
||||
return Delay.DefaultImpls.delay(this, j4, continuation);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineDispatcher
|
||||
/* renamed from: dispatch */
|
||||
public final void mo1685dispatch(CoroutineContext context, Runnable block) {
|
||||
enqueue(block);
|
||||
}
|
||||
|
||||
public void enqueue(Runnable task) {
|
||||
if (enqueueImpl(task)) {
|
||||
unpark();
|
||||
} else {
|
||||
DefaultExecutor.INSTANCE.enqueue(task);
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:8:0x001f, code lost:
|
||||
|
||||
if (((kotlinx.coroutines.internal.LockFreeTaskQueueCore) r0).isEmpty() == false) goto L15;
|
||||
*/
|
||||
@Override // kotlinx.coroutines.EventLoop
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public long getNextTime() {
|
||||
/*
|
||||
r4 = this;
|
||||
long r0 = super.getNextTime()
|
||||
r2 = 0
|
||||
int r0 = (r0 > r2 ? 1 : (r0 == r2 ? 0 : -1))
|
||||
if (r0 != 0) goto Lb
|
||||
goto L29
|
||||
Lb:
|
||||
java.util.concurrent.atomic.AtomicReferenceFieldUpdater r0 = get_queue$volatile$FU()
|
||||
java.lang.Object r0 = r0.get(r4)
|
||||
if (r0 == 0) goto L2a
|
||||
boolean r1 = r0 instanceof kotlinx.coroutines.internal.LockFreeTaskQueueCore
|
||||
if (r1 == 0) goto L22
|
||||
kotlinx.coroutines.internal.LockFreeTaskQueueCore r0 = (kotlinx.coroutines.internal.LockFreeTaskQueueCore) r0
|
||||
boolean r0 = r0.isEmpty()
|
||||
if (r0 != 0) goto L2a
|
||||
goto L29
|
||||
L22:
|
||||
kotlinx.coroutines.internal.Symbol r4 = kotlinx.coroutines.EventLoop_commonKt.access$getCLOSED_EMPTY$p()
|
||||
if (r0 != r4) goto L29
|
||||
goto L56
|
||||
L29:
|
||||
return r2
|
||||
L2a:
|
||||
java.util.concurrent.atomic.AtomicReferenceFieldUpdater r0 = get_delayed$volatile$FU()
|
||||
java.lang.Object r4 = r0.get(r4)
|
||||
kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue r4 = (kotlinx.coroutines.EventLoopImplBase.DelayedTaskQueue) r4
|
||||
if (r4 == 0) goto L56
|
||||
kotlinx.coroutines.internal.ThreadSafeHeapNode r4 = r4.peek()
|
||||
kotlinx.coroutines.EventLoopImplBase$DelayedTask r4 = (kotlinx.coroutines.EventLoopImplBase.DelayedTask) r4
|
||||
if (r4 != 0) goto L3f
|
||||
goto L56
|
||||
L3f:
|
||||
long r0 = r4.nanoTime
|
||||
kotlinx.coroutines.AbstractTimeSource r4 = kotlinx.coroutines.AbstractTimeSourceKt.getTimeSource()
|
||||
if (r4 == 0) goto L4c
|
||||
long r2 = r4.nanoTime()
|
||||
goto L50
|
||||
L4c:
|
||||
long r2 = java.lang.System.nanoTime()
|
||||
L50:
|
||||
long r0 = r0 - r2
|
||||
long r0 = kotlin.ranges.RangesKt.a(r0)
|
||||
return r0
|
||||
L56:
|
||||
r0 = 9223372036854775807(0x7fffffffffffffff, double:NaN)
|
||||
return r0
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.EventLoopImplBase.getNextTime():long");
|
||||
}
|
||||
|
||||
public DisposableHandle invokeOnTimeout(long j4, Runnable runnable, CoroutineContext coroutineContext) {
|
||||
return Delay.DefaultImpls.invokeOnTimeout(this, j4, runnable, coroutineContext);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoop
|
||||
public boolean isEmpty() {
|
||||
Symbol symbol;
|
||||
if (!isUnconfinedQueueEmpty()) {
|
||||
return false;
|
||||
}
|
||||
DelayedTaskQueue delayedTaskQueue = (DelayedTaskQueue) _delayed$volatile$FU.get(this);
|
||||
if (delayedTaskQueue != null && !delayedTaskQueue.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
Object obj = _queue$volatile$FU.get(this);
|
||||
if (obj == null) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof LockFreeTaskQueueCore) {
|
||||
return ((LockFreeTaskQueueCore) obj).isEmpty();
|
||||
}
|
||||
symbol = EventLoop_commonKt.CLOSED_EMPTY;
|
||||
return obj == symbol;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoop
|
||||
public long processNextEvent() {
|
||||
DelayedTask delayedTask;
|
||||
if (processUnconfinedEvent()) {
|
||||
return 0L;
|
||||
}
|
||||
DelayedTaskQueue delayedTaskQueue = (DelayedTaskQueue) _delayed$volatile$FU.get(this);
|
||||
if (delayedTaskQueue != null && !delayedTaskQueue.isEmpty()) {
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
long nanoTime = timeSource != null ? timeSource.nanoTime() : System.nanoTime();
|
||||
do {
|
||||
synchronized (delayedTaskQueue) {
|
||||
try {
|
||||
DelayedTask firstImpl = delayedTaskQueue.firstImpl();
|
||||
if (firstImpl != null) {
|
||||
DelayedTask delayedTask2 = firstImpl;
|
||||
delayedTask = delayedTask2.timeToExecute(nanoTime) ? enqueueImpl(delayedTask2) : false ? delayedTaskQueue.removeAtImpl(0) : null;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
} while (delayedTask != null);
|
||||
}
|
||||
Runnable dequeue = dequeue();
|
||||
if (dequeue == null) {
|
||||
return getNextTime();
|
||||
}
|
||||
dequeue.run();
|
||||
return 0L;
|
||||
}
|
||||
|
||||
public final void resetAll() {
|
||||
_queue$volatile$FU.set(this, null);
|
||||
_delayed$volatile$FU.set(this, null);
|
||||
}
|
||||
|
||||
public final void schedule(long now, DelayedTask delayedTask) {
|
||||
int scheduleImpl = scheduleImpl(now, delayedTask);
|
||||
if (scheduleImpl == 0) {
|
||||
if (shouldUnpark(delayedTask)) {
|
||||
unpark();
|
||||
}
|
||||
} else if (scheduleImpl == 1) {
|
||||
reschedule(now, delayedTask);
|
||||
} else if (scheduleImpl != 2) {
|
||||
throw new IllegalStateException("unexpected result");
|
||||
}
|
||||
}
|
||||
|
||||
public final DisposableHandle scheduleInvokeOnTimeout(long timeMillis, Runnable block) {
|
||||
long delayToNanos = EventLoop_commonKt.delayToNanos(timeMillis);
|
||||
if (delayToNanos >= DurationKt.MAX_MILLIS) {
|
||||
return NonDisposableHandle.INSTANCE;
|
||||
}
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
long nanoTime = timeSource != null ? timeSource.nanoTime() : System.nanoTime();
|
||||
DelayedRunnableTask delayedRunnableTask = new DelayedRunnableTask(delayToNanos + nanoTime, block);
|
||||
schedule(nanoTime, delayedRunnableTask);
|
||||
return delayedRunnableTask;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Delay
|
||||
/* renamed from: scheduleResumeAfterDelay */
|
||||
public void mo1686scheduleResumeAfterDelay(long timeMillis, CancellableContinuation<? super Unit> continuation) {
|
||||
long delayToNanos = EventLoop_commonKt.delayToNanos(timeMillis);
|
||||
if (delayToNanos < DurationKt.MAX_MILLIS) {
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
long nanoTime = timeSource != null ? timeSource.nanoTime() : System.nanoTime();
|
||||
DelayedResumeTask delayedResumeTask = new DelayedResumeTask(delayToNanos + nanoTime, continuation);
|
||||
schedule(nanoTime, delayedResumeTask);
|
||||
CancellableContinuationKt.disposeOnCancellation(continuation, delayedResumeTask);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.EventLoop
|
||||
public void shutdown() {
|
||||
ThreadLocalEventLoop.INSTANCE.resetEventLoop$kotlinx_coroutines_core();
|
||||
setCompleted(true);
|
||||
closeQueue();
|
||||
do {
|
||||
} while (processNextEvent() <= 0);
|
||||
rescheduleAllDelayed();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.locks.LockSupport;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlinx.coroutines.EventLoopImplBase;
|
||||
|
||||
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0018\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fH\u0014J\b\u0010\r\u001a\u00020\bH\u0004R\u0012\u0010\u0003\u001a\u00020\u0004X¤\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000e"}, d2 = {"Lkotlinx/coroutines/EventLoopImplPlatform;", "Lkotlinx/coroutines/EventLoop;", "()V", "thread", "Ljava/lang/Thread;", "getThread", "()Ljava/lang/Thread;", "reschedule", "", "now", "", "delayedTask", "Lkotlinx/coroutines/EventLoopImplBase$DelayedTask;", "unpark", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class EventLoopImplPlatform extends EventLoop {
|
||||
public abstract Thread getThread();
|
||||
|
||||
public void reschedule(long now, EventLoopImplBase.DelayedTask delayedTask) {
|
||||
DefaultExecutor.INSTANCE.schedule(now, delayedTask);
|
||||
}
|
||||
|
||||
public final void unpark() {
|
||||
Unit unit;
|
||||
Thread thread = getThread();
|
||||
if (Thread.currentThread() != thread) {
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
timeSource.unpark(thread);
|
||||
unit = Unit.INSTANCE;
|
||||
} else {
|
||||
unit = null;
|
||||
}
|
||||
if (unit == null) {
|
||||
LockSupport.unpark(thread);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
47
apk_decompiled/sources/kotlinx/coroutines/EventLoopKt.java
Normal file
47
apk_decompiled/sources/kotlinx/coroutines/EventLoopKt.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlinx.coroutines.scheduling.CoroutineScheduler;
|
||||
|
||||
@Metadata(d1 = {"\u0000&\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0000\u001a\b\u0010\u0000\u001a\u00020\u0001H\u0000\u001a\u0019\u0010\u0002\u001a\u00020\u00032\u000e\b\u0004\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00030\u0005H\u0080\b\u001a\b\u0010\u0006\u001a\u00020\u0007H\u0007\u001a\b\u0010\b\u001a\u00020\u0007H\u0001\u001a\f\u0010\t\u001a\u00020\n*\u00020\u000bH\u0001¨\u0006\f"}, d2 = {"createEventLoop", "Lkotlinx/coroutines/EventLoop;", "platformAutoreleasePool", "", "block", "Lkotlin/Function0;", "processNextEventInCurrentThread", "", "runSingleTaskFromCurrentSystemDispatcher", "isIoDispatcherThread", "", "Ljava/lang/Thread;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EventLoopKt {
|
||||
public static final EventLoop createEventLoop() {
|
||||
return new BlockingEventLoop(Thread.currentThread());
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@PublishedApi
|
||||
@DelicateCoroutinesApi
|
||||
public static final boolean isIoDispatcherThread(Thread thread) {
|
||||
if (thread instanceof CoroutineScheduler.Worker) {
|
||||
return ((CoroutineScheduler.Worker) thread).isIo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static final void platformAutoreleasePool(Function0<Unit> function0) {
|
||||
function0.invoke();
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static final long processNextEventInCurrentThread() {
|
||||
EventLoop currentOrNull$kotlinx_coroutines_core = ThreadLocalEventLoop.INSTANCE.currentOrNull$kotlinx_coroutines_core();
|
||||
return currentOrNull$kotlinx_coroutines_core != null ? currentOrNull$kotlinx_coroutines_core.processNextEvent() : LongCompanionObject.MAX_VALUE;
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
@PublishedApi
|
||||
@DelicateCoroutinesApi
|
||||
public static final long runSingleTaskFromCurrentSystemDispatcher() {
|
||||
Thread currentThread = Thread.currentThread();
|
||||
if (currentThread instanceof CoroutineScheduler.Worker) {
|
||||
return ((CoroutineScheduler.Worker) currentThread).runSingleTask();
|
||||
}
|
||||
throw new IllegalStateException("Expected CoroutineScheduler.Worker, but got " + currentThread);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.LongCompanionObject;
|
||||
import kotlinx.coroutines.internal.Symbol;
|
||||
|
||||
@Metadata(d1 = {"\u0000 \n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\b\n\u0002\u0018\u0002\n\u0000\u001a\u0010\u0010\u000b\u001a\u00020\u00042\u0006\u0010\f\u001a\u00020\u0004H\u0000\u001a\u0010\u0010\r\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u0004H\u0000\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0005\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0006\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0007\u001a\u00020\bX\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\t\u001a\u00020\bX\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\n\u001a\u00020\bX\u0082T¢\u0006\u0002\n\u0000*\u001e\b\u0002\u0010\u000f\u001a\u0004\b\u0000\u0010\u0010\"\b\u0012\u0004\u0012\u0002H\u00100\u00112\b\u0012\u0004\u0012\u0002H\u00100\u0011¨\u0006\u0012"}, d2 = {"CLOSED_EMPTY", "Lkotlinx/coroutines/internal/Symbol;", "DISPOSED_TASK", "MAX_DELAY_NS", "", "MAX_MS", "MS_TO_NS", "SCHEDULE_COMPLETED", "", "SCHEDULE_DISPOSED", "SCHEDULE_OK", "delayNanosToMillis", "timeNanos", "delayToNanos", "timeMillis", "Queue", "T", "Lkotlinx/coroutines/internal/LockFreeTaskQueueCore;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EventLoop_commonKt {
|
||||
private static final long MAX_DELAY_NS = 4611686018427387903L;
|
||||
private static final long MAX_MS = 9223372036854L;
|
||||
private static final long MS_TO_NS = 1000000;
|
||||
private static final int SCHEDULE_COMPLETED = 1;
|
||||
private static final int SCHEDULE_DISPOSED = 2;
|
||||
private static final int SCHEDULE_OK = 0;
|
||||
private static final Symbol DISPOSED_TASK = new Symbol("REMOVED_TASK");
|
||||
private static final Symbol CLOSED_EMPTY = new Symbol("CLOSED_EMPTY");
|
||||
|
||||
public static final long delayNanosToMillis(long j4) {
|
||||
return j4 / MS_TO_NS;
|
||||
}
|
||||
|
||||
public static final long delayToNanos(long j4) {
|
||||
if (j4 <= 0) {
|
||||
return 0L;
|
||||
}
|
||||
return j4 >= MAX_MS ? LongCompanionObject.MAX_VALUE : j4 * MS_TO_NS;
|
||||
}
|
||||
}
|
||||
20
apk_decompiled/sources/kotlinx/coroutines/ExceptionsKt.java
Normal file
20
apk_decompiled/sources/kotlinx/coroutines/ExceptionsKt.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000 \n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0002\u001a\u001e\u0010\u0000\u001a\u00060\u0001j\u0002`\u00022\b\u0010\u0003\u001a\u0004\u0018\u00010\u00042\b\u0010\u0005\u001a\u0004\u0018\u00010\u0006\u001a\u0015\u0010\u0007\u001a\u00020\b*\u00020\u00062\u0006\u0010\t\u001a\u00020\u0006H\u0080\b*\n\u0010\u0000\"\u00020\u00012\u00020\u0001¨\u0006\n"}, d2 = {"CancellationException", "Ljava/util/concurrent/CancellationException;", "Lkotlinx/coroutines/CancellationException;", "message", "", "cause", "", "addSuppressedThrowable", "", "other", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nExceptions.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Exceptions.kt\nkotlinx/coroutines/ExceptionsKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,75:1\n1#2:76\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ExceptionsKt {
|
||||
public static final CancellationException CancellationException(String str, Throwable th) {
|
||||
CancellationException cancellationException = new CancellationException(str);
|
||||
cancellationException.initCause(th);
|
||||
return cancellationException;
|
||||
}
|
||||
|
||||
public static final void addSuppressedThrowable(Throwable th, Throwable th2) {
|
||||
kotlin.ExceptionsKt.addSuppressed(th, th2);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.util.concurrent.Executor;
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0002\b&\u0018\u0000 \n2\u00020\u00012\u00020\u0002:\u0001\nB\u0005¢\u0006\u0002\u0010\u0003J\b\u0010\b\u001a\u00020\tH&R\u0012\u0010\u0004\u001a\u00020\u0005X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0007¨\u0006\u000b"}, d2 = {"Lkotlinx/coroutines/ExecutorCoroutineDispatcher;", "Lkotlinx/coroutines/CoroutineDispatcher;", "Ljava/io/Closeable;", "()V", "executor", "Ljava/util/concurrent/Executor;", "getExecutor", "()Ljava/util/concurrent/Executor;", "close", "", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class ExecutorCoroutineDispatcher extends CoroutineDispatcher implements Closeable {
|
||||
@Override // java.io.Closeable, java.lang.AutoCloseable
|
||||
public abstract void close();
|
||||
|
||||
public abstract Executor getExecutor();
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.RejectedExecutionException;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlinx.coroutines.Delay;
|
||||
import kotlinx.coroutines.internal.ConcurrentKt;
|
||||
|
||||
@Metadata(d1 = {"\u0000j\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\b\u0000\u0018\u00002\u00020\u00012\u00020\u0002B\r\u0012\u0006\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005J\u0018\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\rH\u0002J\b\u0010\u000e\u001a\u00020\tH\u0016J\u001c\u0010\u000f\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000b2\n\u0010\u0010\u001a\u00060\u0011j\u0002`\u0012H\u0016J\u0013\u0010\u0013\u001a\u00020\u00142\b\u0010\u0015\u001a\u0004\u0018\u00010\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016J$\u0010\u0019\u001a\u00020\u001a2\u0006\u0010\u001b\u001a\u00020\u001c2\n\u0010\u0010\u001a\u00060\u0011j\u0002`\u00122\u0006\u0010\n\u001a\u00020\u000bH\u0016J\u001e\u0010\u001d\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\u001c2\f\u0010\u001e\u001a\b\u0012\u0004\u0012\u00020\t0\u001fH\u0016J\b\u0010 \u001a\u00020!H\u0016J.\u0010\"\u001a\b\u0012\u0002\b\u0003\u0018\u00010#*\u00020$2\n\u0010\u0010\u001a\u00060\u0011j\u0002`\u00122\u0006\u0010\n\u001a\u00020\u000b2\u0006\u0010\u001b\u001a\u00020\u001cH\u0002R\u0014\u0010\u0003\u001a\u00020\u0004X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007¨\u0006%"}, d2 = {"Lkotlinx/coroutines/ExecutorCoroutineDispatcherImpl;", "Lkotlinx/coroutines/ExecutorCoroutineDispatcher;", "Lkotlinx/coroutines/Delay;", "executor", "Ljava/util/concurrent/Executor;", "(Ljava/util/concurrent/Executor;)V", "getExecutor", "()Ljava/util/concurrent/Executor;", "cancelJobOnRejection", "", "context", "Lkotlin/coroutines/CoroutineContext;", "exception", "Ljava/util/concurrent/RejectedExecutionException;", "close", "dispatch", "block", "Ljava/lang/Runnable;", "Lkotlinx/coroutines/Runnable;", "equals", "", "other", "", "hashCode", "", "invokeOnTimeout", "Lkotlinx/coroutines/DisposableHandle;", "timeMillis", "", "scheduleResumeAfterDelay", "continuation", "Lkotlinx/coroutines/CancellableContinuation;", "toString", "", "scheduleBlock", "Ljava/util/concurrent/ScheduledFuture;", "Ljava/util/concurrent/ScheduledExecutorService;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ExecutorCoroutineDispatcherImpl extends ExecutorCoroutineDispatcher implements Delay {
|
||||
private final Executor executor;
|
||||
|
||||
public ExecutorCoroutineDispatcherImpl(Executor executor) {
|
||||
this.executor = executor;
|
||||
ConcurrentKt.removeFutureOnCancel(getExecutor());
|
||||
}
|
||||
|
||||
private final void cancelJobOnRejection(CoroutineContext context, RejectedExecutionException exception) {
|
||||
JobKt.cancel(context, ExceptionsKt.CancellationException("The task was rejected", exception));
|
||||
}
|
||||
|
||||
private final ScheduledFuture<?> scheduleBlock(ScheduledExecutorService scheduledExecutorService, Runnable runnable, CoroutineContext coroutineContext, long j4) {
|
||||
try {
|
||||
return scheduledExecutorService.schedule(runnable, j4, TimeUnit.MILLISECONDS);
|
||||
} catch (RejectedExecutionException e4) {
|
||||
this.cancelJobOnRejection(coroutineContext, e4);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ExecutorCoroutineDispatcher, java.io.Closeable, java.lang.AutoCloseable
|
||||
public void close() {
|
||||
Executor executor = getExecutor();
|
||||
ExecutorService executorService = executor instanceof ExecutorService ? (ExecutorService) executor : null;
|
||||
if (executorService != null) {
|
||||
executorService.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Delay
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Deprecated without replacement as an internal method never intended for public use")
|
||||
public Object delay(long j4, Continuation<? super Unit> continuation) {
|
||||
return Delay.DefaultImpls.delay(this, j4, continuation);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineDispatcher
|
||||
/* renamed from: dispatch */
|
||||
public void mo1685dispatch(CoroutineContext context, Runnable block) {
|
||||
Runnable runnable;
|
||||
try {
|
||||
Executor executor = getExecutor();
|
||||
AbstractTimeSource timeSource = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource != null) {
|
||||
runnable = timeSource.wrapTask(block);
|
||||
if (runnable == null) {
|
||||
}
|
||||
executor.execute(runnable);
|
||||
}
|
||||
runnable = block;
|
||||
executor.execute(runnable);
|
||||
} catch (RejectedExecutionException e4) {
|
||||
AbstractTimeSource timeSource2 = AbstractTimeSourceKt.getTimeSource();
|
||||
if (timeSource2 != null) {
|
||||
timeSource2.unTrackTask();
|
||||
}
|
||||
cancelJobOnRejection(context, e4);
|
||||
Dispatchers.getIO().mo1685dispatch(context, block);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
return (other instanceof ExecutorCoroutineDispatcherImpl) && ((ExecutorCoroutineDispatcherImpl) other).getExecutor() == getExecutor();
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.ExecutorCoroutineDispatcher
|
||||
public Executor getExecutor() {
|
||||
return this.executor;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return System.identityHashCode(getExecutor());
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Delay
|
||||
public DisposableHandle invokeOnTimeout(long timeMillis, Runnable block, CoroutineContext context) {
|
||||
long j4;
|
||||
Runnable runnable;
|
||||
CoroutineContext coroutineContext;
|
||||
Executor executor = getExecutor();
|
||||
ScheduledFuture<?> scheduledFuture = null;
|
||||
ScheduledExecutorService scheduledExecutorService = executor instanceof ScheduledExecutorService ? (ScheduledExecutorService) executor : null;
|
||||
if (scheduledExecutorService != null) {
|
||||
j4 = timeMillis;
|
||||
runnable = block;
|
||||
coroutineContext = context;
|
||||
scheduledFuture = scheduleBlock(scheduledExecutorService, runnable, coroutineContext, j4);
|
||||
} else {
|
||||
j4 = timeMillis;
|
||||
runnable = block;
|
||||
coroutineContext = context;
|
||||
}
|
||||
return scheduledFuture != null ? new DisposableFutureHandle(scheduledFuture) : DefaultExecutor.INSTANCE.invokeOnTimeout(j4, runnable, coroutineContext);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Delay
|
||||
/* renamed from: scheduleResumeAfterDelay */
|
||||
public void mo1686scheduleResumeAfterDelay(long timeMillis, CancellableContinuation<? super Unit> continuation) {
|
||||
long j4;
|
||||
Executor executor = getExecutor();
|
||||
ScheduledFuture<?> scheduledFuture = null;
|
||||
ScheduledExecutorService scheduledExecutorService = executor instanceof ScheduledExecutorService ? (ScheduledExecutorService) executor : null;
|
||||
if (scheduledExecutorService != null) {
|
||||
j4 = timeMillis;
|
||||
scheduledFuture = scheduleBlock(scheduledExecutorService, new ResumeUndispatchedRunnable(this, continuation), continuation.getContext(), j4);
|
||||
} else {
|
||||
j4 = timeMillis;
|
||||
}
|
||||
if (scheduledFuture != null) {
|
||||
JobKt.cancelFutureOnCancellation(continuation, scheduledFuture);
|
||||
} else {
|
||||
DefaultExecutor.INSTANCE.mo1686scheduleResumeAfterDelay(j4, continuation);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineDispatcher
|
||||
public String toString() {
|
||||
return getExecutor().toString();
|
||||
}
|
||||
}
|
||||
33
apk_decompiled/sources/kotlinx/coroutines/ExecutorsKt.java
Normal file
33
apk_decompiled/sources/kotlinx/coroutines/ExecutorsKt.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmName;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\u001a\u0011\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\u0007¢\u0006\u0002\b\u0003\u001a\u0011\u0010\u0000\u001a\u00020\u0004*\u00020\u0005H\u0007¢\u0006\u0002\b\u0003\u001a\n\u0010\u0006\u001a\u00020\u0002*\u00020\u0001*\u0010\b\u0007\u0010\u0007\"\u00020\u00042\u00020\u0004B\u0002\b\b¨\u0006\t"}, d2 = {"asCoroutineDispatcher", "Lkotlinx/coroutines/CoroutineDispatcher;", "Ljava/util/concurrent/Executor;", Constants.MessagePayloadKeys.FROM, "Lkotlinx/coroutines/ExecutorCoroutineDispatcher;", "Ljava/util/concurrent/ExecutorService;", "asExecutor", "CloseableCoroutineDispatcher", "Lkotlinx/coroutines/ExperimentalCoroutinesApi;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ExecutorsKt {
|
||||
@ExperimentalCoroutinesApi
|
||||
public static /* synthetic */ void CloseableCoroutineDispatcher$annotations() {
|
||||
}
|
||||
|
||||
public static final Executor asExecutor(CoroutineDispatcher coroutineDispatcher) {
|
||||
Executor executor;
|
||||
ExecutorCoroutineDispatcher executorCoroutineDispatcher = coroutineDispatcher instanceof ExecutorCoroutineDispatcher ? (ExecutorCoroutineDispatcher) coroutineDispatcher : null;
|
||||
return (executorCoroutineDispatcher == null || (executor = executorCoroutineDispatcher.getExecutor()) == null) ? new DispatcherExecutor(coroutineDispatcher) : executor;
|
||||
}
|
||||
|
||||
@JvmName(name = Constants.MessagePayloadKeys.FROM)
|
||||
public static final ExecutorCoroutineDispatcher from(ExecutorService executorService) {
|
||||
return new ExecutorCoroutineDispatcherImpl(executorService);
|
||||
}
|
||||
|
||||
@JvmName(name = Constants.MessagePayloadKeys.FROM)
|
||||
public static final CoroutineDispatcher from(Executor executor) {
|
||||
CoroutineDispatcher coroutineDispatcher;
|
||||
DispatcherExecutor dispatcherExecutor = executor instanceof DispatcherExecutor ? (DispatcherExecutor) executor : null;
|
||||
return (dispatcherExecutor == null || (coroutineDispatcher = dispatcherExecutor.dispatcher) == null) ? new ExecutorCoroutineDispatcherImpl(executor) : coroutineDispatcher;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.RequiresOptIn;
|
||||
import kotlin.annotation.AnnotationRetention;
|
||||
import kotlin.annotation.AnnotationTarget;
|
||||
import kotlin.annotation.MustBeDocumented;
|
||||
|
||||
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE, ElementType.ANNOTATION_TYPE})
|
||||
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS})
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.BINARY)
|
||||
@MustBeDocumented
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlinx/coroutines/ExperimentalCoroutinesApi;", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@Documented
|
||||
/* loaded from: classes3.dex */
|
||||
public @interface ExperimentalCoroutinesApi {
|
||||
}
|
||||
24
apk_decompiled/sources/kotlinx/coroutines/FlowPreview.java
Normal file
24
apk_decompiled/sources/kotlinx/coroutines/FlowPreview.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.RequiresOptIn;
|
||||
import kotlin.annotation.AnnotationRetention;
|
||||
import kotlin.annotation.AnnotationTarget;
|
||||
import kotlin.annotation.MustBeDocumented;
|
||||
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This declaration is in a preview state and can be changed in a backwards-incompatible manner with a best-effort migration. Its usage should be marked with '@kotlinx.coroutines.FlowPreview' or '@OptIn(kotlinx.coroutines.FlowPreview::class)' if you accept the drawback of relying on preview API")
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.TYPEALIAS, AnnotationTarget.PROPERTY})
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.BINARY)
|
||||
@MustBeDocumented
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlinx/coroutines/FlowPreview;", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@Documented
|
||||
/* loaded from: classes3.dex */
|
||||
public @interface FlowPreview {
|
||||
}
|
||||
20
apk_decompiled/sources/kotlinx/coroutines/GlobalScope.java
Normal file
20
apk_decompiled/sources/kotlinx/coroutines/GlobalScope.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\bÇ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlinx/coroutines/GlobalScope;", "Lkotlinx/coroutines/CoroutineScope;", "()V", "coroutineContext", "Lkotlin/coroutines/CoroutineContext;", "getCoroutineContext", "()Lkotlin/coroutines/CoroutineContext;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@DelicateCoroutinesApi
|
||||
/* loaded from: classes3.dex */
|
||||
public final class GlobalScope implements CoroutineScope {
|
||||
public static final GlobalScope INSTANCE = new GlobalScope();
|
||||
|
||||
private GlobalScope() {
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CoroutineScope
|
||||
public CoroutineContext getCoroutineContext() {
|
||||
return EmptyCoroutineContext.INSTANCE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\b\u0010\n\u001a\u00020\u000bH\u0016R\u0014\u0010\u0005\u001a\u00020\u00068VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0007R\u0014\u0010\u0002\u001a\u00020\u0003X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\t¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/InactiveNodeList;", "Lkotlinx/coroutines/Incomplete;", "list", "Lkotlinx/coroutines/NodeList;", "(Lkotlinx/coroutines/NodeList;)V", "isActive", "", "()Z", "getList", "()Lkotlinx/coroutines/NodeList;", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InactiveNodeList implements Incomplete {
|
||||
private final NodeList list;
|
||||
|
||||
public InactiveNodeList(NodeList nodeList) {
|
||||
this.list = nodeList;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Incomplete
|
||||
public NodeList getList() {
|
||||
return this.list;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.Incomplete
|
||||
public boolean isActive() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return super.toString();
|
||||
}
|
||||
}
|
||||
11
apk_decompiled/sources/kotlinx/coroutines/Incomplete.java
Normal file
11
apk_decompiled/sources/kotlinx/coroutines/Incomplete.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b`\u0018\u00002\u00020\u0001R\u0012\u0010\u0002\u001a\u00020\u0003X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0002\u0010\u0004R\u0014\u0010\u0005\u001a\u0004\u0018\u00010\u0006X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\b¨\u0006\t"}, d2 = {"Lkotlinx/coroutines/Incomplete;", "", "isActive", "", "()Z", "list", "Lkotlinx/coroutines/NodeList;", "getList", "()Lkotlinx/coroutines/NodeList;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Incomplete {
|
||||
NodeList getList();
|
||||
|
||||
boolean isActive();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmField;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0002\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004R\u0010\u0010\u0002\u001a\u00020\u00038\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlinx/coroutines/IncompleteStateBox;", "", RemoteConfigConstants.ResponseFieldKey.STATE, "Lkotlinx/coroutines/Incomplete;", "(Lkotlinx/coroutines/Incomplete;)V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class IncompleteStateBox {
|
||||
|
||||
@JvmField
|
||||
public final Incomplete state;
|
||||
|
||||
public IncompleteStateBox(Incomplete incomplete) {
|
||||
this.state = incomplete;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.RequiresOptIn;
|
||||
import kotlin.annotation.AnnotationRetention;
|
||||
import kotlin.annotation.AnnotationTarget;
|
||||
|
||||
@Target({ElementType.TYPE, ElementType.METHOD})
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlinx/coroutines/InternalCoroutinesApi;", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@RequiresOptIn(level = RequiresOptIn.Level.ERROR, message = "This is an internal kotlinx.coroutines API that should not be used from outside of kotlinx.coroutines. No compatibility guarantees are provided. It is recommended to report your use-case of internal API to kotlinx.coroutines issue tracker, so stable API could be provided instead")
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.TYPEALIAS, AnnotationTarget.PROPERTY})
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.BINARY)
|
||||
/* loaded from: classes3.dex */
|
||||
public @interface InternalCoroutinesApi {
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.coroutines.jvm.internal.SuspendLambda;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
/* JADX INFO: Add missing generic type declarations: [T] */
|
||||
@Metadata(d1 = {"\u0000\b\n\u0002\b\u0002\n\u0002\u0018\u0002\u0010\u0000\u001a\u0002H\u0001\"\u0004\b\u0000\u0010\u0001*\u00020\u0002H\u008a@"}, d2 = {"<anonymous>", "T", "Lkotlinx/coroutines/CoroutineScope;"}, k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@DebugMetadata(c = "kotlinx.coroutines.InterruptibleKt$runInterruptible$2", f = "Interruptible.kt", i = {}, l = {}, m = "invokeSuspend", n = {}, s = {})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InterruptibleKt$runInterruptible$2<T> extends SuspendLambda implements Function2<CoroutineScope, Continuation<? super T>, Object> {
|
||||
final /* synthetic */ Function0<T> $block;
|
||||
private /* synthetic */ Object L$0;
|
||||
int label;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public InterruptibleKt$runInterruptible$2(Function0<? extends T> function0, Continuation<? super InterruptibleKt$runInterruptible$2> continuation) {
|
||||
super(2, continuation);
|
||||
this.$block = function0;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation<Unit> create(Object obj, Continuation<?> continuation) {
|
||||
InterruptibleKt$runInterruptible$2 interruptibleKt$runInterruptible$2 = new InterruptibleKt$runInterruptible$2(this.$block, continuation);
|
||||
interruptibleKt$runInterruptible$2.L$0 = obj;
|
||||
return interruptibleKt$runInterruptible$2;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
Object runInterruptibleInExpectedContext;
|
||||
IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
if (this.label != 0) {
|
||||
throw new IllegalStateException("call to 'resume' before 'invoke' with coroutine");
|
||||
}
|
||||
ResultKt.throwOnFailure(obj);
|
||||
runInterruptibleInExpectedContext = InterruptibleKt.runInterruptibleInExpectedContext(((CoroutineScope) this.L$0).getCoroutineContext(), this.$block);
|
||||
return runInterruptibleInExpectedContext;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(CoroutineScope coroutineScope, Continuation<? super T> continuation) {
|
||||
return ((InterruptibleKt$runInterruptible$2) create(coroutineScope, continuation)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.coroutines.EmptyCoroutineContext;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0018\n\u0000\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\u001a,\u0010\u0005\u001a\u0002H\u0006\"\u0004\b\u0000\u0010\u00062\b\b\u0002\u0010\u0007\u001a\u00020\b2\f\u0010\t\u001a\b\u0012\u0004\u0012\u0002H\u00060\nH\u0086@¢\u0006\u0002\u0010\u000b\u001a)\u0010\f\u001a\u0002H\u0006\"\u0004\b\u0000\u0010\u00062\u0006\u0010\r\u001a\u00020\b2\f\u0010\t\u001a\b\u0012\u0004\u0012\u0002H\u00060\nH\u0002¢\u0006\u0002\u0010\u000e\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0004\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u000f"}, d2 = {"FINISHED", "", "INTERRUPTED", "INTERRUPTING", "WORKING", "runInterruptible", "T", "context", "Lkotlin/coroutines/CoroutineContext;", "block", "Lkotlin/Function0;", "(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "runInterruptibleInExpectedContext", "coroutineContext", "(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InterruptibleKt {
|
||||
private static final int FINISHED = 1;
|
||||
private static final int INTERRUPTED = 3;
|
||||
private static final int INTERRUPTING = 2;
|
||||
private static final int WORKING = 0;
|
||||
|
||||
public static final <T> Object runInterruptible(CoroutineContext coroutineContext, Function0<? extends T> function0, Continuation<? super T> continuation) {
|
||||
return BuildersKt.withContext(coroutineContext, new InterruptibleKt$runInterruptible$2(function0, null), continuation);
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object runInterruptible$default(CoroutineContext coroutineContext, Function0 function0, Continuation continuation, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
coroutineContext = EmptyCoroutineContext.INSTANCE;
|
||||
}
|
||||
return runInterruptible(coroutineContext, function0, continuation);
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static final <T> T runInterruptibleInExpectedContext(CoroutineContext coroutineContext, Function0<? extends T> function0) {
|
||||
try {
|
||||
ThreadState threadState = new ThreadState(JobKt.getJob(coroutineContext));
|
||||
threadState.setup();
|
||||
try {
|
||||
return function0.invoke();
|
||||
} finally {
|
||||
threadState.clearInterrupt();
|
||||
}
|
||||
} catch (InterruptedException e4) {
|
||||
throw new CancellationException("Blocking call was interrupted due to parent cancellation").initCause(e4);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\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\u0002\b\u0003\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\u00020\u0001B.\u0012'\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\t¢\u0006\u0002\u0010\nJ\u0013\u0010\u000b\u001a\u00020\b2\b\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0096\u0002J\b\u0010\f\u001a\u00020\rH\u0016R/\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\tX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lkotlinx/coroutines/InvokeOnCancel;", "Lkotlinx/coroutines/CancelHandler;", "handler", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "(Lkotlin/jvm/functions/Function1;)V", "invoke", "toString", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class InvokeOnCancel extends CancelHandler {
|
||||
private final Function1<Throwable, Unit> handler;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public InvokeOnCancel(Function1<? super Throwable, Unit> function1) {
|
||||
this.handler = function1;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "InvokeOnCancel[" + DebugStringsKt.getClassSimpleName(this.handler) + '@' + DebugStringsKt.getHexAddress(this) + ']';
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CancelHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
this.handler.invoke(cause);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000.\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\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\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0002\u0018\u00002\u00020\u0001B.\u0012'\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\t¢\u0006\u0002\u0010\nJ\u0013\u0010\r\u001a\u00020\b2\b\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0096\u0002R\t\u0010\u000b\u001a\u00020\fX\u0082\u0004R/\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\tX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lkotlinx/coroutines/InvokeOnCancelling;", "Lkotlinx/coroutines/JobCancellingNode;", "handler", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "(Lkotlin/jvm/functions/Function1;)V", "_invoked", "Lkotlinx/atomicfu/AtomicInt;", "invoke", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InvokeOnCancelling extends JobCancellingNode {
|
||||
private static final /* synthetic */ AtomicIntegerFieldUpdater _invoked$volatile$FU = AtomicIntegerFieldUpdater.newUpdater(InvokeOnCancelling.class, "_invoked$volatile");
|
||||
private volatile /* synthetic */ int _invoked$volatile;
|
||||
private final Function1<Throwable, Unit> handler;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public InvokeOnCancelling(Function1<? super Throwable, Unit> function1) {
|
||||
this.handler = function1;
|
||||
}
|
||||
|
||||
private final /* synthetic */ int get_invoked$volatile() {
|
||||
return this._invoked$volatile;
|
||||
}
|
||||
|
||||
private final /* synthetic */ void set_invoked$volatile(int i) {
|
||||
this._invoked$volatile = i;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
if (_invoked$volatile$FU.compareAndSet(this, 0, 1)) {
|
||||
this.handler.invoke(cause);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\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\u0002\b\u0003\b\u0002\u0018\u00002\u00020\u0001B.\u0012'\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\t¢\u0006\u0002\u0010\nJ\u0013\u0010\u000b\u001a\u00020\b2\b\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0096\u0002R/\u0010\u0002\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u0004¢\u0006\f\b\u0005\u0012\b\b\u0006\u0012\u0004\b\b(\u0007\u0012\u0004\u0012\u00020\b0\u0003j\u0002`\tX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\f"}, d2 = {"Lkotlinx/coroutines/InvokeOnCompletion;", "Lkotlinx/coroutines/JobNode;", "handler", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "cause", "", "Lkotlinx/coroutines/CompletionHandler;", "(Lkotlin/jvm/functions/Function1;)V", "invoke", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InvokeOnCompletion extends JobNode {
|
||||
private final Function1<Throwable, Unit> handler;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public InvokeOnCompletion(Function1<? super Throwable, Unit> function1) {
|
||||
this.handler = function1;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function1
|
||||
public /* bridge */ /* synthetic */ Unit invoke(Throwable th) {
|
||||
invoke2(th);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletionHandlerBase
|
||||
/* renamed from: invoke, reason: avoid collision after fix types in other method */
|
||||
public void invoke2(Throwable cause) {
|
||||
this.handler.invoke(cause);
|
||||
}
|
||||
}
|
||||
132
apk_decompiled/sources/kotlinx/coroutines/Job.java
Normal file
132
apk_decompiled/sources/kotlinx/coroutines/Job.java
Normal file
@@ -0,0 +1,132 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecationLevel;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.sequences.Sequence;
|
||||
import kotlinx.coroutines.selects.SelectClause0;
|
||||
|
||||
@Metadata(d1 = {"\u0000^\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\bf\u0018\u0000 -2\u00020\u0001:\u0001-J\u0010\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u0017H'J\b\u0010\u0018\u001a\u00020\u0019H\u0017J\u0014\u0010\u0018\u001a\u00020\u00072\n\b\u0002\u0010\u001a\u001a\u0004\u0018\u00010\u001bH'J\u001a\u0010\u0018\u001a\u00020\u00192\u0010\b\u0002\u0010\u001a\u001a\n\u0018\u00010\u001cj\u0004\u0018\u0001`\u001dH&J\f\u0010\u001e\u001a\u00060\u001cj\u0002`\u001dH'JE\u0010\u001f\u001a\u00020 2\b\b\u0002\u0010!\u001a\u00020\u00072\b\b\u0002\u0010\"\u001a\u00020\u00072'\u0010#\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u001b¢\u0006\f\b%\u0012\b\b&\u0012\u0004\b\b(\u001a\u0012\u0004\u0012\u00020\u00190$j\u0002`'H'J1\u0010\u001f\u001a\u00020 2'\u0010#\u001a#\u0012\u0015\u0012\u0013\u0018\u00010\u001b¢\u0006\f\b%\u0012\b\b&\u0012\u0004\b\b(\u001a\u0012\u0004\u0012\u00020\u00190$j\u0002`'H&J\u000e\u0010(\u001a\u00020\u0019H¦@¢\u0006\u0002\u0010)J\u0011\u0010*\u001a\u00020\u00002\u0006\u0010+\u001a\u00020\u0000H\u0097\u0002J\b\u0010,\u001a\u00020\u0007H&R\u0018\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00000\u0003X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0004\u0010\u0005R\u0012\u0010\u0006\u001a\u00020\u0007X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0006\u0010\bR\u0012\u0010\t\u001a\u00020\u0007X¦\u0004¢\u0006\u0006\u001a\u0004\b\t\u0010\bR\u0012\u0010\n\u001a\u00020\u0007X¦\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\bR\u0012\u0010\u000b\u001a\u00020\fX¦\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u000eR\u001c\u0010\u000f\u001a\u0004\u0018\u00010\u00008&X§\u0004¢\u0006\f\u0012\u0004\b\u0010\u0010\u0011\u001a\u0004\b\u0012\u0010\u0013¨\u0006."}, d2 = {"Lkotlinx/coroutines/Job;", "Lkotlin/coroutines/CoroutineContext$Element;", "children", "Lkotlin/sequences/Sequence;", "getChildren", "()Lkotlin/sequences/Sequence;", "isActive", "", "()Z", "isCancelled", "isCompleted", "onJoin", "Lkotlinx/coroutines/selects/SelectClause0;", "getOnJoin", "()Lkotlinx/coroutines/selects/SelectClause0;", "parent", "getParent$annotations", "()V", "getParent", "()Lkotlinx/coroutines/Job;", "attachChild", "Lkotlinx/coroutines/ChildHandle;", "child", "Lkotlinx/coroutines/ChildJob;", "cancel", "", "cause", "", "Ljava/util/concurrent/CancellationException;", "Lkotlinx/coroutines/CancellationException;", "getCancellationException", "invokeOnCompletion", "Lkotlinx/coroutines/DisposableHandle;", "onCancelling", "invokeImmediately", "handler", "Lkotlin/Function1;", "Lkotlin/ParameterName;", AppMeasurementSdk.ConditionalUserProperty.NAME, "Lkotlinx/coroutines/CompletionHandler;", "join", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "plus", "other", "start", "Key", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Job extends CoroutineContext.Element {
|
||||
|
||||
/* renamed from: Key, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = Companion.$$INSTANCE;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static /* synthetic */ void cancel$default(Job job, CancellationException cancellationException, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: cancel");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
cancellationException = null;
|
||||
}
|
||||
job.cancel(cancellationException);
|
||||
}
|
||||
|
||||
public static <R> R fold(Job job, R r4, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
|
||||
return (R) CoroutineContext.Element.DefaultImpls.fold(job, r4, function2);
|
||||
}
|
||||
|
||||
public static <E extends CoroutineContext.Element> E get(Job job, CoroutineContext.Key<E> key) {
|
||||
return (E) CoroutineContext.Element.DefaultImpls.get(job, key);
|
||||
}
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
public static /* synthetic */ void getParent$annotations() {
|
||||
}
|
||||
|
||||
public static /* synthetic */ DisposableHandle invokeOnCompletion$default(Job job, boolean z3, boolean z4, Function1 function1, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: invokeOnCompletion");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
z3 = false;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
z4 = true;
|
||||
}
|
||||
return job.invokeOnCompletion(z3, z4, function1);
|
||||
}
|
||||
|
||||
public static CoroutineContext minusKey(Job job, CoroutineContext.Key<?> key) {
|
||||
return CoroutineContext.Element.DefaultImpls.minusKey(job, key);
|
||||
}
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
public static Job plus(Job job, Job job2) {
|
||||
return job2;
|
||||
}
|
||||
|
||||
public static /* synthetic */ boolean cancel$default(Job job, Throwable th, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: cancel");
|
||||
}
|
||||
if ((i & 1) != 0) {
|
||||
th = null;
|
||||
}
|
||||
return job.cancel(th);
|
||||
}
|
||||
|
||||
public static CoroutineContext plus(Job job, CoroutineContext coroutineContext) {
|
||||
return CoroutineContext.Element.DefaultImpls.plus(job, coroutineContext);
|
||||
}
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0003¨\u0006\u0004"}, d2 = {"Lkotlinx/coroutines/Job$Key;", "Lkotlin/coroutines/CoroutineContext$Key;", "Lkotlinx/coroutines/Job;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* renamed from: kotlinx.coroutines.Job$Key, reason: from kotlin metadata */
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion implements CoroutineContext.Key<Job> {
|
||||
static final /* synthetic */ Companion $$INSTANCE = new Companion();
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
ChildHandle attachChild(ChildJob child);
|
||||
|
||||
@Deprecated(level = DeprecationLevel.HIDDEN, message = "Since 1.2.0, binary compatibility with versions <= 1.1.x")
|
||||
/* synthetic */ void cancel();
|
||||
|
||||
void cancel(CancellationException cause);
|
||||
|
||||
@Deprecated(level = DeprecationLevel.HIDDEN, message = "Since 1.2.0, binary compatibility with versions <= 1.1.x")
|
||||
/* synthetic */ boolean cancel(Throwable cause);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
CancellationException getCancellationException();
|
||||
|
||||
Sequence<Job> getChildren();
|
||||
|
||||
SelectClause0 getOnJoin();
|
||||
|
||||
Job getParent();
|
||||
|
||||
DisposableHandle invokeOnCompletion(Function1<? super Throwable, Unit> handler);
|
||||
|
||||
@InternalCoroutinesApi
|
||||
DisposableHandle invokeOnCompletion(boolean onCancelling, boolean invokeImmediately, Function1<? super Throwable, Unit> handler);
|
||||
|
||||
boolean isActive();
|
||||
|
||||
boolean isCancelled();
|
||||
|
||||
boolean isCompleted();
|
||||
|
||||
Object join(Continuation<? super Unit> continuation);
|
||||
|
||||
@Deprecated(level = DeprecationLevel.ERROR, message = "Operator '+' on two Job objects is meaningless. Job is a coroutine context element and `+` is a set-sum operator for coroutine contexts. The job to the right of `+` just replaces the job the left of `+`.")
|
||||
Job plus(Job other);
|
||||
|
||||
boolean start();
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.CancellationException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000<\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\b\u0000\u0018\u00002\u00060\u0001j\u0002`\u00022\b\u0012\u0004\u0012\u00020\u00000\u0003B\u001f\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\b\u0010\u0006\u001a\u0004\u0018\u00010\u0007\u0012\u0006\u0010\b\u001a\u00020\t¢\u0006\u0002\u0010\nJ\n\u0010\u000b\u001a\u0004\u0018\u00010\u0000H\u0016J\u0013\u0010\f\u001a\u00020\r2\b\u0010\u000e\u001a\u0004\u0018\u00010\u000fH\u0096\u0002J\b\u0010\u0010\u001a\u00020\u0007H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\u0005H\u0016R\u0010\u0010\b\u001a\u00020\t8\u0000X\u0081\u0004¢\u0006\u0002\n\u0000¨\u0006\u0014"}, d2 = {"Lkotlinx/coroutines/JobCancellationException;", "Ljava/util/concurrent/CancellationException;", "Lkotlinx/coroutines/CancellationException;", "Lkotlinx/coroutines/CopyableThrowable;", "message", "", "cause", "", "job", "Lkotlinx/coroutines/Job;", "(Ljava/lang/String;Ljava/lang/Throwable;Lkotlinx/coroutines/Job;)V", "createCopy", "equals", "", "other", "", "fillInStackTrace", "hashCode", "", "toString", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nExceptions.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Exceptions.kt\nkotlinx/coroutines/JobCancellationException\n+ 2 ArrayIntrinsics.kt\nkotlin/ArrayIntrinsicsKt\n*L\n1#1,75:1\n26#2:76\n*S KotlinDebug\n*F\n+ 1 Exceptions.kt\nkotlinx/coroutines/JobCancellationException\n*L\n43#1:76\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class JobCancellationException extends CancellationException implements CopyableThrowable<JobCancellationException> {
|
||||
|
||||
@JvmField
|
||||
public final transient Job job;
|
||||
|
||||
public JobCancellationException(String str, Throwable th, Job job) {
|
||||
super(str);
|
||||
this.job = job;
|
||||
if (th != null) {
|
||||
initCause(th);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CopyableThrowable
|
||||
public JobCancellationException createCopy() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof JobCancellationException)) {
|
||||
return false;
|
||||
}
|
||||
JobCancellationException jobCancellationException = (JobCancellationException) other;
|
||||
return Intrinsics.areEqual(jobCancellationException.getMessage(), getMessage()) && Intrinsics.areEqual(jobCancellationException.job, this.job) && Intrinsics.areEqual(jobCancellationException.getCause(), getCause());
|
||||
}
|
||||
|
||||
@Override // java.lang.Throwable
|
||||
public Throwable fillInStackTrace() {
|
||||
setStackTrace(new StackTraceElement[0]);
|
||||
return this;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
String message = getMessage();
|
||||
Intrinsics.checkNotNull(message);
|
||||
int hashCode = (this.job.hashCode() + (message.hashCode() * 31)) * 31;
|
||||
Throwable cause = getCause();
|
||||
return hashCode + (cause != null ? cause.hashCode() : 0);
|
||||
}
|
||||
|
||||
@Override // java.lang.Throwable
|
||||
public String toString() {
|
||||
return super.toString() + "; job=" + this.job;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002¨\u0006\u0003"}, d2 = {"Lkotlinx/coroutines/JobCancellingNode;", "Lkotlinx/coroutines/JobNode;", "()V", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class JobCancellingNode extends JobNode {
|
||||
}
|
||||
123
apk_decompiled/sources/kotlinx/coroutines/JobImpl.java
Normal file
123
apk_decompiled/sources/kotlinx/coroutines/JobImpl.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.Unit;
|
||||
|
||||
@Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0007\n\u0002\u0010\u0003\n\u0000\b\u0011\u0018\u00002\u00020\u00012\u00020\u0002B\u000f\u0012\b\u0010\u0003\u001a\u0004\u0018\u00010\u0004¢\u0006\u0002\u0010\u0005J\b\u0010\f\u001a\u00020\u0007H\u0016J\u0010\u0010\r\u001a\u00020\u00072\u0006\u0010\u000e\u001a\u00020\u000fH\u0016J\b\u0010\u0006\u001a\u00020\u0007H\u0003R\u0014\u0010\u0006\u001a\u00020\u0007X\u0090\u0004¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0014\u0010\n\u001a\u00020\u00078PX\u0090\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\t¨\u0006\u0010"}, d2 = {"Lkotlinx/coroutines/JobImpl;", "Lkotlinx/coroutines/JobSupport;", "Lkotlinx/coroutines/CompletableJob;", "parent", "Lkotlinx/coroutines/Job;", "(Lkotlinx/coroutines/Job;)V", "handlesException", "", "getHandlesException$kotlinx_coroutines_core", "()Z", "onCancelComplete", "getOnCancelComplete$kotlinx_coroutines_core", "complete", "completeExceptionally", "exception", "", "kotlinx-coroutines-core"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@PublishedApi
|
||||
/* loaded from: classes3.dex */
|
||||
public class JobImpl extends JobSupport implements CompletableJob {
|
||||
private final boolean handlesException;
|
||||
|
||||
public JobImpl(Job job) {
|
||||
super(true);
|
||||
initParentJob(job);
|
||||
this.handlesException = handlesException();
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:10:0x001f, code lost:
|
||||
|
||||
r3 = r3.getParentHandle$kotlinx_coroutines_core();
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:11:0x0025, code lost:
|
||||
|
||||
if ((r3 instanceof kotlinx.coroutines.ChildHandleNode) == false) goto L18;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:12:0x0027, code lost:
|
||||
|
||||
r3 = (kotlinx.coroutines.ChildHandleNode) r3;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:13:0x002b, code lost:
|
||||
|
||||
if (r3 == null) goto L24;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:14:0x002d, code lost:
|
||||
|
||||
r3 = r3.getJob();
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:15:0x0031, code lost:
|
||||
|
||||
if (r3 != null) goto L26;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:19:0x002a, code lost:
|
||||
|
||||
r3 = null;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:21:0x001d, code lost:
|
||||
|
||||
return true;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:7:0x0014, code lost:
|
||||
|
||||
if (r3 != null) goto L11;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:9:0x001b, code lost:
|
||||
|
||||
if (r3.getHandlesException() == false) goto L15;
|
||||
*/
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
private final boolean handlesException() {
|
||||
/*
|
||||
r3 = this;
|
||||
kotlinx.coroutines.ChildHandle r3 = r3.getParentHandle$kotlinx_coroutines_core()
|
||||
boolean r0 = r3 instanceof kotlinx.coroutines.ChildHandleNode
|
||||
r1 = 0
|
||||
if (r0 == 0) goto Lc
|
||||
kotlinx.coroutines.ChildHandleNode r3 = (kotlinx.coroutines.ChildHandleNode) r3
|
||||
goto Ld
|
||||
Lc:
|
||||
r3 = r1
|
||||
Ld:
|
||||
r0 = 0
|
||||
if (r3 == 0) goto L33
|
||||
kotlinx.coroutines.JobSupport r3 = r3.getJob()
|
||||
if (r3 != 0) goto L17
|
||||
goto L33
|
||||
L17:
|
||||
boolean r2 = r3.getHandlesException()
|
||||
if (r2 == 0) goto L1f
|
||||
r3 = 1
|
||||
return r3
|
||||
L1f:
|
||||
kotlinx.coroutines.ChildHandle r3 = r3.getParentHandle$kotlinx_coroutines_core()
|
||||
boolean r2 = r3 instanceof kotlinx.coroutines.ChildHandleNode
|
||||
if (r2 == 0) goto L2a
|
||||
kotlinx.coroutines.ChildHandleNode r3 = (kotlinx.coroutines.ChildHandleNode) r3
|
||||
goto L2b
|
||||
L2a:
|
||||
r3 = r1
|
||||
L2b:
|
||||
if (r3 == 0) goto L33
|
||||
kotlinx.coroutines.JobSupport r3 = r3.getJob()
|
||||
if (r3 != 0) goto L17
|
||||
L33:
|
||||
return r0
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.JobImpl.handlesException():boolean");
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletableJob
|
||||
public boolean complete() {
|
||||
return makeCompleting$kotlinx_coroutines_core(Unit.INSTANCE);
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.CompletableJob
|
||||
public boolean completeExceptionally(Throwable exception) {
|
||||
return makeCompleting$kotlinx_coroutines_core(new CompletedExceptionally(exception, false, 2, null));
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
/* renamed from: getHandlesException$kotlinx_coroutines_core, reason: from getter */
|
||||
public boolean getHandlesException() {
|
||||
return this.handlesException;
|
||||
}
|
||||
|
||||
@Override // kotlinx.coroutines.JobSupport
|
||||
public boolean getOnCancelComplete$kotlinx_coroutines_core() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
69
apk_decompiled/sources/kotlinx/coroutines/JobKt.java
Normal file
69
apk_decompiled/sources/kotlinx/coroutines/JobKt.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.CancellationException;
|
||||
import java.util.concurrent.Future;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.CoroutineContext;
|
||||
|
||||
@Metadata(d1 = {"kotlinx/coroutines/JobKt__FutureKt", "kotlinx/coroutines/JobKt__JobKt"}, k = 4, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class JobKt {
|
||||
public static final CompletableJob Job(Job job) {
|
||||
return JobKt__JobKt.Job(job);
|
||||
}
|
||||
|
||||
public static /* synthetic */ CompletableJob Job$default(Job job, int i, Object obj) {
|
||||
return JobKt__JobKt.Job$default(job, i, obj);
|
||||
}
|
||||
|
||||
public static final Object cancelAndJoin(Job job, Continuation<? super Unit> continuation) {
|
||||
return JobKt__JobKt.cancelAndJoin(job, continuation);
|
||||
}
|
||||
|
||||
public static final void cancelFutureOnCancellation(CancellableContinuation<?> cancellableContinuation, Future<?> future) {
|
||||
JobKt__FutureKt.cancelFutureOnCancellation(cancellableContinuation, future);
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static final DisposableHandle cancelFutureOnCompletion(Job job, Future<?> future) {
|
||||
return JobKt__FutureKt.cancelFutureOnCompletion(job, future);
|
||||
}
|
||||
|
||||
public static final DisposableHandle disposeOnCompletion(Job job, DisposableHandle disposableHandle) {
|
||||
return JobKt__JobKt.disposeOnCompletion(job, disposableHandle);
|
||||
}
|
||||
|
||||
public static final void ensureActive(CoroutineContext coroutineContext) {
|
||||
JobKt__JobKt.ensureActive(coroutineContext);
|
||||
}
|
||||
|
||||
public static final Job getJob(CoroutineContext coroutineContext) {
|
||||
return JobKt__JobKt.getJob(coroutineContext);
|
||||
}
|
||||
|
||||
public static final boolean isActive(CoroutineContext coroutineContext) {
|
||||
return JobKt__JobKt.isActive(coroutineContext);
|
||||
}
|
||||
|
||||
public static final void cancel(CoroutineContext coroutineContext, CancellationException cancellationException) {
|
||||
JobKt__JobKt.cancel(coroutineContext, cancellationException);
|
||||
}
|
||||
|
||||
public static final void ensureActive(Job job) {
|
||||
JobKt__JobKt.ensureActive(job);
|
||||
}
|
||||
|
||||
public static final void cancel(Job job, String str, Throwable th) {
|
||||
JobKt__JobKt.cancel(job, str, th);
|
||||
}
|
||||
|
||||
public static final void cancelChildren(CoroutineContext coroutineContext, CancellationException cancellationException) {
|
||||
JobKt__JobKt.cancelChildren(coroutineContext, cancellationException);
|
||||
}
|
||||
|
||||
public static final void cancelChildren(Job job, CancellationException cancellationException) {
|
||||
JobKt__JobKt.cancelChildren(job, cancellationException);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package kotlinx.coroutines;
|
||||
|
||||
import java.util.concurrent.Future;
|
||||
import kotlin.Metadata;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\u001a\u001a\u0010\u0000\u001a\u00020\u0001*\u0006\u0012\u0002\b\u00030\u00022\n\u0010\u0003\u001a\u0006\u0012\u0002\b\u00030\u0004\u001a\u0018\u0010\u0005\u001a\u00020\u0006*\u00020\u00072\n\u0010\u0003\u001a\u0006\u0012\u0002\b\u00030\u0004H\u0007¨\u0006\b"}, d2 = {"cancelFutureOnCancellation", "", "Lkotlinx/coroutines/CancellableContinuation;", "future", "Ljava/util/concurrent/Future;", "cancelFutureOnCompletion", "Lkotlinx/coroutines/DisposableHandle;", "Lkotlinx/coroutines/Job;", "kotlinx-coroutines-core"}, k = 5, mv = {1, 9, 0}, xi = 48, xs = "kotlinx/coroutines/JobKt")
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class JobKt__FutureKt {
|
||||
public static final void cancelFutureOnCancellation(CancellableContinuation<?> cancellableContinuation, Future<?> future) {
|
||||
cancellableContinuation.invokeOnCancellation(new CancelFutureOnCancel(future));
|
||||
}
|
||||
|
||||
@InternalCoroutinesApi
|
||||
public static final DisposableHandle cancelFutureOnCompletion(Job job, Future<?> future) {
|
||||
return job.invokeOnCompletion(new CancelFutureOnCompletion(future));
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user