ADD week 5
This commit is contained in:
		
							
								
								
									
										63
									
								
								02-Easy5/E5/sources/androidx/lifecycle/BlockRunner.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								02-Easy5/E5/sources/androidx/lifecycle/BlockRunner.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| package androidx.lifecycle; | ||||
|  | ||||
| import java.util.concurrent.CancellationException; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.Unit; | ||||
| import kotlin.coroutines.Continuation; | ||||
| import kotlin.jvm.functions.Function0; | ||||
| import kotlin.jvm.functions.Function2; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
| import kotlinx.coroutines.BuildersKt__Builders_commonKt; | ||||
| import kotlinx.coroutines.CoroutineScope; | ||||
| import kotlinx.coroutines.Dispatchers; | ||||
| import kotlinx.coroutines.Job; | ||||
|  | ||||
| /* compiled from: CoroutineLiveData.kt */ | ||||
| @Metadata(d1 = {"\u0000D\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\b\u0000\u0018\u0000*\u0004\b\u0000\u0010\u00012\u00020\u0002B`\u0012\f\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004\u0012-\u0010\u0005\u001a)\b\u0001\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\u0007\u0012\n\u0012\b\u0012\u0004\u0012\u00020\t0\b\u0012\u0006\u0012\u0004\u0018\u00010\u00020\u0006¢\u0006\u0002\b\n\u0012\u0006\u0010\u000b\u001a\u00020\f\u0012\u0006\u0010\r\u001a\u00020\u000e\u0012\f\u0010\u000f\u001a\b\u0012\u0004\u0012\u00020\t0\u0010¢\u0006\u0002\u0010\u0011J\b\u0010\u0016\u001a\u00020\tH\u0007J\b\u0010\u0017\u001a\u00020\tH\u0007R7\u0010\u0005\u001a)\b\u0001\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\u0007\u0012\n\u0012\b\u0012\u0004\u0012\u00020\t0\b\u0012\u0006\u0012\u0004\u0018\u00010\u00020\u0006¢\u0006\u0002\b\nX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0012R\u0010\u0010\u0013\u001a\u0004\u0018\u00010\u0014X\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\u0003\u001a\b\u0012\u0004\u0012\u00028\u00000\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u000f\u001a\b\u0012\u0004\u0012\u00020\t0\u0010X\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\u0015\u001a\u0004\u0018\u00010\u0014X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000eX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\fX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0018"}, d2 = {"Landroidx/lifecycle/BlockRunner;", "T", "", "liveData", "Landroidx/lifecycle/CoroutineLiveData;", "block", "Lkotlin/Function2;", "Landroidx/lifecycle/LiveDataScope;", "Lkotlin/coroutines/Continuation;", "", "Lkotlin/ExtensionFunctionType;", "timeoutInMs", "", "scope", "Lkotlinx/coroutines/CoroutineScope;", "onDone", "Lkotlin/Function0;", "(Landroidx/lifecycle/CoroutineLiveData;Lkotlin/jvm/functions/Function2;JLkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function0;)V", "Lkotlin/jvm/functions/Function2;", "cancellationJob", "Lkotlinx/coroutines/Job;", "runningJob", "cancel", "maybeRun", "lifecycle-livedata_release"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class BlockRunner<T> { | ||||
|     private final Function2<LiveDataScope<T>, Continuation<? super Unit>, Object> block; | ||||
|     private Job cancellationJob; | ||||
|     private final CoroutineLiveData<T> liveData; | ||||
|     private final Function0<Unit> onDone; | ||||
|     private Job runningJob; | ||||
|     private final CoroutineScope scope; | ||||
|     private final long timeoutInMs; | ||||
|  | ||||
|     /* JADX WARN: Multi-variable type inference failed */ | ||||
|     public BlockRunner(CoroutineLiveData<T> liveData, Function2<? super LiveDataScope<T>, ? super Continuation<? super Unit>, ? extends Object> block, long j, CoroutineScope scope, Function0<Unit> onDone) { | ||||
|         Intrinsics.checkNotNullParameter(liveData, "liveData"); | ||||
|         Intrinsics.checkNotNullParameter(block, "block"); | ||||
|         Intrinsics.checkNotNullParameter(scope, "scope"); | ||||
|         Intrinsics.checkNotNullParameter(onDone, "onDone"); | ||||
|         this.liveData = liveData; | ||||
|         this.block = block; | ||||
|         this.timeoutInMs = j; | ||||
|         this.scope = scope; | ||||
|         this.onDone = onDone; | ||||
|     } | ||||
|  | ||||
|     public final void maybeRun() { | ||||
|         Job launch$default; | ||||
|         Job job = this.cancellationJob; | ||||
|         if (job != null) { | ||||
|             Job.DefaultImpls.cancel$default(job, (CancellationException) null, 1, (Object) null); | ||||
|         } | ||||
|         this.cancellationJob = null; | ||||
|         if (this.runningJob != null) { | ||||
|             return; | ||||
|         } | ||||
|         launch$default = BuildersKt__Builders_commonKt.launch$default(this.scope, null, null, new BlockRunner$maybeRun$1(this, null), 3, null); | ||||
|         this.runningJob = launch$default; | ||||
|     } | ||||
|  | ||||
|     public final void cancel() { | ||||
|         Job launch$default; | ||||
|         if (this.cancellationJob == null) { | ||||
|             launch$default = BuildersKt__Builders_commonKt.launch$default(this.scope, Dispatchers.getMain().getImmediate(), null, new BlockRunner$cancel$1(this, null), 2, null); | ||||
|             this.cancellationJob = launch$default; | ||||
|             return; | ||||
|         } | ||||
|         throw new IllegalStateException("Cancel call cannot happen without a maybeRun".toString()); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user