package androidx.room; import android.annotation.SuppressLint; import androidx.arch.core.executor.ArchTaskExecutor; import androidx.lifecycle.LiveData; import androidx.room.InvalidationTracker; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; import kotlin.jvm.internal.Intrinsics; @SuppressLint({"RestrictedApi"}) /* loaded from: classes.dex */ public final class RoomTrackingLiveData extends LiveData { private final Callable computeFunction; private final AtomicBoolean computing; private final InvalidationLiveDataContainer container; private final RoomDatabase database; private final boolean inTransaction; private final AtomicBoolean invalid; private final Runnable invalidationRunnable; private final InvalidationTracker.Observer observer; private final Runnable refreshRunnable; private final AtomicBoolean registeredObserver; public final Callable getComputeFunction() { return this.computeFunction; } public final AtomicBoolean getComputing() { return this.computing; } public final RoomDatabase getDatabase() { return this.database; } public final boolean getInTransaction() { return this.inTransaction; } public final AtomicBoolean getInvalid() { return this.invalid; } public final Runnable getInvalidationRunnable() { return this.invalidationRunnable; } public final InvalidationTracker.Observer getObserver() { return this.observer; } public final Runnable getRefreshRunnable() { return this.refreshRunnable; } public final AtomicBoolean getRegisteredObserver() { return this.registeredObserver; } public RoomTrackingLiveData(RoomDatabase database, InvalidationLiveDataContainer container, boolean z, Callable computeFunction, final String[] tableNames) { Intrinsics.checkNotNullParameter(database, "database"); Intrinsics.checkNotNullParameter(container, "container"); Intrinsics.checkNotNullParameter(computeFunction, "computeFunction"); Intrinsics.checkNotNullParameter(tableNames, "tableNames"); this.database = database; this.container = container; this.inTransaction = z; this.computeFunction = computeFunction; this.observer = new InvalidationTracker.Observer(tableNames) { // from class: androidx.room.RoomTrackingLiveData$observer$1 @Override // androidx.room.InvalidationTracker.Observer public void onInvalidated(Set tables) { Intrinsics.checkNotNullParameter(tables, "tables"); ArchTaskExecutor.getInstance().executeOnMainThread(this.getInvalidationRunnable()); } }; this.invalid = new AtomicBoolean(true); this.computing = new AtomicBoolean(false); this.registeredObserver = new AtomicBoolean(false); this.refreshRunnable = new Runnable() { // from class: androidx.room.RoomTrackingLiveData$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { RoomTrackingLiveData.refreshRunnable$lambda$0(RoomTrackingLiveData.this); } }; this.invalidationRunnable = new Runnable() { // from class: androidx.room.RoomTrackingLiveData$$ExternalSyntheticLambda1 @Override // java.lang.Runnable public final void run() { RoomTrackingLiveData.invalidationRunnable$lambda$1(RoomTrackingLiveData.this); } }; } /* JADX INFO: Access modifiers changed from: private */ public static final void refreshRunnable$lambda$0(RoomTrackingLiveData this$0) { Intrinsics.checkNotNullParameter(this$0, "this$0"); if (this$0.registeredObserver.compareAndSet(false, true)) { this$0.database.getInvalidationTracker().addWeakObserver(this$0.observer); } while (this$0.computing.compareAndSet(false, true)) { T t = null; boolean z = false; while (this$0.invalid.compareAndSet(true, false)) { try { try { t = this$0.computeFunction.call(); z = true; } catch (Exception e) { throw new RuntimeException("Exception while computing database live data.", e); } } finally { this$0.computing.set(false); } } if (z) { this$0.postValue(t); } if (!z || !this$0.invalid.get()) { return; } } } /* JADX INFO: Access modifiers changed from: private */ public static final void invalidationRunnable$lambda$1(RoomTrackingLiveData this$0) { Intrinsics.checkNotNullParameter(this$0, "this$0"); boolean hasActiveObservers = this$0.hasActiveObservers(); if (this$0.invalid.compareAndSet(false, true) && hasActiveObservers) { this$0.getQueryExecutor().execute(this$0.refreshRunnable); } } @Override // androidx.lifecycle.LiveData public void onActive() { super.onActive(); InvalidationLiveDataContainer invalidationLiveDataContainer = this.container; Intrinsics.checkNotNull(this, "null cannot be cast to non-null type androidx.lifecycle.LiveData"); invalidationLiveDataContainer.onActive(this); getQueryExecutor().execute(this.refreshRunnable); } @Override // androidx.lifecycle.LiveData public void onInactive() { super.onInactive(); InvalidationLiveDataContainer invalidationLiveDataContainer = this.container; Intrinsics.checkNotNull(this, "null cannot be cast to non-null type androidx.lifecycle.LiveData"); invalidationLiveDataContainer.onInactive(this); } public final Executor getQueryExecutor() { if (this.inTransaction) { return this.database.getTransactionExecutor(); } return this.database.getQueryExecutor(); } }