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

92 lines
4.8 KiB
Java

package kotlinx.coroutines;
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.Function2;
import kotlin.jvm.internal.Ref;
/* loaded from: classes5.dex */
public abstract class CoroutineContextKt {
public static final String getCoroutineName(CoroutineContext coroutineContext) {
return null;
}
public static final CoroutineContext newCoroutineContext(CoroutineScope coroutineScope, CoroutineContext coroutineContext) {
CoroutineContext foldCopies = foldCopies(coroutineScope.getCoroutineContext(), coroutineContext, true);
return (foldCopies == Dispatchers.getDefault() || foldCopies.get(ContinuationInterceptor.Key) != null) ? foldCopies : foldCopies.plus(Dispatchers.getDefault());
}
public static final CoroutineContext newCoroutineContext(CoroutineContext coroutineContext, CoroutineContext coroutineContext2) {
return !hasCopyableElements(coroutineContext2) ? coroutineContext.plus(coroutineContext2) : foldCopies(coroutineContext, coroutineContext2, false);
}
public static final boolean hasCopyableElements(CoroutineContext coroutineContext) {
return ((Boolean) coroutineContext.fold(Boolean.FALSE, new Function2() { // from class: kotlinx.coroutines.CoroutineContextKt$hasCopyableElements$1
public final Boolean invoke(boolean z, CoroutineContext.Element element) {
return Boolean.valueOf(z);
}
@Override // kotlin.jvm.functions.Function2
public /* bridge */ /* synthetic */ Object invoke(Object obj, Object obj2) {
return invoke(((Boolean) obj).booleanValue(), (CoroutineContext.Element) obj2);
}
})).booleanValue();
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r4v4, types: [T, java.lang.Object] */
public static final CoroutineContext foldCopies(CoroutineContext coroutineContext, CoroutineContext coroutineContext2, final boolean z) {
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() { // 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);
}
@Override // kotlin.jvm.functions.Function2
public final CoroutineContext invoke(CoroutineContext coroutineContext4, CoroutineContext.Element element) {
return coroutineContext4.plus(element);
}
});
if (hasCopyableElements2) {
objectRef.element = ((CoroutineContext) objectRef.element).fold(emptyCoroutineContext, new Function2() { // from class: kotlinx.coroutines.CoroutineContextKt$foldCopies$1
@Override // kotlin.jvm.functions.Function2
public final CoroutineContext invoke(CoroutineContext coroutineContext4, CoroutineContext.Element element) {
return coroutineContext4.plus(element);
}
});
}
return coroutineContext3.plus((CoroutineContext) objectRef.element);
}
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 UndispatchedCoroutine undispatchedCompletion(CoroutineStackFrame coroutineStackFrame) {
while (!(coroutineStackFrame instanceof DispatchedCoroutine) && (coroutineStackFrame = coroutineStackFrame.getCallerFrame()) != null) {
if (coroutineStackFrame instanceof UndispatchedCoroutine) {
return (UndispatchedCoroutine) coroutineStackFrame;
}
}
return null;
}
}