package androidx.room;

import android.app.ActivityManager;
import android.content.Context;
import android.database.Cursor;
import android.os.CancellationSignal;
import android.os.Looper;
import android.util.Log;
import androidx.media3.container.NalUnitUtil;
import androidx.media3.exoplayer.upstream.CmcdData;
import androidx.media3.extractor.text.ttml.TtmlNode;
import com.google.android.gms.actions.SearchIntents;
import defpackage.aq3;
import defpackage.as4;
import defpackage.cr4;
import defpackage.dva;
import defpackage.e20;
import defpackage.e52;
import defpackage.ik2;
import defpackage.je9;
import defpackage.jk2;
import defpackage.kp6;
import defpackage.kr;
import defpackage.le9;
import defpackage.lr;
import defpackage.m15;
import defpackage.m38;
import defpackage.n41;
import defpackage.n89;
import defpackage.ne9;
import defpackage.or0;
import defpackage.pe9;
import defpackage.pk2;
import defpackage.pq6;
import defpackage.qw5;
import defpackage.s15;
import defpackage.sq3;
import defpackage.u00;
import defpackage.u10;
import defpackage.u55;
import defpackage.vs9;
import defpackage.vx8;
import defpackage.xt8;
import defpackage.y32;
import defpackage.z15;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import kotlin.Metadata;

/* JADX INFO: loaded from: classes.dex */
@Metadata(d1 = {"\u0000Ð\u0001\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010$\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\"\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0011\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u000b\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010%\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\b\n\u0002\b\u001d\b&\u0018\u0000 \u0083\u00012\u00020\u0001:\u000e\u0084\u0001\u0085\u0001\u0086\u0001\u0087\u0001\u0088\u0001\u0089\u0001\u008a\u0001B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\u000f\u0010\u0007\u001a\u00020\u0004H\u0000¢\u0006\u0004\b\u0005\u0010\u0006J%\u0010\u000b\u001a\u0004\u0018\u00018\u0000\"\u0004\b\u0000\u0010\b2\f\u0010\n\u001a\b\u0012\u0004\u0012\u00028\u00000\tH\u0016¢\u0006\u0004\b\u000b\u0010\fJ\u0017\u0010\u0010\u001a\u00020\u000f2\u0006\u0010\u000e\u001a\u00020\rH\u0017¢\u0006\u0004\b\u0010\u0010\u0011J1\u0010\u0017\u001a\b\u0012\u0004\u0012\u00020\u00160\u00152\u001a\u0010\u0014\u001a\u0016\u0012\f\u0012\n\u0012\u0006\b\u0001\u0012\u00020\u00130\t\u0012\u0004\u0012\u00020\u00130\u0012H\u0017¢\u0006\u0004\b\u0017\u0010\u0018J\u0017\u0010\u001b\u001a\u00020\u001a2\u0006\u0010\u0019\u001a\u00020\rH$¢\u0006\u0004\b\u001b\u0010\u001cJ\u000f\u0010\u001e\u001a\u00020\u001dH$¢\u0006\u0004\b\u001e\u0010\u001fJ)\u0010 \u001a\u001c\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t\u0012\u000e\u0012\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t0\u00150\u0012H\u0015¢\u0006\u0004\b \u0010!J\u001d\u0010#\u001a\u0010\u0012\f\u0012\n\u0012\u0006\b\u0001\u0012\u00020\u00130\t0\"H\u0017¢\u0006\u0004\b#\u0010$J\u000f\u0010%\u001a\u00020\u000fH'¢\u0006\u0004\b%\u0010\u0003J\u000f\u0010&\u001a\u00020\u000fH\u0016¢\u0006\u0004\b&\u0010\u0003J\u000f\u0010'\u001a\u00020\u000fH\u0017¢\u0006\u0004\b'\u0010\u0003J\u000f\u0010(\u001a\u00020\u000fH\u0017¢\u0006\u0004\b(\u0010\u0003J+\u0010*\u001a\u00020-2\u0006\u0010*\u001a\u00020)2\u0012\u0010,\u001a\u000e\u0012\b\b\u0001\u0012\u0004\u0018\u00010\u0001\u0018\u00010+H\u0016¢\u0006\u0004\b*\u0010.J#\u0010*\u001a\u00020-2\u0006\u0010*\u001a\u00020/2\n\b\u0002\u00101\u001a\u0004\u0018\u000100H\u0017¢\u0006\u0004\b*\u00102J\u0017\u00105\u001a\u0002042\u0006\u00103\u001a\u00020)H\u0016¢\u0006\u0004\b5\u00106J\u000f\u00107\u001a\u00020\u000fH\u0017¢\u0006\u0004\b7\u0010\u0003J\u000f\u00108\u001a\u00020\u000fH\u0017¢\u0006\u0004\b8\u0010\u0003J\u000f\u00109\u001a\u00020\u000fH\u0017¢\u0006\u0004\b9\u0010\u0003J\u0017\u0010<\u001a\u00020\u000f2\u0006\u0010;\u001a\u00020:H\u0016¢\u0006\u0004\b<\u0010=J#\u0010<\u001a\u00028\u0000\"\u0004\b\u0000\u0010>2\f\u0010;\u001a\b\u0012\u0004\u0012\u00028\u00000?H\u0016¢\u0006\u0004\b<\u0010@J\u0017\u0010C\u001a\u00020\u000f2\u0006\u0010B\u001a\u00020AH\u0014¢\u0006\u0004\bC\u0010DJ\u000f\u0010F\u001a\u00020EH\u0016¢\u0006\u0004\bF\u0010GJ-\u0010J\u001a\u0004\u0018\u00018\u0000\"\u0004\b\u0000\u0010\b2\f\u0010H\u001a\b\u0012\u0004\u0012\u00028\u00000\t2\u0006\u0010I\u001a\u00020\u001aH\u0002¢\u0006\u0004\bJ\u0010KJ\u000f\u0010L\u001a\u00020\u000fH\u0002¢\u0006\u0004\bL\u0010\u0003J\u000f\u0010M\u001a\u00020\u000fH\u0002¢\u0006\u0004\bM\u0010\u0003R\u001e\u0010N\u001a\u0004\u0018\u00010A8\u0004@\u0004X\u0085\u000e¢\u0006\f\n\u0004\bN\u0010O\u0012\u0004\bP\u0010\u0003R\u0016\u0010R\u001a\u00020Q8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\bR\u0010SR\u0016\u0010T\u001a\u00020Q8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\bT\u0010SR\u0016\u0010U\u001a\u00020\u001a8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\bU\u0010VR\u001a\u0010W\u001a\u00020\u001d8\u0016X\u0096\u0004¢\u0006\f\n\u0004\bW\u0010X\u001a\u0004\bY\u0010\u001fR\u0016\u0010Z\u001a\u00020E8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bZ\u0010[R\u0016\u0010\\\u001a\u00020E8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\\\u0010[R$\u0010^\u001a\n\u0012\u0004\u0012\u00020]\u0018\u00010\u00158\u0004@\u0004X\u0085\u000e¢\u0006\f\n\u0004\b^\u0010_\u0012\u0004\b`\u0010\u0003RR\u0010\u0014\u001a\u0016\u0012\f\u0012\n\u0012\u0006\b\u0001\u0012\u00020\u00130\t\u0012\u0004\u0012\u00020\u00130a2\u001a\u0010b\u001a\u0016\u0012\f\u0012\n\u0012\u0006\b\u0001\u0012\u00020\u00130\t\u0012\u0004\u0012\u00020\u00130a8E@EX\u0084\u000e¢\u0006\u0012\n\u0004\b\u0014\u0010c\u001a\u0004\bd\u0010!\"\u0004\be\u0010fR\u0014\u0010h\u001a\u00020g8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bh\u0010iR\u0018\u0010k\u001a\u0004\u0018\u00010j8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bk\u0010lR\u001d\u0010o\u001a\b\u0012\u0004\u0012\u00020n0m8G¢\u0006\f\n\u0004\bo\u0010p\u001a\u0004\bq\u0010rR#\u0010s\u001a\u000e\u0012\u0004\u0012\u00020)\u0012\u0004\u0012\u00020\u00010a8G¢\u0006\f\n\u0004\bs\u0010c\u001a\u0004\bt\u0010!R$\u0010u\u001a\u0012\u0012\b\u0012\u0006\u0012\u0002\b\u00030\t\u0012\u0004\u0012\u00020\u00010a8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\bu\u0010cR\u0014\u0010x\u001a\u00020Q8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\bv\u0010wR\u0014\u0010z\u001a\u00020Q8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\by\u0010wR\u0014\u0010I\u001a\u00020\u001a8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b{\u0010|R\u001a\u0010}\u001a\u00020E8VX\u0096\u0004¢\u0006\f\u0012\u0004\b~\u0010\u0003\u001a\u0004\b}\u0010GR\u0018\u0010\u007f\u001a\u00020E8G¢\u0006\r\u0012\u0005\b\u0080\u0001\u0010\u0003\u001a\u0004\b\u007f\u0010GR\u0016\u0010\u0082\u0001\u001a\u00020E8@X\u0080\u0004¢\u0006\u0007\u001a\u0005\b\u0081\u0001\u0010G¨\u0006\u008b\u0001"}, d2 = {"Landroidx/room/RoomDatabase;", "", "<init>", "()V", "Ljava/util/concurrent/locks/Lock;", "getCloseLock$room_runtime_release", "()Ljava/util/concurrent/locks/Lock;", "getCloseLock", "T", "Ljava/lang/Class;", "klass", "getTypeConverter", "(Ljava/lang/Class;)Ljava/lang/Object;", "Landroidx/room/a;", "configuration", "Le6a;", "init", "(Landroidx/room/a;)V", "", "Le20;", "autoMigrationSpecs", "", "Lqw5;", "getAutoMigrations", "(Ljava/util/Map;)Ljava/util/List;", "config", "Lle9;", "createOpenHelper", "(Landroidx/room/a;)Lle9;", "Las4;", "createInvalidationTracker", "()Las4;", "getRequiredTypeConverters", "()Ljava/util/Map;", "", "getRequiredAutoMigrationSpecs", "()Ljava/util/Set;", "clearAllTables", "close", "assertNotMainThread", "assertNotSuspendingTransaction", "", SearchIntents.EXTRA_QUERY, "", "args", "Landroid/database/Cursor;", "(Ljava/lang/String;[Ljava/lang/Object;)Landroid/database/Cursor;", "Lne9;", "Landroid/os/CancellationSignal;", "signal", "(Lne9;Landroid/os/CancellationSignal;)Landroid/database/Cursor;", "sql", "Lpe9;", "compileStatement", "(Ljava/lang/String;)Lpe9;", "beginTransaction", "endTransaction", "setTransactionSuccessful", "Ljava/lang/Runnable;", TtmlNode.TAG_BODY, "runInTransaction", "(Ljava/lang/Runnable;)V", "V", "Ljava/util/concurrent/Callable;", "(Ljava/util/concurrent/Callable;)Ljava/lang/Object;", "Lje9;", "db", "internalInitInvalidationTracker", "(Lje9;)V", "", "inTransaction", "()Z", "clazz", "openHelper", "unwrapOpenHelper", "(Ljava/lang/Class;Lle9;)Ljava/lang/Object;", "internalBeginTransaction", "internalEndTransaction", "mDatabase", "Lje9;", "getMDatabase$annotations", "Ljava/util/concurrent/Executor;", "internalQueryExecutor", "Ljava/util/concurrent/Executor;", "internalTransactionExecutor", "internalOpenHelper", "Lle9;", "invalidationTracker", "Las4;", "getInvalidationTracker", "allowMainThreadQueries", "Z", "writeAheadLoggingEnabled", "Landroidx/room/RoomDatabase$b;", "mCallbacks", "Ljava/util/List;", "getMCallbacks$annotations", "", "<set-?>", "Ljava/util/Map;", "getAutoMigrationSpecs", "setAutoMigrationSpecs", "(Ljava/util/Map;)V", "Ljava/util/concurrent/locks/ReentrantReadWriteLock;", "readWriteLock", "Ljava/util/concurrent/locks/ReentrantReadWriteLock;", "Lu00;", "autoCloser", "Lu00;", "Ljava/lang/ThreadLocal;", "", "suspendingTransactionId", "Ljava/lang/ThreadLocal;", "getSuspendingTransactionId", "()Ljava/lang/ThreadLocal;", "backingFieldMap", "getBackingFieldMap", "typeConverters", "getQueryExecutor", "()Ljava/util/concurrent/Executor;", "queryExecutor", "getTransactionExecutor", "transactionExecutor", "getOpenHelper", "()Lle9;", "isOpen", "isOpen$annotations", "isOpenInternal", "isOpenInternal$annotations", "isMainThread$room_runtime_release", "isMainThread", "Companion", CmcdData.OBJECT_TYPE_AUDIO_ONLY, "b", "c", "d", "e", "f", "g", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
@vx8
public abstract class RoomDatabase {

    @m38
    public static final int MAX_BIND_PARAMETER_CNT = 999;
    private boolean allowMainThreadQueries;

    @pq6
    private u00 autoCloser;

    @kp6
    private final Map<String, Object> backingFieldMap;
    private le9 internalOpenHelper;
    private Executor internalQueryExecutor;
    private Executor internalTransactionExecutor;

    @m38
    @pq6
    @m15
    protected List<? extends b> mCallbacks;

    @pq6
    @m15
    protected volatile je9 mDatabase;

    @kp6
    private final Map<Class<?>, Object> typeConverters;
    private boolean writeAheadLoggingEnabled;

    @kp6
    private final as4 invalidationTracker = createInvalidationTracker();

    @kp6
    private Map<Class<? extends e20>, e20> autoMigrationSpecs = new LinkedHashMap();

    @kp6
    private final ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock();

    @kp6
    private final ThreadLocal<Integer> suspendingTransactionId = new ThreadLocal<>();

    @Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\b\u0016\u0018\u0000*\b\b\u0000\u0010\u0002*\u00020\u00012\u00020\u0003¨\u0006\u0004"}, d2 = {"Landroidx/room/RoomDatabase$a;", "Landroidx/room/RoomDatabase;", "T", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    @vx8
    public static class a<T extends RoomDatabase> {
        public final Context a;
        public final Class b;
        public final String c;
        public final ArrayList d;
        public final ArrayList e;
        public final ArrayList f;
        public Executor g;
        public Executor h;
        public le9.c i;
        public boolean j;
        public d k;
        public boolean l;
        public boolean m;
        public final long n;
        public final e o;
        public final LinkedHashSet p;
        public HashSet q;

        public a(Context context, Class cls, String str) {
            cr4.g(context, "context");
            this.a = context;
            this.b = cls;
            this.c = str;
            this.d = new ArrayList();
            this.e = new ArrayList();
            this.f = new ArrayList();
            this.k = d.a;
            this.l = true;
            this.n = -1L;
            this.o = new e();
            this.p = new LinkedHashSet();
        }

        public final void a(qw5... qw5VarArr) {
            if (this.q == null) {
                this.q = new HashSet();
            }
            for (qw5 qw5Var : qw5VarArr) {
                HashSet hashSet = this.q;
                cr4.d(hashSet);
                hashSet.add(Integer.valueOf(qw5Var.a));
                HashSet hashSet2 = this.q;
                cr4.d(hashSet2);
                hashSet2.add(Integer.valueOf(qw5Var.b));
            }
            this.o.a((qw5[]) Arrays.copyOf(qw5VarArr, qw5VarArr.length));
        }

        public final RoomDatabase b() {
            String str;
            Executor executor = this.g;
            if (executor == null && this.h == null) {
                kr krVar = lr.c;
                this.h = krVar;
                this.g = krVar;
            } else if (executor != null && this.h == null) {
                this.h = executor;
            } else if (executor == null) {
                this.g = this.h;
            }
            HashSet hashSet = this.q;
            LinkedHashSet linkedHashSet = this.p;
            if (hashSet != null) {
                Iterator it = hashSet.iterator();
                while (it.hasNext()) {
                    int iIntValue = ((Number) it.next()).intValue();
                    if (linkedHashSet.contains(Integer.valueOf(iIntValue))) {
                        throw new IllegalArgumentException(n41.k("Inconsistency detected. A Migration was supplied to addMigration(Migration... migrations) that has a start or end version equal to a start version supplied to fallbackToDestructiveMigrationFrom(int... startVersions). Start version: ", iIntValue).toString());
                    }
                }
            }
            le9.c aq3Var = this.i;
            if (aq3Var == null) {
                aq3Var = new aq3();
            }
            le9.c cVar = aq3Var;
            if (this.n > 0) {
                if (this.c != null) {
                    throw new IllegalArgumentException("Required value was null.");
                }
                throw new IllegalArgumentException("Cannot create auto-closing database for an in-memory database.");
            }
            boolean z = this.j;
            d dVar = this.k;
            dVar.getClass();
            Context context = this.a;
            cr4.g(context, "context");
            if (dVar == d.a) {
                Object systemService = context.getSystemService("activity");
                ActivityManager activityManager = systemService instanceof ActivityManager ? (ActivityManager) systemService : null;
                dVar = (activityManager == null || activityManager.isLowRamDevice()) ? d.b : d.c;
            }
            d dVar2 = dVar;
            Executor executor2 = this.g;
            if (executor2 == null) {
                throw new IllegalArgumentException("Required value was null.");
            }
            Executor executor3 = this.h;
            if (executor3 == null) {
                throw new IllegalArgumentException("Required value was null.");
            }
            androidx.room.a aVar = new androidx.room.a(context, this.c, cVar, this.o, this.d, z, dVar2, executor2, executor3, this.l, this.m, linkedHashSet, this.e, this.f);
            Class cls = this.b;
            Package r4 = cls.getPackage();
            cr4.d(r4);
            String name = r4.getName();
            String canonicalName = cls.getCanonicalName();
            cr4.d(canonicalName);
            cr4.f(name, "fullPackage");
            if (name.length() != 0) {
                canonicalName = canonicalName.substring(name.length() + 1);
                cr4.f(canonicalName, "this as java.lang.String).substring(startIndex)");
            }
            String strConcat = n89.am(canonicalName, '.', '_').concat("_Impl");
            try {
                if (name.length() == 0) {
                    str = strConcat;
                } else {
                    str = name + '.' + strConcat;
                }
                Class<?> cls2 = Class.forName(str, true, cls.getClassLoader());
                cr4.e(cls2, "null cannot be cast to non-null type java.lang.Class<T of androidx.room.Room.getGeneratedImplementation>");
                RoomDatabase roomDatabase = (RoomDatabase) cls2.getDeclaredConstructor(null).newInstance(null);
                roomDatabase.init(aVar);
                return roomDatabase;
            } catch (ClassNotFoundException unused) {
                throw new RuntimeException("Cannot find implementation for " + cls.getCanonicalName() + ". " + strConcat + " does not exist");
            } catch (IllegalAccessException unused2) {
                throw new RuntimeException("Cannot access the constructor " + cls.getCanonicalName());
            } catch (InstantiationException unused3) {
                throw new RuntimeException("Failed to create an instance of " + cls.getCanonicalName());
            }
        }
    }

    @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\b&\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Landroidx/room/RoomDatabase$b;", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    public static abstract class b {
        public void a(je9 je9Var) {
            cr4.g(je9Var, "db");
        }
    }

    /* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */
    /* JADX WARN: Unknown enum class pattern. Please report as an issue! */
    @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0000\b\u0086\u0001\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001¨\u0006\u0002"}, d2 = {"Landroidx/room/RoomDatabase$d;", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    public static final class d {
        public static final d a;
        public static final d b;
        public static final d c;
        public static final /* synthetic */ d[] d;

        static {
            d dVar = new d("AUTOMATIC", 0);
            a = dVar;
            d dVar2 = new d("TRUNCATE", 1);
            b = dVar2;
            d dVar3 = new d("WRITE_AHEAD_LOGGING", 2);
            c = dVar3;
            d = new d[]{dVar, dVar2, dVar3};
        }

        public static d valueOf(String str) {
            return (d) Enum.valueOf(d.class, str);
        }

        public static d[] values() {
            return (d[]) d.clone();
        }
    }

    @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\b\u0016\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Landroidx/room/RoomDatabase$e;", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    @vx8
    public static class e {
        public final LinkedHashMap a = new LinkedHashMap();

        public final void a(qw5... qw5VarArr) {
            cr4.g(qw5VarArr, "migrations");
            for (qw5 qw5Var : qw5VarArr) {
                int i = qw5Var.a;
                int i2 = qw5Var.b;
                Integer numValueOf = Integer.valueOf(i);
                LinkedHashMap linkedHashMap = this.a;
                Object treeMap = linkedHashMap.get(numValueOf);
                if (treeMap == null) {
                    treeMap = new TreeMap();
                    linkedHashMap.put(numValueOf, treeMap);
                }
                TreeMap treeMap2 = (TreeMap) treeMap;
                if (treeMap2.containsKey(Integer.valueOf(i2))) {
                    Log.w("ROOM", "Overriding migration " + treeMap2.get(Integer.valueOf(i2)) + " with " + qw5Var);
                }
                treeMap2.put(Integer.valueOf(i2), qw5Var);
            }
        }
    }

    @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\b&\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Landroidx/room/RoomDatabase$f;", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    public static abstract class f {
    }

    @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\bæ\u0080\u0001\u0018\u00002\u00020\u0001ø\u0001\u0000\u0082\u0002\u0006\n\u0004\b!0\u0001¨\u0006\u0002À\u0006\u0001"}, d2 = {"Landroidx/room/RoomDatabase$g;", "", "room-runtime_release"}, k = 1, mv = {1, 8, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
    public interface g {
    }

    @Metadata(d1 = {"\u0000\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\u0010\u0005\u001a\u0004\u0018\u00010\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n¢\u0006\u0004\b\u0003\u0010\u0004"}, d2 = {"Lje9;", "it", "", "invoke", "(Lje9;)Ljava/lang/Object;", "<anonymous>"}, k = 3, mv = {1, 8, 0})
    public static final class h extends u55 implements sq3<je9, Object> {
        @Override // defpackage.sq3
        public final Object invoke(Object obj) {
            cr4.g((je9) obj, "it");
            ((RoomDatabase) null).internalBeginTransaction();
            return null;
        }
    }

    @Metadata(d1 = {"\u0000\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\u0010\u0005\u001a\u0004\u0018\u00010\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n¢\u0006\u0004\b\u0003\u0010\u0004"}, d2 = {"Lje9;", "it", "", "invoke", "(Lje9;)Ljava/lang/Object;", "<anonymous>"}, k = 3, mv = {1, 8, 0})
    public static final class i extends u55 implements sq3<je9, Object> {
        @Override // defpackage.sq3
        public final Object invoke(Object obj) {
            cr4.g((je9) obj, "it");
            ((RoomDatabase) null).internalEndTransaction();
            return null;
        }
    }

    public RoomDatabase() {
        Map<String, Object> mapSynchronizedMap = Collections.synchronizedMap(new LinkedHashMap());
        cr4.f(mapSynchronizedMap, "synchronizedMap(mutableMapOf())");
        this.backingFieldMap = mapSynchronizedMap;
        this.typeConverters = new LinkedHashMap();
    }

    @e52
    public static /* synthetic */ void getMCallbacks$annotations() {
    }

    @e52
    public static /* synthetic */ void getMDatabase$annotations() {
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final void internalBeginTransaction() {
        assertNotMainThread();
        je9 writableDatabase = getOpenHelper().getWritableDatabase();
        getInvalidationTracker().f(writableDatabase);
        if (writableDatabase.isWriteAheadLoggingEnabled()) {
            writableDatabase.beginTransactionNonExclusive();
        } else {
            writableDatabase.beginTransaction();
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final void internalEndTransaction() {
        getOpenHelper().getWritableDatabase().endTransaction();
        if (inTransaction()) {
            return;
        }
        as4 invalidationTracker = getInvalidationTracker();
        if (invalidationTracker.f.compareAndSet(false, true)) {
            invalidationTracker.a.getQueryExecutor().execute(invalidationTracker.o);
        }
    }

    public static /* synthetic */ void isOpen$annotations() {
    }

    public static /* synthetic */ void isOpenInternal$annotations() {
    }

    public static /* synthetic */ Cursor query$default(RoomDatabase roomDatabase, ne9 ne9Var, CancellationSignal cancellationSignal, int i2, Object obj) {
        if (obj != null) {
            throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: query");
        }
        if ((i2 & 2) != 0) {
            cancellationSignal = null;
        }
        return roomDatabase.query(ne9Var, cancellationSignal);
    }

    /* JADX WARN: Multi-variable type inference failed */
    private final <T> T unwrapOpenHelper(Class<T> clazz, le9 openHelper) {
        if (clazz.isInstance(openHelper)) {
            return openHelper;
        }
        if (openHelper instanceof y32) {
            return (T) unwrapOpenHelper(clazz, ((y32) openHelper).getDelegate());
        }
        return null;
    }

    @m38
    public void assertNotMainThread() {
        if (!this.allowMainThreadQueries && isMainThread$room_runtime_release()) {
            throw new IllegalStateException("Cannot access database on the main thread since it may potentially lock the UI for a long period of time.");
        }
    }

    @m38
    public void assertNotSuspendingTransaction() {
        if (!inTransaction() && this.suspendingTransactionId.get() != null) {
            throw new IllegalStateException("Cannot access database on a different coroutine context inherited from a suspending transaction.");
        }
    }

    /* JADX WARN: Code restructure failed: missing block: B:11:?, code lost:
    
        throw null;
     */
    @e52
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public void beginTransaction() {
        assertNotMainThread();
        if (this.autoCloser != null) {
            throw null;
        }
        internalBeginTransaction();
    }

    @dva
    public abstract void clearAllTables();

    public void close() {
        if (isOpen()) {
            ReentrantReadWriteLock.WriteLock writeLock = this.readWriteLock.writeLock();
            cr4.f(writeLock, "readWriteLock.writeLock()");
            writeLock.lock();
            try {
                as4 invalidationTracker = getInvalidationTracker();
                if (invalidationTracker.l != null) {
                    throw null;
                }
                invalidationTracker.l = null;
                getOpenHelper().close();
            } finally {
                writeLock.unlock();
            }
        }
    }

    @kp6
    public pe9 compileStatement(@kp6 String sql) {
        cr4.g(sql, "sql");
        assertNotMainThread();
        assertNotSuspendingTransaction();
        return getOpenHelper().getWritableDatabase().compileStatement(sql);
    }

    @kp6
    public abstract as4 createInvalidationTracker();

    @kp6
    public abstract le9 createOpenHelper(@kp6 androidx.room.a config);

    /* JADX WARN: Code restructure failed: missing block: B:11:?, code lost:
    
        throw null;
     */
    @e52
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public void endTransaction() {
        if (this.autoCloser != null) {
            throw null;
        }
        internalEndTransaction();
    }

    @m38
    @kp6
    public final Map<Class<? extends e20>, e20> getAutoMigrationSpecs() {
        return this.autoMigrationSpecs;
    }

    @m38
    @z15
    @kp6
    public List<qw5> getAutoMigrations(@kp6 Map<Class<? extends e20>, e20> autoMigrationSpecs) {
        cr4.g(autoMigrationSpecs, "autoMigrationSpecs");
        return ik2.a;
    }

    @m38
    @kp6
    public final Map<String, Object> getBackingFieldMap() {
        return this.backingFieldMap;
    }

    @kp6
    public final Lock getCloseLock$room_runtime_release() {
        ReentrantReadWriteLock.ReadLock lock = this.readWriteLock.readLock();
        cr4.f(lock, "readWriteLock.readLock()");
        return lock;
    }

    @kp6
    public as4 getInvalidationTracker() {
        return this.invalidationTracker;
    }

    @kp6
    public le9 getOpenHelper() {
        le9 le9Var = this.internalOpenHelper;
        if (le9Var != null) {
            return le9Var;
        }
        cr4.n("internalOpenHelper");
        throw null;
    }

    @kp6
    public Executor getQueryExecutor() {
        Executor executor = this.internalQueryExecutor;
        if (executor != null) {
            return executor;
        }
        cr4.n("internalQueryExecutor");
        throw null;
    }

    @m38
    @kp6
    public Set<Class<? extends e20>> getRequiredAutoMigrationSpecs() {
        return pk2.a;
    }

    @m38
    @kp6
    public Map<Class<?>, List<Class<?>>> getRequiredTypeConverters() {
        return jk2.a;
    }

    @m38
    @kp6
    public final ThreadLocal<Integer> getSuspendingTransactionId() {
        return this.suspendingTransactionId;
    }

    @kp6
    public Executor getTransactionExecutor() {
        Executor executor = this.internalTransactionExecutor;
        if (executor != null) {
            return executor;
        }
        cr4.n("internalTransactionExecutor");
        throw null;
    }

    @pq6
    public <T> T getTypeConverter(@kp6 Class<T> klass) {
        cr4.g(klass, "klass");
        return (T) this.typeConverters.get(klass);
    }

    public boolean inTransaction() {
        return getOpenHelper().getWritableDatabase().inTransaction();
    }

    @or0
    public void init(@kp6 androidx.room.a configuration) {
        cr4.g(configuration, "configuration");
        e eVar = configuration.d;
        List list = configuration.n;
        List list2 = configuration.m;
        this.internalOpenHelper = createOpenHelper(configuration);
        Set<Class<? extends e20>> requiredAutoMigrationSpecs = getRequiredAutoMigrationSpecs();
        BitSet bitSet = new BitSet();
        Iterator<Class<? extends e20>> it = requiredAutoMigrationSpecs.iterator();
        while (true) {
            int i2 = -1;
            if (it.hasNext()) {
                Class<? extends e20> next = it.next();
                int size = list.size() - 1;
                if (size >= 0) {
                    while (true) {
                        int i3 = size - 1;
                        if (next.isAssignableFrom(list.get(size).getClass())) {
                            bitSet.set(size);
                            i2 = size;
                            break;
                        } else if (i3 < 0) {
                            break;
                        } else {
                            size = i3;
                        }
                    }
                }
                if (i2 < 0) {
                    throw new IllegalArgumentException(("A required auto migration spec (" + next.getCanonicalName() + ") is missing in the database configuration.").toString());
                }
                this.autoMigrationSpecs.put(next, (e20) list.get(i2));
            } else {
                int size2 = list.size() - 1;
                if (size2 >= 0) {
                    while (true) {
                        int i4 = size2 - 1;
                        if (!bitSet.get(size2)) {
                            throw new IllegalArgumentException("Unexpected auto migration specs found. Annotate AutoMigrationSpec implementation with @ProvidedAutoMigrationSpec annotation or remove this spec from the builder.");
                        }
                        if (i4 < 0) {
                            break;
                        } else {
                            size2 = i4;
                        }
                    }
                }
                Iterator<qw5> it2 = getAutoMigrations(this.autoMigrationSpecs).iterator();
                while (true) {
                    boolean zContainsKey = false;
                    if (!it2.hasNext()) {
                        break;
                    }
                    qw5 next2 = it2.next();
                    int i5 = next2.a;
                    int i6 = next2.b;
                    LinkedHashMap linkedHashMap = eVar.a;
                    if (linkedHashMap.containsKey(Integer.valueOf(i5))) {
                        Map map = (Map) linkedHashMap.get(Integer.valueOf(i5));
                        if (map == null) {
                            map = jk2.a;
                        }
                        zContainsKey = map.containsKey(Integer.valueOf(i6));
                    }
                    if (!zContainsKey) {
                        eVar.a(next2);
                    }
                }
                if (((u10) unwrapOpenHelper(u10.class, getOpenHelper())) != null) {
                    throw null;
                }
                boolean z = configuration.g == d.c;
                getOpenHelper().setWriteAheadLoggingEnabled(z);
                this.mCallbacks = configuration.e;
                this.internalQueryExecutor = configuration.h;
                this.internalTransactionExecutor = new vs9(configuration.i);
                this.allowMainThreadQueries = configuration.f;
                this.writeAheadLoggingEnabled = z;
                Map<Class<?>, List<Class<?>>> requiredTypeConverters = getRequiredTypeConverters();
                BitSet bitSet2 = new BitSet();
                for (Map.Entry<Class<?>, List<Class<?>>> entry : requiredTypeConverters.entrySet()) {
                    Class<?> key = entry.getKey();
                    for (Class<?> cls : entry.getValue()) {
                        int size3 = list2.size() - 1;
                        if (size3 >= 0) {
                            while (true) {
                                int i7 = size3 - 1;
                                if (cls.isAssignableFrom(list2.get(size3).getClass())) {
                                    bitSet2.set(size3);
                                    break;
                                } else if (i7 < 0) {
                                    break;
                                } else {
                                    size3 = i7;
                                }
                            }
                            size3 = -1;
                        } else {
                            size3 = -1;
                        }
                        if (!(size3 >= 0)) {
                            throw new IllegalArgumentException(("A required type converter (" + cls + ") for " + key.getCanonicalName() + " is missing in the database configuration.").toString());
                        }
                        this.typeConverters.put(cls, list2.get(size3));
                    }
                }
                int size4 = list2.size() - 1;
                if (size4 < 0) {
                    return;
                }
                while (true) {
                    int i8 = size4 - 1;
                    if (!bitSet2.get(size4)) {
                        throw new IllegalArgumentException("Unexpected type converter " + list2.get(size4) + ". Annotate TypeConverter class with @ProvidedTypeConverter annotation or remove this converter from the builder.");
                    }
                    if (i8 < 0) {
                        return;
                    } else {
                        size4 = i8;
                    }
                }
            }
        }
    }

    public void internalInitInvalidationTracker(@kp6 je9 db) {
        cr4.g(db, "db");
        as4 invalidationTracker = getInvalidationTracker();
        invalidationTracker.getClass();
        synchronized (invalidationTracker.n) {
            if (invalidationTracker.g) {
                Log.e("ROOM", "Invalidation tracker is initialized twice :/.");
                return;
            }
            db.execSQL("PRAGMA temp_store = MEMORY;");
            db.execSQL("PRAGMA recursive_triggers='ON';");
            db.execSQL("CREATE TEMP TABLE room_table_modification_log (table_id INTEGER PRIMARY KEY, invalidated INTEGER NOT NULL DEFAULT 0)");
            invalidationTracker.f(db);
            invalidationTracker.h = db.compileStatement("UPDATE room_table_modification_log SET invalidated = 0 WHERE invalidated = 1");
            invalidationTracker.g = true;
        }
    }

    public final boolean isMainThread$room_runtime_release() {
        return Looper.getMainLooper().getThread() == Thread.currentThread();
    }

    public boolean isOpen() {
        Boolean boolValueOf;
        boolean zIsOpen;
        if (this.autoCloser != null) {
            zIsOpen = true;
        } else {
            je9 je9Var = this.mDatabase;
            if (je9Var == null) {
                boolValueOf = null;
                return cr4.b(boolValueOf, Boolean.TRUE);
            }
            zIsOpen = je9Var.isOpen();
        }
        boolValueOf = Boolean.valueOf(zIsOpen);
        return cr4.b(boolValueOf, Boolean.TRUE);
    }

    @m38
    public final boolean isOpenInternal() {
        je9 je9Var = this.mDatabase;
        return je9Var != null && je9Var.isOpen();
    }

    @kp6
    @s15
    public final Cursor query(@kp6 ne9 ne9Var) {
        cr4.g(ne9Var, SearchIntents.EXTRA_QUERY);
        return query$default(this, ne9Var, null, 2, null);
    }

    public void runInTransaction(@kp6 Runnable body) {
        cr4.g(body, TtmlNode.TAG_BODY);
        beginTransaction();
        try {
            body.run();
            setTransactionSuccessful();
        } finally {
            endTransaction();
        }
    }

    @m38
    public final void setAutoMigrationSpecs(@kp6 Map<Class<? extends e20>, e20> map) {
        cr4.g(map, "<set-?>");
        this.autoMigrationSpecs = map;
    }

    @e52
    public void setTransactionSuccessful() {
        getOpenHelper().getWritableDatabase().setTransactionSuccessful();
    }

    @kp6
    public Cursor query(@kp6 String query, @pq6 Object[] args) {
        cr4.g(query, SearchIntents.EXTRA_QUERY);
        return getOpenHelper().getWritableDatabase().query(new xt8(query, args));
    }

    @kp6
    @s15
    public Cursor query(@kp6 ne9 query, @pq6 CancellationSignal signal) {
        cr4.g(query, SearchIntents.EXTRA_QUERY);
        assertNotMainThread();
        assertNotSuspendingTransaction();
        if (signal != null) {
            return getOpenHelper().getWritableDatabase().query(query, signal);
        }
        return getOpenHelper().getWritableDatabase().query(query);
    }

    public <V> V runInTransaction(@kp6 Callable<V> body) {
        cr4.g(body, TtmlNode.TAG_BODY);
        beginTransaction();
        try {
            V vCall = body.call();
            setTransactionSuccessful();
            return vCall;
        } finally {
            endTransaction();
        }
    }
}
