package kotlinx.coroutines; 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 kotlinx.coroutines.internal.DispatchedContinuation; import kotlinx.coroutines.internal.DispatchedContinuationKt; /* compiled from: Yield.kt */ @Metadata(d1 = {"\u0000\n\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0002\u001a\u0011\u0010\u0000\u001a\u00020\u0001H\u0086@ø\u0001\u0000¢\u0006\u0002\u0010\u0002\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\u0003"}, d2 = {"yield", "", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 2, mv = {1, 8, 0}, xi = 48) /* loaded from: classes3.dex */ public final class YieldKt { public static final Object yield(Continuation continuation) { Object coroutine_suspended; CoroutineContext context = continuation.getContext(); JobKt.ensureActive(context); Continuation intercepted = IntrinsicsKt.intercepted(continuation); DispatchedContinuation dispatchedContinuation = intercepted instanceof DispatchedContinuation ? (DispatchedContinuation) intercepted : null; if (dispatchedContinuation == null) { coroutine_suspended = Unit.INSTANCE; } else { if (dispatchedContinuation.dispatcher.isDispatchNeeded(context)) { dispatchedContinuation.dispatchYield$kotlinx_coroutines_core(context, Unit.INSTANCE); } else { YieldContext yieldContext = new YieldContext(); dispatchedContinuation.dispatchYield$kotlinx_coroutines_core(context.plus(yieldContext), Unit.INSTANCE); if (yieldContext.dispatcherWasUnconfined) { coroutine_suspended = DispatchedContinuationKt.yieldUndispatched(dispatchedContinuation) ? IntrinsicsKt.getCOROUTINE_SUSPENDED() : Unit.INSTANCE; } } coroutine_suspended = IntrinsicsKt.getCOROUTINE_SUSPENDED(); } if (coroutine_suspended == IntrinsicsKt.getCOROUTINE_SUSPENDED()) { DebugProbesKt.probeCoroutineSuspended(continuation); } return coroutine_suspended == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? coroutine_suspended : Unit.INSTANCE; } }