50 lines
2.7 KiB
Java
50 lines
2.7 KiB
Java
package androidx.activity.contextaware;
|
|
|
|
import android.content.Context;
|
|
import c0.w.h.b;
|
|
import c0.w.h.c;
|
|
import c0.w.i.a.g;
|
|
import c0.z.d.l;
|
|
import kotlin.coroutines.Continuation;
|
|
import kotlin.jvm.functions.Function1;
|
|
import r.a.k;
|
|
/* compiled from: ContextAware.kt */
|
|
public final class ContextAwareKt {
|
|
public static final <R> Object withContextAvailable(ContextAware contextAware, Function1<? super Context, ? extends R> function1, Continuation<? super R> continuation) {
|
|
Context peekAvailableContext = contextAware.peekAvailableContext();
|
|
if (peekAvailableContext != null) {
|
|
return function1.invoke(peekAvailableContext);
|
|
}
|
|
k kVar = new k(b.intercepted(continuation), 1);
|
|
kVar.A();
|
|
ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 = new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1(kVar, contextAware, function1);
|
|
contextAware.addOnContextAvailableListener(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1);
|
|
kVar.e(new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1, contextAware, function1));
|
|
Object u = kVar.u();
|
|
if (u != c.getCOROUTINE_SUSPENDED()) {
|
|
return u;
|
|
}
|
|
g.probeCoroutineSuspended(continuation);
|
|
return u;
|
|
}
|
|
|
|
private static final Object withContextAvailable$$forInline(ContextAware contextAware, Function1 function1, Continuation continuation) {
|
|
Context peekAvailableContext = contextAware.peekAvailableContext();
|
|
if (peekAvailableContext != null) {
|
|
return function1.invoke(peekAvailableContext);
|
|
}
|
|
l.mark(0);
|
|
k kVar = new k(b.intercepted(continuation), 1);
|
|
kVar.A();
|
|
ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1 = new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1(kVar, contextAware, function1);
|
|
contextAware.addOnContextAvailableListener(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1);
|
|
kVar.e(new ContextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$2(contextAwareKt$withContextAvailable$$inlined$suspendCancellableCoroutine$lambda$1, contextAware, function1));
|
|
Object u = kVar.u();
|
|
if (u == c.getCOROUTINE_SUSPENDED()) {
|
|
g.probeCoroutineSuspended(continuation);
|
|
}
|
|
l.mark(1);
|
|
return u;
|
|
}
|
|
}
|