212 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.lifecycle;
 | |
| 
 | |
| import kotlin.Metadata;
 | |
| import kotlin.Unit;
 | |
| import kotlin.coroutines.Continuation;
 | |
| import kotlin.coroutines.CoroutineContext;
 | |
| import kotlin.coroutines.EmptyCoroutineContext;
 | |
| import kotlin.jvm.functions.Function0;
 | |
| import kotlin.jvm.functions.Function2;
 | |
| import kotlin.jvm.internal.DefaultConstructorMarker;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| import kotlinx.coroutines.CoroutineScopeKt;
 | |
| import kotlinx.coroutines.Dispatchers;
 | |
| import kotlinx.coroutines.Job;
 | |
| import kotlinx.coroutines.SupervisorKt;
 | |
| 
 | |
| /* compiled from: CoroutineLiveData.kt */
 | |
| @Metadata(d1 = {"\u0000P\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0000\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002BH\u0012\b\b\u0002\u0010\u0003\u001a\u00020\u0004\u0012\b\b\u0002\u0010\u0005\u001a\u00020\u0006\u0012-\u0010\u0007\u001a)\b\u0001\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\t\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u000b0\n\u0012\u0006\u0012\u0004\u0018\u00010\f0\b¢\u0006\u0002\b\r¢\u0006\u0002\u0010\u000eJ\u0010\u0010\u0013\u001a\u00020\u000bH\u0080@¢\u0006\u0004\b\u0014\u0010\u0015J\u001e\u0010\u0016\u001a\u00020\u00172\f\u0010\u0018\u001a\b\u0012\u0004\u0012\u00028\u00000\u0019H\u0080@¢\u0006\u0004\b\u001a\u0010\u001bJ\b\u0010\u001c\u001a\u00020\u000bH\u0014J\b\u0010\u001d\u001a\u00020\u000bH\u0014R\u0016\u0010\u000f\u001a\n\u0012\u0004\u0012\u00028\u0000\u0018\u00010\u0010X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0011\u001a\u0004\u0018\u00010\u0012X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u001e"}, d2 = {"Landroidx/lifecycle/CoroutineLiveData;", "T", "Landroidx/lifecycle/MediatorLiveData;", "context", "Lkotlin/coroutines/CoroutineContext;", "timeoutInMs", "", "block", "Lkotlin/Function2;", "Landroidx/lifecycle/LiveDataScope;", "Lkotlin/coroutines/Continuation;", "", "", "Lkotlin/ExtensionFunctionType;", "(Lkotlin/coroutines/CoroutineContext;JLkotlin/jvm/functions/Function2;)V", "blockRunner", "Landroidx/lifecycle/BlockRunner;", "emittedSource", "Landroidx/lifecycle/EmittedSource;", "clearSource", "clearSource$lifecycle_livedata_release", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "emitSource", "Lkotlinx/coroutines/DisposableHandle;", "source", "Landroidx/lifecycle/LiveData;", "emitSource$lifecycle_livedata_release", "(Landroidx/lifecycle/LiveData;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "onActive", "onInactive", "lifecycle-livedata_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
| /* loaded from: classes.dex */
 | |
| public final class CoroutineLiveData<T> extends MediatorLiveData<T> {
 | |
|     private BlockRunner<T> blockRunner;
 | |
|     private EmittedSource emittedSource;
 | |
| 
 | |
|     public /* synthetic */ CoroutineLiveData(EmptyCoroutineContext emptyCoroutineContext, long j, Function2 function2, int i, DefaultConstructorMarker defaultConstructorMarker) {
 | |
|         this((i & 1) != 0 ? EmptyCoroutineContext.INSTANCE : emptyCoroutineContext, (i & 2) != 0 ? CoroutineLiveDataKt.DEFAULT_TIMEOUT : j, function2);
 | |
|     }
 | |
| 
 | |
|     public CoroutineLiveData(CoroutineContext context, long j, Function2<? super LiveDataScope<T>, ? super Continuation<? super Unit>, ? extends Object> block) {
 | |
|         Intrinsics.checkNotNullParameter(context, "context");
 | |
|         Intrinsics.checkNotNullParameter(block, "block");
 | |
|         this.blockRunner = new BlockRunner<>(this, block, j, CoroutineScopeKt.CoroutineScope(Dispatchers.getMain().getImmediate().plus(context).plus(SupervisorKt.SupervisorJob((Job) context.get(Job.INSTANCE)))), new Function0<Unit>(this) { // from class: androidx.lifecycle.CoroutineLiveData.1
 | |
|             final /* synthetic */ CoroutineLiveData<T> this$0;
 | |
| 
 | |
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
 | |
|             {
 | |
|                 super(0);
 | |
|                 this.this$0 = this;
 | |
|             }
 | |
| 
 | |
|             @Override // kotlin.jvm.functions.Function0
 | |
|             public /* bridge */ /* synthetic */ Unit invoke() {
 | |
|                 invoke2();
 | |
|                 return Unit.INSTANCE;
 | |
|             }
 | |
| 
 | |
|             /* renamed from: invoke, reason: avoid collision after fix types in other method */
 | |
|             public final void invoke2() {
 | |
|                 ((CoroutineLiveData) this.this$0).blockRunner = null;
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:19:0x0069 A[RETURN] */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:20:0x0047  */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:8:0x0025  */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     public final java.lang.Object emitSource$lifecycle_livedata_release(androidx.lifecycle.LiveData<T> r6, kotlin.coroutines.Continuation<? super kotlinx.coroutines.DisposableHandle> r7) {
 | |
|         /*
 | |
|             r5 = this;
 | |
|             boolean r0 = r7 instanceof androidx.lifecycle.CoroutineLiveData$emitSource$1
 | |
|             if (r0 == 0) goto L14
 | |
|             r0 = r7
 | |
|             androidx.lifecycle.CoroutineLiveData$emitSource$1 r0 = (androidx.lifecycle.CoroutineLiveData$emitSource$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.lifecycle.CoroutineLiveData$emitSource$1 r0 = new androidx.lifecycle.CoroutineLiveData$emitSource$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 L47
 | |
|             if (r2 == r4) goto L39
 | |
|             if (r2 != r3) goto L31
 | |
|             java.lang.Object r6 = r0.L$0
 | |
|             androidx.lifecycle.CoroutineLiveData r6 = (androidx.lifecycle.CoroutineLiveData) r6
 | |
|             kotlin.ResultKt.throwOnFailure(r7)
 | |
|             goto L6a
 | |
|         L31:
 | |
|             java.lang.IllegalStateException r6 = new java.lang.IllegalStateException
 | |
|             java.lang.String r7 = "call to 'resume' before 'invoke' with coroutine"
 | |
|             r6.<init>(r7)
 | |
|             throw r6
 | |
|         L39:
 | |
|             java.lang.Object r6 = r0.L$1
 | |
|             androidx.lifecycle.LiveData r6 = (androidx.lifecycle.LiveData) r6
 | |
|             java.lang.Object r2 = r0.L$0
 | |
|             androidx.lifecycle.CoroutineLiveData r2 = (androidx.lifecycle.CoroutineLiveData) r2
 | |
|             kotlin.ResultKt.throwOnFailure(r7)
 | |
|             r7 = r6
 | |
|             r6 = r2
 | |
|             goto L59
 | |
|         L47:
 | |
|             kotlin.ResultKt.throwOnFailure(r7)
 | |
|             r0.L$0 = r5
 | |
|             r0.L$1 = r6
 | |
|             r0.label = r4
 | |
|             java.lang.Object r7 = r5.clearSource$lifecycle_livedata_release(r0)
 | |
|             if (r7 != r1) goto L57
 | |
|             return r1
 | |
|         L57:
 | |
|             r7 = r6
 | |
|             r6 = r5
 | |
|         L59:
 | |
|             r2 = r6
 | |
|             androidx.lifecycle.MediatorLiveData r2 = (androidx.lifecycle.MediatorLiveData) r2
 | |
|             r0.L$0 = r6
 | |
|             r4 = 0
 | |
|             r0.L$1 = r4
 | |
|             r0.label = r3
 | |
|             java.lang.Object r7 = androidx.lifecycle.CoroutineLiveDataKt.addDisposableSource(r2, r7, r0)
 | |
|             if (r7 != r1) goto L6a
 | |
|             return r1
 | |
|         L6a:
 | |
|             androidx.lifecycle.EmittedSource r7 = (androidx.lifecycle.EmittedSource) r7
 | |
|             r6.emittedSource = r7
 | |
|             return r7
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.lifecycle.CoroutineLiveData.emitSource$lifecycle_livedata_release(androidx.lifecycle.LiveData, kotlin.coroutines.Continuation):java.lang.Object");
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:15:0x0036  */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:8:0x0024  */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     public final java.lang.Object clearSource$lifecycle_livedata_release(kotlin.coroutines.Continuation<? super kotlin.Unit> r5) {
 | |
|         /*
 | |
|             r4 = this;
 | |
|             boolean r0 = r5 instanceof androidx.lifecycle.CoroutineLiveData$clearSource$1
 | |
|             if (r0 == 0) goto L14
 | |
|             r0 = r5
 | |
|             androidx.lifecycle.CoroutineLiveData$clearSource$1 r0 = (androidx.lifecycle.CoroutineLiveData$clearSource$1) r0
 | |
|             int r1 = r0.label
 | |
|             r2 = -2147483648(0xffffffff80000000, float:-0.0)
 | |
|             r1 = r1 & r2
 | |
|             if (r1 == 0) goto L14
 | |
|             int r5 = r0.label
 | |
|             int r5 = r5 - r2
 | |
|             r0.label = r5
 | |
|             goto L19
 | |
|         L14:
 | |
|             androidx.lifecycle.CoroutineLiveData$clearSource$1 r0 = new androidx.lifecycle.CoroutineLiveData$clearSource$1
 | |
|             r0.<init>(r4, r5)
 | |
|         L19:
 | |
|             java.lang.Object r5 = r0.result
 | |
|             java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
 | |
|             int r2 = r0.label
 | |
|             r3 = 1
 | |
|             if (r2 == 0) goto L36
 | |
|             if (r2 != r3) goto L2e
 | |
|             java.lang.Object r0 = r0.L$0
 | |
|             androidx.lifecycle.CoroutineLiveData r0 = (androidx.lifecycle.CoroutineLiveData) r0
 | |
|             kotlin.ResultKt.throwOnFailure(r5)
 | |
|             goto L49
 | |
|         L2e:
 | |
|             java.lang.IllegalStateException r5 = new java.lang.IllegalStateException
 | |
|             java.lang.String r0 = "call to 'resume' before 'invoke' with coroutine"
 | |
|             r5.<init>(r0)
 | |
|             throw r5
 | |
|         L36:
 | |
|             kotlin.ResultKt.throwOnFailure(r5)
 | |
|             androidx.lifecycle.EmittedSource r5 = r4.emittedSource
 | |
|             if (r5 == 0) goto L48
 | |
|             r0.L$0 = r4
 | |
|             r0.label = r3
 | |
|             java.lang.Object r5 = r5.disposeNow(r0)
 | |
|             if (r5 != r1) goto L48
 | |
|             return r1
 | |
|         L48:
 | |
|             r0 = r4
 | |
|         L49:
 | |
|             r5 = 0
 | |
|             r0.emittedSource = r5
 | |
|             kotlin.Unit r5 = kotlin.Unit.INSTANCE
 | |
|             return r5
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.lifecycle.CoroutineLiveData.clearSource$lifecycle_livedata_release(kotlin.coroutines.Continuation):java.lang.Object");
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.lifecycle.MediatorLiveData, androidx.lifecycle.LiveData
 | |
|     protected void onActive() {
 | |
|         super.onActive();
 | |
|         BlockRunner<T> blockRunner = this.blockRunner;
 | |
|         if (blockRunner != null) {
 | |
|             blockRunner.maybeRun();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.lifecycle.MediatorLiveData, androidx.lifecycle.LiveData
 | |
|     protected void onInactive() {
 | |
|         super.onInactive();
 | |
|         BlockRunner<T> blockRunner = this.blockRunner;
 | |
|         if (blockRunner != null) {
 | |
|             blockRunner.cancel();
 | |
|         }
 | |
|     }
 | |
| }
 |