Rabbit-R1/original r1/java/sources/androidx/compose/runtime/PausableMonotonicFrameClock.java

131 lines
6.8 KiB
Java
Raw Normal View History

2024-05-21 16:08:36 -05:00
package androidx.compose.runtime;
import androidx.compose.runtime.MonotonicFrameClock;
import kotlin.Metadata;
import kotlin.coroutines.CoroutineContext;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.internal.Intrinsics;
/* compiled from: PausableMonotonicFrameClock.kt */
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0002\b\u0004\b\u0007\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0001¢\u0006\u0002\u0010\u0003J\u0006\u0010\t\u001a\u00020\nJ\u0006\u0010\u000b\u001a\u00020\nJ:\u0010\f\u001a\u0002H\r\"\u0004\b\u0000\u0010\r2!\u0010\u000e\u001a\u001d\u0012\u0013\u0012\u00110\u0010¢\u0006\f\b\u0011\u0012\b\b\u0012\u0012\u0004\b\b(\u0013\u0012\u0004\u0012\u0002H\r0\u000fH\u0096@ø\u0001\u0000¢\u0006\u0002\u0010\u0014R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000R\u0011\u0010\u0004\u001a\u00020\u00058F¢\u0006\u0006\u001a\u0004\b\u0004\u0010\u0006R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\u0015"}, d2 = {"Landroidx/compose/runtime/PausableMonotonicFrameClock;", "Landroidx/compose/runtime/MonotonicFrameClock;", "frameClock", "(Landroidx/compose/runtime/MonotonicFrameClock;)V", "isPaused", "", "()Z", "latch", "Landroidx/compose/runtime/Latch;", "pause", "", "resume", "withFrameNanos", "R", "onFrame", "Lkotlin/Function1;", "", "Lkotlin/ParameterName;", "name", "frameTimeNanos", "(Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "runtime_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
/* loaded from: classes.dex */
public final class PausableMonotonicFrameClock implements MonotonicFrameClock {
public static final int $stable = 8;
private final MonotonicFrameClock frameClock;
private final Latch latch;
public PausableMonotonicFrameClock(MonotonicFrameClock frameClock) {
Intrinsics.checkNotNullParameter(frameClock, "frameClock");
this.frameClock = frameClock;
this.latch = new Latch();
}
@Override // kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
public <R> R fold(R r, Function2<? super R, ? super CoroutineContext.Element, ? extends R> function2) {
return (R) MonotonicFrameClock.DefaultImpls.fold(this, r, function2);
}
@Override // kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
public <E extends CoroutineContext.Element> E get(CoroutineContext.Key<E> key) {
return (E) MonotonicFrameClock.DefaultImpls.get(this, key);
}
@Override // kotlin.coroutines.CoroutineContext.Element, kotlin.coroutines.CoroutineContext
public CoroutineContext minusKey(CoroutineContext.Key<?> key) {
return MonotonicFrameClock.DefaultImpls.minusKey(this, key);
}
@Override // kotlin.coroutines.CoroutineContext
public CoroutineContext plus(CoroutineContext coroutineContext) {
return MonotonicFrameClock.DefaultImpls.plus(this, coroutineContext);
}
public final boolean isPaused() {
return !this.latch.isOpen();
}
public final void pause() {
this.latch.closeLatch();
}
public final void resume() {
this.latch.openLatch();
}
/* JADX WARN: Removed duplicated region for block: B:11:0x0064 A[PHI: r7
0x0064: PHI (r7v6 java.lang.Object) = (r7v5 java.lang.Object), (r7v1 java.lang.Object) binds: [B:17:0x0061, B:10:0x0029] A[DONT_GENERATE, DONT_INLINE], RETURN] */
/* JADX WARN: Removed duplicated region for block: B:18:0x0063 A[RETURN] */
/* JADX WARN: Removed duplicated region for block: B:19:0x0042 */
/* JADX WARN: Removed duplicated region for block: B:8:0x0025 */
@Override // androidx.compose.runtime.MonotonicFrameClock
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public <R> java.lang.Object withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long, ? extends R> r6, kotlin.coroutines.Continuation<? super R> r7) {
/*
r5 = this;
boolean r0 = r7 instanceof androidx.compose.runtime.PausableMonotonicFrameClock$withFrameNanos$1
if (r0 == 0) goto L14
r0 = r7
androidx.compose.runtime.PausableMonotonicFrameClock$withFrameNanos$1 r0 = (androidx.compose.runtime.PausableMonotonicFrameClock$withFrameNanos$1) r0
int r1 = r0.label
r2 = -2147483648(0xffffffff80000000, float:-0.0)
r1 = r1 & r2
if (r1 == 0) goto L14
int r7 = r0.label
int r7 = r7 - r2
r0.label = r7
goto L19
L14:
androidx.compose.runtime.PausableMonotonicFrameClock$withFrameNanos$1 r0 = new androidx.compose.runtime.PausableMonotonicFrameClock$withFrameNanos$1
r0.<init>(r5, r7)
L19:
java.lang.Object r7 = r0.result
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
int r2 = r0.label
r3 = 2
r4 = 1
if (r2 == 0) goto L42
if (r2 == r4) goto L35
if (r2 != r3) goto L2d
kotlin.ResultKt.throwOnFailure(r7)
goto L64
L2d:
java.lang.IllegalStateException r5 = new java.lang.IllegalStateException
java.lang.String r6 = "call to 'resume' before 'invoke' with coroutine"
r5.<init>(r6)
throw r5
L35:
java.lang.Object r5 = r0.L$1
r6 = r5
kotlin.jvm.functions.Function1 r6 = (kotlin.jvm.functions.Function1) r6
java.lang.Object r5 = r0.L$0
androidx.compose.runtime.PausableMonotonicFrameClock r5 = (androidx.compose.runtime.PausableMonotonicFrameClock) r5
kotlin.ResultKt.throwOnFailure(r7)
goto L54
L42:
kotlin.ResultKt.throwOnFailure(r7)
androidx.compose.runtime.Latch r7 = r5.latch
r0.L$0 = r5
r0.L$1 = r6
r0.label = r4
java.lang.Object r7 = r7.await(r0)
if (r7 != r1) goto L54
return r1
L54:
androidx.compose.runtime.MonotonicFrameClock r5 = r5.frameClock
r7 = 0
r0.L$0 = r7
r0.L$1 = r7
r0.label = r3
java.lang.Object r7 = r5.withFrameNanos(r6, r0)
if (r7 != r1) goto L64
return r1
L64:
return r7
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.compose.runtime.PausableMonotonicFrameClock.withFrameNanos(kotlin.jvm.functions.Function1, kotlin.coroutines.Continuation):java.lang.Object");
}
}