discord-jadx/app/src/main/java/androidx/work/impl/utils/CancelWorkRunnable.java

197 lines
7.9 KiB
Java

package androidx.work.impl.utils;
import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.annotation.WorkerThread;
import androidx.work.Operation;
import androidx.work.WorkInfo;
import androidx.work.impl.OperationImpl;
import androidx.work.impl.Scheduler;
import androidx.work.impl.Schedulers;
import androidx.work.impl.WorkDatabase;
import androidx.work.impl.WorkManagerImpl;
import androidx.work.impl.model.DependencyDao;
import androidx.work.impl.model.WorkSpecDao;
import java.util.LinkedList;
import java.util.UUID;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP})
public abstract class CancelWorkRunnable implements Runnable {
private final OperationImpl mOperation = new OperationImpl();
/* renamed from: androidx.work.impl.utils.CancelWorkRunnable$1 reason: invalid class name */
public class AnonymousClass1 extends CancelWorkRunnable {
public final /* synthetic */ UUID val$id;
public final /* synthetic */ WorkManagerImpl val$workManagerImpl;
public AnonymousClass1(WorkManagerImpl workManagerImpl, UUID uuid) {
this.val$workManagerImpl = workManagerImpl;
this.val$id = uuid;
}
/* JADX INFO: finally extract failed */
@Override // androidx.work.impl.utils.CancelWorkRunnable
@WorkerThread
public void runInternal() {
WorkDatabase workDatabase = this.val$workManagerImpl.getWorkDatabase();
workDatabase.beginTransaction();
try {
cancel(this.val$workManagerImpl, this.val$id.toString());
workDatabase.setTransactionSuccessful();
workDatabase.endTransaction();
reschedulePendingWorkers(this.val$workManagerImpl);
} catch (Throwable th) {
workDatabase.endTransaction();
throw th;
}
}
}
/* renamed from: androidx.work.impl.utils.CancelWorkRunnable$2 reason: invalid class name */
public class AnonymousClass2 extends CancelWorkRunnable {
public final /* synthetic */ String val$tag;
public final /* synthetic */ WorkManagerImpl val$workManagerImpl;
public AnonymousClass2(WorkManagerImpl workManagerImpl, String str) {
this.val$workManagerImpl = workManagerImpl;
this.val$tag = str;
}
/* JADX INFO: finally extract failed */
@Override // androidx.work.impl.utils.CancelWorkRunnable
@WorkerThread
public void runInternal() {
WorkDatabase workDatabase = this.val$workManagerImpl.getWorkDatabase();
workDatabase.beginTransaction();
try {
for (String str : workDatabase.workSpecDao().getUnfinishedWorkWithTag(this.val$tag)) {
cancel(this.val$workManagerImpl, str);
}
workDatabase.setTransactionSuccessful();
workDatabase.endTransaction();
reschedulePendingWorkers(this.val$workManagerImpl);
} catch (Throwable th) {
workDatabase.endTransaction();
throw th;
}
}
}
/* renamed from: androidx.work.impl.utils.CancelWorkRunnable$3 reason: invalid class name */
public class AnonymousClass3 extends CancelWorkRunnable {
public final /* synthetic */ boolean val$allowReschedule;
public final /* synthetic */ String val$name;
public final /* synthetic */ WorkManagerImpl val$workManagerImpl;
public AnonymousClass3(WorkManagerImpl workManagerImpl, String str, boolean z2) {
this.val$workManagerImpl = workManagerImpl;
this.val$name = str;
this.val$allowReschedule = z2;
}
/* JADX INFO: finally extract failed */
@Override // androidx.work.impl.utils.CancelWorkRunnable
@WorkerThread
public void runInternal() {
WorkDatabase workDatabase = this.val$workManagerImpl.getWorkDatabase();
workDatabase.beginTransaction();
try {
for (String str : workDatabase.workSpecDao().getUnfinishedWorkWithName(this.val$name)) {
cancel(this.val$workManagerImpl, str);
}
workDatabase.setTransactionSuccessful();
workDatabase.endTransaction();
if (this.val$allowReschedule) {
reschedulePendingWorkers(this.val$workManagerImpl);
}
} catch (Throwable th) {
workDatabase.endTransaction();
throw th;
}
}
}
/* renamed from: androidx.work.impl.utils.CancelWorkRunnable$4 reason: invalid class name */
public class AnonymousClass4 extends CancelWorkRunnable {
public final /* synthetic */ WorkManagerImpl val$workManagerImpl;
public AnonymousClass4(WorkManagerImpl workManagerImpl) {
this.val$workManagerImpl = workManagerImpl;
}
@Override // androidx.work.impl.utils.CancelWorkRunnable
@WorkerThread
public void runInternal() {
WorkDatabase workDatabase = this.val$workManagerImpl.getWorkDatabase();
workDatabase.beginTransaction();
try {
for (String str : workDatabase.workSpecDao().getAllUnfinishedWork()) {
cancel(this.val$workManagerImpl, str);
}
new PreferenceUtils(this.val$workManagerImpl.getWorkDatabase()).setLastCancelAllTimeMillis(System.currentTimeMillis());
workDatabase.setTransactionSuccessful();
} finally {
workDatabase.endTransaction();
}
}
}
public static CancelWorkRunnable forAll(@NonNull WorkManagerImpl workManagerImpl) {
return new AnonymousClass4(workManagerImpl);
}
public static CancelWorkRunnable forId(@NonNull UUID uuid, @NonNull WorkManagerImpl workManagerImpl) {
return new AnonymousClass1(workManagerImpl, uuid);
}
public static CancelWorkRunnable forName(@NonNull String str, @NonNull WorkManagerImpl workManagerImpl, boolean z2) {
return new AnonymousClass3(workManagerImpl, str, z2);
}
public static CancelWorkRunnable forTag(@NonNull String str, @NonNull WorkManagerImpl workManagerImpl) {
return new AnonymousClass2(workManagerImpl, str);
}
private void iterativelyCancelWorkAndDependents(WorkDatabase workDatabase, String str) {
WorkSpecDao workSpecDao = workDatabase.workSpecDao();
DependencyDao dependencyDao = workDatabase.dependencyDao();
LinkedList linkedList = new LinkedList();
linkedList.add(str);
while (!linkedList.isEmpty()) {
String str2 = (String) linkedList.remove();
WorkInfo.State state = workSpecDao.getState(str2);
if (!(state == WorkInfo.State.SUCCEEDED || state == WorkInfo.State.FAILED)) {
workSpecDao.setState(WorkInfo.State.CANCELLED, str2);
}
linkedList.addAll(dependencyDao.getDependentWorkIds(str2));
}
}
public void cancel(WorkManagerImpl workManagerImpl, String str) {
iterativelyCancelWorkAndDependents(workManagerImpl.getWorkDatabase(), str);
workManagerImpl.getProcessor().stopAndCancelWork(str);
for (Scheduler scheduler : workManagerImpl.getSchedulers()) {
scheduler.cancel(str);
}
}
public Operation getOperation() {
return this.mOperation;
}
public void reschedulePendingWorkers(WorkManagerImpl workManagerImpl) {
Schedulers.schedule(workManagerImpl.getConfiguration(), workManagerImpl.getWorkDatabase(), workManagerImpl.getSchedulers());
}
@Override // java.lang.Runnable
public void run() {
try {
runInternal();
this.mOperation.setState(Operation.SUCCESS);
} catch (Throwable th) {
this.mOperation.setState(new Operation.State.FAILURE(th));
}
}
public abstract void runInternal();
}