.class public final Landroidx/work/impl/utils/CancelWorkRunnable$3; .super Landroidx/work/impl/utils/CancelWorkRunnable; .source "CancelWorkRunnable.java" # annotations .annotation system Ldalvik/annotation/EnclosingMethod; value = Landroidx/work/impl/utils/CancelWorkRunnable;->forName(Ljava/lang/String;Landroidx/work/impl/WorkManagerImpl;Z)Landroidx/work/impl/utils/CancelWorkRunnable; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = null .end annotation # instance fields .field public final synthetic val$allowReschedule:Z .field public final synthetic val$name:Ljava/lang/String; .field public final synthetic val$workManagerImpl:Landroidx/work/impl/WorkManagerImpl; # direct methods .method public constructor (Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Z)V .locals 0 iput-object p1, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$workManagerImpl:Landroidx/work/impl/WorkManagerImpl; iput-object p2, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$name:Ljava/lang/String; iput-boolean p3, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$allowReschedule:Z invoke-direct {p0}, Landroidx/work/impl/utils/CancelWorkRunnable;->()V return-void .end method # virtual methods .method public runInternal()V .locals 4 .annotation build Landroidx/annotation/WorkerThread; .end annotation iget-object v0, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$workManagerImpl:Landroidx/work/impl/WorkManagerImpl; invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getWorkDatabase()Landroidx/work/impl/WorkDatabase; move-result-object v0 invoke-virtual {v0}, Landroidx/room/RoomDatabase;->beginTransaction()V :try_start_0 invoke-virtual {v0}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao; move-result-object v1 iget-object v2, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$name:Ljava/lang/String; invoke-interface {v1, v2}, Landroidx/work/impl/model/WorkSpecDao;->getUnfinishedWorkWithName(Ljava/lang/String;)Ljava/util/List; move-result-object v1 invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; iget-object v3, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$workManagerImpl:Landroidx/work/impl/WorkManagerImpl; invoke-virtual {p0, v3, v2}, Landroidx/work/impl/utils/CancelWorkRunnable;->cancel(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;)V goto :goto_0 :cond_0 invoke-virtual {v0}, Landroidx/room/RoomDatabase;->setTransactionSuccessful()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 invoke-virtual {v0}, Landroidx/room/RoomDatabase;->endTransaction()V iget-boolean v0, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$allowReschedule:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/work/impl/utils/CancelWorkRunnable$3;->val$workManagerImpl:Landroidx/work/impl/WorkManagerImpl; invoke-virtual {p0, v0}, Landroidx/work/impl/utils/CancelWorkRunnable;->reschedulePendingWorkers(Landroidx/work/impl/WorkManagerImpl;)V :cond_1 return-void :catchall_0 move-exception v1 invoke-virtual {v0}, Landroidx/room/RoomDatabase;->endTransaction()V throw v1 .end method