- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
85 lines
3.9 KiB
Java
85 lines
3.9 KiB
Java
package androidx.work.impl.utils;
|
|
|
|
import androidx.sqlite.db.SimpleSQLiteQuery;
|
|
import androidx.sqlite.db.SupportSQLiteQuery;
|
|
import androidx.work.WorkInfo;
|
|
import androidx.work.WorkQuery;
|
|
import androidx.work.impl.model.WorkTypeConverters;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
import kotlin.collections.CollectionsKt__IterablesKt;
|
|
import kotlin.collections.CollectionsKt___CollectionsKt;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@SourceDebugExtension({"SMAP\nRawQueries.kt\nKotlin\n*S Kotlin\n*F\n+ 1 RawQueries.kt\nandroidx/work/impl/utils/RawQueries\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n+ 3 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n+ 4 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,73:1\n1549#2:74\n1620#2,3:75\n1549#2:78\n1620#2,3:79\n37#3,2:82\n1#4:84\n*S KotlinDebug\n*F\n+ 1 RawQueries.kt\nandroidx/work/impl/utils/RawQueries\n*L\n35#1:74\n35#1:75,3\n43#1:78\n43#1:79,3\n64#1:82,2\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public final class RawQueries {
|
|
public static final SupportSQLiteQuery toRawQuery(WorkQuery workQuery) {
|
|
Intrinsics.checkNotNullParameter(workQuery, "<this>");
|
|
ArrayList arrayList = new ArrayList();
|
|
StringBuilder sb = new StringBuilder("SELECT * FROM workspec");
|
|
String str = " AND";
|
|
String str2 = " WHERE";
|
|
if (!workQuery.getStates().isEmpty()) {
|
|
List<WorkInfo.State> states = workQuery.getStates();
|
|
ArrayList arrayList2 = new ArrayList(CollectionsKt__IterablesKt.collectionSizeOrDefault(states, 10));
|
|
Iterator<T> it = states.iterator();
|
|
while (it.hasNext()) {
|
|
arrayList2.add(Integer.valueOf(WorkTypeConverters.stateToInt((WorkInfo.State) it.next())));
|
|
}
|
|
sb.append(" WHERE state IN (");
|
|
bindings(sb, arrayList2.size());
|
|
sb.append(")");
|
|
arrayList.addAll(arrayList2);
|
|
str2 = " AND";
|
|
}
|
|
if (!workQuery.getIds().isEmpty()) {
|
|
List<UUID> ids = workQuery.getIds();
|
|
ArrayList arrayList3 = new ArrayList(CollectionsKt__IterablesKt.collectionSizeOrDefault(ids, 10));
|
|
Iterator<T> it2 = ids.iterator();
|
|
while (it2.hasNext()) {
|
|
arrayList3.add(((UUID) it2.next()).toString());
|
|
}
|
|
sb.append(str2 + " id IN (");
|
|
bindings(sb, workQuery.getIds().size());
|
|
sb.append(")");
|
|
arrayList.addAll(arrayList3);
|
|
str2 = " AND";
|
|
}
|
|
if (!workQuery.getTags().isEmpty()) {
|
|
sb.append(str2 + " id IN (SELECT work_spec_id FROM worktag WHERE tag IN (");
|
|
bindings(sb, workQuery.getTags().size());
|
|
sb.append("))");
|
|
arrayList.addAll(workQuery.getTags());
|
|
} else {
|
|
str = str2;
|
|
}
|
|
if (!workQuery.getUniqueWorkNames().isEmpty()) {
|
|
sb.append(str + " id IN (SELECT work_spec_id FROM workname WHERE name IN (");
|
|
bindings(sb, workQuery.getUniqueWorkNames().size());
|
|
sb.append("))");
|
|
arrayList.addAll(workQuery.getUniqueWorkNames());
|
|
}
|
|
sb.append(";");
|
|
String sb2 = sb.toString();
|
|
Intrinsics.checkNotNullExpressionValue(sb2, "builder.toString()");
|
|
return new SimpleSQLiteQuery(sb2, arrayList.toArray(new Object[0]));
|
|
}
|
|
|
|
private static final void bindings(StringBuilder sb, int i) {
|
|
String joinToString$default;
|
|
if (i <= 0) {
|
|
return;
|
|
}
|
|
ArrayList arrayList = new ArrayList(i);
|
|
for (int i2 = 0; i2 < i; i2++) {
|
|
arrayList.add("?");
|
|
}
|
|
joinToString$default = CollectionsKt___CollectionsKt.joinToString$default(arrayList, ",", null, null, 0, null, null, 62, null);
|
|
sb.append(joinToString$default);
|
|
}
|
|
}
|