- 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
92 lines
4.8 KiB
Java
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;
|
|
}
|
|
}
|