- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
129 lines
6.5 KiB
Java
129 lines
6.5 KiB
Java
package kotlinx.coroutines.channels;
|
|
|
|
import kotlin.coroutines.CoroutineContext;
|
|
import kotlin.coroutines.EmptyCoroutineContext;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.functions.Function2;
|
|
import kotlinx.coroutines.CoroutineContextKt;
|
|
import kotlinx.coroutines.CoroutineScope;
|
|
import kotlinx.coroutines.CoroutineStart;
|
|
|
|
/* loaded from: classes5.dex */
|
|
public abstract class ProduceKt {
|
|
/* JADX WARN: Removed duplicated region for block: B:17:0x003c */
|
|
/* JADX WARN: Removed duplicated region for block: B:9:0x0023 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public static final java.lang.Object awaitClose(kotlinx.coroutines.channels.ProducerScope r4, kotlin.jvm.functions.Function0 r5, kotlin.coroutines.Continuation r6) {
|
|
/*
|
|
boolean r0 = r6 instanceof kotlinx.coroutines.channels.ProduceKt$awaitClose$1
|
|
if (r0 == 0) goto L13
|
|
r0 = r6
|
|
kotlinx.coroutines.channels.ProduceKt$awaitClose$1 r0 = (kotlinx.coroutines.channels.ProduceKt$awaitClose$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.channels.ProduceKt$awaitClose$1 r0 = new kotlinx.coroutines.channels.ProduceKt$awaitClose$1
|
|
r0.<init>(r6)
|
|
L18:
|
|
java.lang.Object r6 = r0.result
|
|
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
|
int r2 = r0.label
|
|
r3 = 1
|
|
if (r2 == 0) goto L3c
|
|
if (r2 != r3) goto L34
|
|
java.lang.Object r4 = r0.L$1
|
|
r5 = r4
|
|
kotlin.jvm.functions.Function0 r5 = (kotlin.jvm.functions.Function0) r5
|
|
java.lang.Object r4 = r0.L$0
|
|
kotlinx.coroutines.channels.ProducerScope r4 = (kotlinx.coroutines.channels.ProducerScope) r4
|
|
kotlin.ResultKt.throwOnFailure(r6) // Catch: java.lang.Throwable -> L32
|
|
goto L75
|
|
L32:
|
|
r4 = move-exception
|
|
goto L7b
|
|
L34:
|
|
java.lang.IllegalStateException r4 = new java.lang.IllegalStateException
|
|
java.lang.String r5 = "call to 'resume' before 'invoke' with coroutine"
|
|
r4.<init>(r5)
|
|
throw r4
|
|
L3c:
|
|
kotlin.ResultKt.throwOnFailure(r6)
|
|
kotlin.coroutines.CoroutineContext r6 = r0.getContext()
|
|
kotlinx.coroutines.Job$Key r2 = kotlinx.coroutines.Job.Key
|
|
kotlin.coroutines.CoroutineContext$Element r6 = r6.get(r2)
|
|
if (r6 != r4) goto L7f
|
|
r0.L$0 = r4 // Catch: java.lang.Throwable -> L32
|
|
r0.L$1 = r5 // Catch: java.lang.Throwable -> L32
|
|
r0.label = r3 // Catch: java.lang.Throwable -> L32
|
|
kotlinx.coroutines.CancellableContinuationImpl r6 = new kotlinx.coroutines.CancellableContinuationImpl // Catch: java.lang.Throwable -> L32
|
|
kotlin.coroutines.Continuation r2 = kotlin.coroutines.intrinsics.IntrinsicsKt.intercepted(r0) // Catch: java.lang.Throwable -> L32
|
|
r6.<init>(r2, r3) // Catch: java.lang.Throwable -> L32
|
|
r6.initCancellability() // Catch: java.lang.Throwable -> L32
|
|
kotlinx.coroutines.channels.ProduceKt$awaitClose$4$1 r2 = new kotlinx.coroutines.channels.ProduceKt$awaitClose$4$1 // Catch: java.lang.Throwable -> L32
|
|
r2.<init>() // Catch: java.lang.Throwable -> L32
|
|
r4.invokeOnClose(r2) // Catch: java.lang.Throwable -> L32
|
|
java.lang.Object r4 = r6.getResult() // Catch: java.lang.Throwable -> L32
|
|
java.lang.Object r6 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED() // Catch: java.lang.Throwable -> L32
|
|
if (r4 != r6) goto L72
|
|
kotlin.coroutines.jvm.internal.DebugProbesKt.probeCoroutineSuspended(r0) // Catch: java.lang.Throwable -> L32
|
|
L72:
|
|
if (r4 != r1) goto L75
|
|
return r1
|
|
L75:
|
|
r5.invoke()
|
|
kotlin.Unit r4 = kotlin.Unit.INSTANCE
|
|
return r4
|
|
L7b:
|
|
r5.invoke()
|
|
throw r4
|
|
L7f:
|
|
java.lang.IllegalStateException r4 = new java.lang.IllegalStateException
|
|
java.lang.String r5 = "awaitClose() can only be invoked from the producer context"
|
|
java.lang.String r5 = r5.toString()
|
|
r4.<init>(r5)
|
|
throw r4
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.channels.ProduceKt.awaitClose(kotlinx.coroutines.channels.ProducerScope, kotlin.jvm.functions.Function0, kotlin.coroutines.Continuation):java.lang.Object");
|
|
}
|
|
|
|
public static /* synthetic */ ReceiveChannel produce$default(CoroutineScope coroutineScope, CoroutineContext coroutineContext, int i, BufferOverflow bufferOverflow, CoroutineStart coroutineStart, Function1 function1, Function2 function2, int i2, Object obj) {
|
|
if ((i2 & 1) != 0) {
|
|
coroutineContext = EmptyCoroutineContext.INSTANCE;
|
|
}
|
|
CoroutineContext coroutineContext2 = coroutineContext;
|
|
if ((i2 & 2) != 0) {
|
|
i = 0;
|
|
}
|
|
int i3 = i;
|
|
if ((i2 & 4) != 0) {
|
|
bufferOverflow = BufferOverflow.SUSPEND;
|
|
}
|
|
BufferOverflow bufferOverflow2 = bufferOverflow;
|
|
if ((i2 & 8) != 0) {
|
|
coroutineStart = CoroutineStart.DEFAULT;
|
|
}
|
|
CoroutineStart coroutineStart2 = coroutineStart;
|
|
if ((i2 & 16) != 0) {
|
|
function1 = null;
|
|
}
|
|
return produce(coroutineScope, coroutineContext2, i3, bufferOverflow2, coroutineStart2, function1, function2);
|
|
}
|
|
|
|
public static final ReceiveChannel produce(CoroutineScope coroutineScope, CoroutineContext coroutineContext, int i, BufferOverflow bufferOverflow, CoroutineStart coroutineStart, Function1 function1, Function2 function2) {
|
|
ProducerCoroutine producerCoroutine = new ProducerCoroutine(CoroutineContextKt.newCoroutineContext(coroutineScope, coroutineContext), ChannelKt.Channel$default(i, bufferOverflow, null, 4, null));
|
|
if (function1 != null) {
|
|
producerCoroutine.invokeOnCompletion(function1);
|
|
}
|
|
producerCoroutine.start(coroutineStart, producerCoroutine, function2);
|
|
return producerCoroutine;
|
|
}
|
|
}
|