64 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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());
 | |
|     }
 | |
| }
 |