Files
rr3-apk/decompiled/sources/androidx/room/util/TableInfo.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

490 lines
20 KiB
Java

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<String, Column> columns;
public final Set<ForeignKey> foreignKeys;
public final Set<Index> 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<String, Column> columns, Set<ForeignKey> foreignKeys, Set<Index> 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<java.lang.String, androidx.room.util.TableInfo.Column> r3, java.util.Set<androidx.room.util.TableInfo.ForeignKey> 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.<init>(r2, r3, r4, r0)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.room.util.TableInfo.<init>(java.lang.String, java.util.Map, java.util.Set):void");
}
public boolean equals(Object obj) {
Set<Index> 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<Index> 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<String> columnNames;
public final String onDelete;
public final String onUpdate;
public final List<String> referenceColumnNames;
public final String referenceTable;
public ForeignKey(String referenceTable, String onDelete, String onUpdate, List<String> columnNames, List<String> 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<ForeignKeyWithSequence> {
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<String> columns;
public final String name;
public List<String> 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<String> columns, List<String> 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<String> 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<java.lang.String> 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.<init>(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.<init>(r5, r6, r7, r1)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.room.util.TableInfo.Index.<init>(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 + "'}";
}
}
}