package androidx.room.util; import androidx.annotation.RestrictTo; import androidx.annotation.VisibleForTesting; import androidx.room.ColumnInfo; import androidx.room.Index; import androidx.sqlite.db.SupportSQLiteDatabase; import com.google.android.gms.ads.AdError; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.SourceDebugExtension; import kotlin.text.StringsKt__StringsJVMKt; import kotlin.text.StringsKt__StringsKt; @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) /* loaded from: classes.dex */ public final class TableInfo { public static final int CREATED_FROM_DATABASE = 2; public static final int CREATED_FROM_ENTITY = 1; public static final int CREATED_FROM_UNKNOWN = 0; public static final Companion Companion = new Companion(null); public final Map columns; public final Set foreignKeys; public final Set indices; public final String name; @Retention(RetentionPolicy.SOURCE) public @interface CreatedFrom { } public static final TableInfo read(SupportSQLiteDatabase supportSQLiteDatabase, String str) { return Companion.read(supportSQLiteDatabase, str); } public TableInfo(String name, Map columns, Set foreignKeys, Set set) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(columns, "columns"); Intrinsics.checkNotNullParameter(foreignKeys, "foreignKeys"); this.name = name; this.columns = columns; this.foreignKeys = foreignKeys; this.indices = set; } public /* synthetic */ TableInfo(String str, Map map, Set set, Set set2, int i, DefaultConstructorMarker defaultConstructorMarker) { this(str, map, set, (i & 8) != 0 ? null : set2); } /* JADX WARN: Illegal instructions before constructor call */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public TableInfo(java.lang.String r2, java.util.Map r3, java.util.Set r4) { /* r1 = this; java.lang.String r0 = "name" kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r2, r0) java.lang.String r0 = "columns" kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r3, r0) java.lang.String r0 = "foreignKeys" kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r4, r0) java.util.Set r0 = kotlin.collections.SetsKt.emptySet() r1.(r2, r3, r4, r0) return */ throw new UnsupportedOperationException("Method not decompiled: androidx.room.util.TableInfo.(java.lang.String, java.util.Map, java.util.Set):void"); } public boolean equals(Object obj) { Set set; if (this == obj) { return true; } if (!(obj instanceof TableInfo)) { return false; } TableInfo tableInfo = (TableInfo) obj; if (!Intrinsics.areEqual(this.name, tableInfo.name) || !Intrinsics.areEqual(this.columns, tableInfo.columns) || !Intrinsics.areEqual(this.foreignKeys, tableInfo.foreignKeys)) { return false; } Set set2 = this.indices; if (set2 == null || (set = tableInfo.indices) == null) { return true; } return Intrinsics.areEqual(set2, set); } public int hashCode() { return (((this.name.hashCode() * 31) + this.columns.hashCode()) * 31) + this.foreignKeys.hashCode(); } public String toString() { return "TableInfo{name='" + this.name + "', columns=" + this.columns + ", foreignKeys=" + this.foreignKeys + ", indices=" + this.indices + '}'; } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } public final TableInfo read(SupportSQLiteDatabase database, String tableName) { Intrinsics.checkNotNullParameter(database, "database"); Intrinsics.checkNotNullParameter(tableName, "tableName"); return TableInfoKt.readTableInfo(database, tableName); } } public static final class Column { public static final Companion Companion = new Companion(null); public final int affinity; public final int createdFrom; public final String defaultValue; public final String name; public final boolean notNull; public final int primaryKeyPosition; public final String type; @VisibleForTesting public static final boolean defaultValueEquals(String str, String str2) { return Companion.defaultValueEquals(str, str2); } @ColumnInfo.SQLiteTypeAffinity public static /* synthetic */ void getAffinity$annotations() { } public final boolean isPrimaryKey() { return this.primaryKeyPosition > 0; } public Column(String name, String type, boolean z, int i, String str, int i2) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(type, "type"); this.name = name; this.type = type; this.notNull = z; this.primaryKeyPosition = i; this.defaultValue = str; this.createdFrom = i2; this.affinity = findAffinity(type); } /* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */ public Column(String name, String type, boolean z, int i) { this(name, type, z, i, null, 0); Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(type, "type"); } @ColumnInfo.SQLiteTypeAffinity private final int findAffinity(String str) { boolean contains$default; boolean contains$default2; boolean contains$default3; boolean contains$default4; boolean contains$default5; boolean contains$default6; boolean contains$default7; boolean contains$default8; if (str == null) { return 5; } Locale US = Locale.US; Intrinsics.checkNotNullExpressionValue(US, "US"); String upperCase = str.toUpperCase(US); Intrinsics.checkNotNullExpressionValue(upperCase, "this as java.lang.String).toUpperCase(locale)"); contains$default = StringsKt__StringsKt.contains$default(upperCase, "INT", false, 2, null); if (contains$default) { return 3; } contains$default2 = StringsKt__StringsKt.contains$default(upperCase, "CHAR", false, 2, null); if (!contains$default2) { contains$default3 = StringsKt__StringsKt.contains$default(upperCase, "CLOB", false, 2, null); if (!contains$default3) { contains$default4 = StringsKt__StringsKt.contains$default(upperCase, "TEXT", false, 2, null); if (!contains$default4) { contains$default5 = StringsKt__StringsKt.contains$default(upperCase, "BLOB", false, 2, null); if (contains$default5) { return 5; } contains$default6 = StringsKt__StringsKt.contains$default(upperCase, "REAL", false, 2, null); if (contains$default6) { return 4; } contains$default7 = StringsKt__StringsKt.contains$default(upperCase, "FLOA", false, 2, null); if (contains$default7) { return 4; } contains$default8 = StringsKt__StringsKt.contains$default(upperCase, "DOUB", false, 2, null); return contains$default8 ? 4 : 1; } } } return 2; } @SourceDebugExtension({"SMAP\nTableInfo.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfo$Column$Companion\n+ 2 _Strings.kt\nkotlin/text/StringsKt___StringsKt\n*L\n1#1,646:1\n1183#2,3:647\n*S KotlinDebug\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfo$Column$Companion\n*L\n249#1:647,3\n*E\n"}) public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } @VisibleForTesting public final boolean defaultValueEquals(String current, String str) { CharSequence trim; Intrinsics.checkNotNullParameter(current, "current"); if (Intrinsics.areEqual(current, str)) { return true; } if (!containsSurroundingParenthesis(current)) { return false; } String substring = current.substring(1, current.length() - 1); Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)"); trim = StringsKt__StringsKt.trim(substring); return Intrinsics.areEqual(trim.toString(), str); } private final boolean containsSurroundingParenthesis(String str) { if (str.length() == 0) { return false; } int i = 0; int i2 = 0; int i3 = 0; while (i < str.length()) { char charAt = str.charAt(i); int i4 = i3 + 1; if (i3 == 0 && charAt != '(') { return false; } if (charAt == '(') { i2++; } else if (charAt == ')' && i2 - 1 == 0 && i3 != str.length() - 1) { return false; } i++; i3 = i4; } return i2 == 0; } } public boolean equals(Object obj) { String str; String str2; String str3; if (this == obj) { return true; } if (!(obj instanceof Column) || this.primaryKeyPosition != ((Column) obj).primaryKeyPosition) { return false; } Column column = (Column) obj; if (!Intrinsics.areEqual(this.name, column.name) || this.notNull != column.notNull) { return false; } if (this.createdFrom == 1 && column.createdFrom == 2 && (str3 = this.defaultValue) != null && !Companion.defaultValueEquals(str3, column.defaultValue)) { return false; } if (this.createdFrom == 2 && column.createdFrom == 1 && (str2 = column.defaultValue) != null && !Companion.defaultValueEquals(str2, this.defaultValue)) { return false; } int i = this.createdFrom; return (i == 0 || i != column.createdFrom || ((str = this.defaultValue) == null ? column.defaultValue == null : Companion.defaultValueEquals(str, column.defaultValue))) && this.affinity == column.affinity; } public int hashCode() { return (((((this.name.hashCode() * 31) + this.affinity) * 31) + (this.notNull ? 1231 : 1237)) * 31) + this.primaryKeyPosition; } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Column{name='"); sb.append(this.name); sb.append("', type='"); sb.append(this.type); sb.append("', affinity='"); sb.append(this.affinity); sb.append("', notNull="); sb.append(this.notNull); sb.append(", primaryKeyPosition="); sb.append(this.primaryKeyPosition); sb.append(", defaultValue='"); String str = this.defaultValue; if (str == null) { str = AdError.UNDEFINED_DOMAIN; } sb.append(str); sb.append("'}"); return sb.toString(); } } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public static final class ForeignKey { public final List columnNames; public final String onDelete; public final String onUpdate; public final List referenceColumnNames; public final String referenceTable; public ForeignKey(String referenceTable, String onDelete, String onUpdate, List columnNames, List referenceColumnNames) { Intrinsics.checkNotNullParameter(referenceTable, "referenceTable"); Intrinsics.checkNotNullParameter(onDelete, "onDelete"); Intrinsics.checkNotNullParameter(onUpdate, "onUpdate"); Intrinsics.checkNotNullParameter(columnNames, "columnNames"); Intrinsics.checkNotNullParameter(referenceColumnNames, "referenceColumnNames"); this.referenceTable = referenceTable; this.onDelete = onDelete; this.onUpdate = onUpdate; this.columnNames = columnNames; this.referenceColumnNames = referenceColumnNames; } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof ForeignKey)) { return false; } ForeignKey foreignKey = (ForeignKey) obj; if (Intrinsics.areEqual(this.referenceTable, foreignKey.referenceTable) && Intrinsics.areEqual(this.onDelete, foreignKey.onDelete) && Intrinsics.areEqual(this.onUpdate, foreignKey.onUpdate) && Intrinsics.areEqual(this.columnNames, foreignKey.columnNames)) { return Intrinsics.areEqual(this.referenceColumnNames, foreignKey.referenceColumnNames); } return false; } public int hashCode() { return (((((((this.referenceTable.hashCode() * 31) + this.onDelete.hashCode()) * 31) + this.onUpdate.hashCode()) * 31) + this.columnNames.hashCode()) * 31) + this.referenceColumnNames.hashCode(); } public String toString() { return "ForeignKey{referenceTable='" + this.referenceTable + "', onDelete='" + this.onDelete + " +', onUpdate='" + this.onUpdate + "', columnNames=" + this.columnNames + ", referenceColumnNames=" + this.referenceColumnNames + '}'; } } public static final class ForeignKeyWithSequence implements Comparable { private final String from; private final int id; private final int sequence; private final String to; public final String getFrom() { return this.from; } public final int getId() { return this.id; } public final int getSequence() { return this.sequence; } public final String getTo() { return this.to; } public ForeignKeyWithSequence(int i, int i2, String from, String to) { Intrinsics.checkNotNullParameter(from, "from"); Intrinsics.checkNotNullParameter(to, "to"); this.id = i; this.sequence = i2; this.from = from; this.to = to; } @Override // java.lang.Comparable public int compareTo(ForeignKeyWithSequence other) { Intrinsics.checkNotNullParameter(other, "other"); int i = this.id - other.id; return i == 0 ? this.sequence - other.sequence : i; } } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) @SourceDebugExtension({"SMAP\nTableInfo.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfo$Index\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,646:1\n1#2:647\n*E\n"}) public static final class Index { public static final Companion Companion = new Companion(null); public static final String DEFAULT_PREFIX = "index_"; public final List columns; public final String name; public List orders; public final boolean unique; /* JADX WARN: Multi-variable type inference failed */ /* JADX WARN: Type inference failed for: r5v1, types: [java.util.Collection] */ /* JADX WARN: Type inference failed for: r5v2 */ /* JADX WARN: Type inference failed for: r5v4, types: [java.util.ArrayList] */ public Index(String name, boolean z, List columns, List orders) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(columns, "columns"); Intrinsics.checkNotNullParameter(orders, "orders"); this.name = name; this.unique = z; this.columns = columns; this.orders = orders; List list = orders; if (list.isEmpty()) { int size = columns.size(); list = new ArrayList(size); for (int i = 0; i < size; i++) { list.add(Index.Order.ASC.name()); } } this.orders = (List) list; } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } } /* JADX WARN: Illegal instructions before constructor call */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public Index(java.lang.String r5, boolean r6, java.util.List r7) { /* r4 = this; java.lang.String r0 = "name" kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r5, r0) java.lang.String r0 = "columns" kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r7, r0) int r0 = r7.size() java.util.ArrayList r1 = new java.util.ArrayList r1.(r0) r2 = 0 L14: if (r2 >= r0) goto L22 androidx.room.Index$Order r3 = androidx.room.Index.Order.ASC java.lang.String r3 = r3.name() r1.add(r3) int r2 = r2 + 1 goto L14 L22: r4.(r5, r6, r7, r1) return */ throw new UnsupportedOperationException("Method not decompiled: androidx.room.util.TableInfo.Index.(java.lang.String, boolean, java.util.List):void"); } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof Index)) { return false; } Index index = (Index) obj; if (this.unique != index.unique || !Intrinsics.areEqual(this.columns, index.columns) || !Intrinsics.areEqual(this.orders, index.orders)) { return false; } if (StringsKt__StringsJVMKt.startsWith$default(this.name, DEFAULT_PREFIX, false, 2, null)) { return StringsKt__StringsJVMKt.startsWith$default(index.name, DEFAULT_PREFIX, false, 2, null); } return Intrinsics.areEqual(this.name, index.name); } public int hashCode() { return ((((((StringsKt__StringsJVMKt.startsWith$default(this.name, DEFAULT_PREFIX, false, 2, null) ? -1184239155 : this.name.hashCode()) * 31) + (this.unique ? 1 : 0)) * 31) + this.columns.hashCode()) * 31) + this.orders.hashCode(); } public String toString() { return "Index{name='" + this.name + "', unique=" + this.unique + ", columns=" + this.columns + ", orders=" + this.orders + "'}"; } } }