.class public Landroidx/work/impl/utils/WorkProgressUpdater; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroidx/work/ProgressUpdater; # annotations .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope; } .end annotation # static fields .field static final TAG:Ljava/lang/String; # instance fields .field final mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor; .field final mWorkDatabase:Landroidx/work/impl/WorkDatabase; # direct methods .method public static synthetic $r8$lambda$fu4BfbStuHr2T3y0y-cjCVBoSrM(Landroidx/work/impl/utils/WorkProgressUpdater;Ljava/util/UUID;Landroidx/work/Data;)Ljava/lang/Void; .locals 0 .line 0 invoke-direct {p0, p1, p2}, Landroidx/work/impl/utils/WorkProgressUpdater;->lambda$updateProgress$0(Ljava/util/UUID;Landroidx/work/Data;)Ljava/lang/Void; move-result-object p0 return-object p0 .end method .method static constructor ()V .locals 1 const-string v0, "WorkProgressUpdater" .line 47 invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 sput-object v0, Landroidx/work/impl/utils/WorkProgressUpdater;->TAG:Ljava/lang/String; return-void .end method .method public constructor (Landroidx/work/impl/WorkDatabase;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V .locals 0 .param p1 # Landroidx/work/impl/WorkDatabase; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/work/impl/utils/taskexecutor/TaskExecutor; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 59 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; iput-object p2, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor; return-void .end method .method private synthetic lambda$updateProgress$0(Ljava/util/UUID;Landroidx/work/Data;)Ljava/lang/Void; .locals 5 .line 71 invoke-virtual {p1}, Ljava/util/UUID;->toString()Ljava/lang/String; move-result-object v0 .line 72 invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger; move-result-object v1 sget-object v2, Landroidx/work/impl/utils/WorkProgressUpdater;->TAG:Ljava/lang/String; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "Updating progress for " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, " (" invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, ")" invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-virtual {v1, v2, p1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;)V iget-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 73 invoke-virtual {p1}, Landroidx/room/RoomDatabase;->beginTransaction()V :try_start_0 iget-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 75 invoke-virtual {p1}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao; move-result-object p1 .line 76 invoke-interface {p1, v0}, Landroidx/work/impl/model/WorkSpecDao;->getWorkSpec(Ljava/lang/String;)Landroidx/work/impl/model/WorkSpec; move-result-object p1 if-eqz p1, :cond_1 .line 78 iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->state:Landroidx/work/WorkInfo$State; .line 80 sget-object v1, Landroidx/work/WorkInfo$State;->RUNNING:Landroidx/work/WorkInfo$State; if-ne p1, v1, :cond_0 .line 81 new-instance p1, Landroidx/work/impl/model/WorkProgress; invoke-direct {p1, v0, p2}, Landroidx/work/impl/model/WorkProgress;->(Ljava/lang/String;Landroidx/work/Data;)V iget-object p2, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 82 invoke-virtual {p2}, Landroidx/work/impl/WorkDatabase;->workProgressDao()Landroidx/work/impl/model/WorkProgressDao; move-result-object p2 invoke-interface {p2, p1}, Landroidx/work/impl/model/WorkProgressDao;->insert(Landroidx/work/impl/model/WorkProgress;)V goto :goto_0 :catchall_0 move-exception p1 goto :goto_1 .line 84 :cond_0 invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger; move-result-object p1 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v1, "Ignoring setProgressAsync(...). WorkSpec (" invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, ") is not in a RUNNING state." invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, v2, p2}, Landroidx/work/Logger;->warning(Ljava/lang/String;Ljava/lang/String;)V :goto_0 iget-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 95 invoke-virtual {p1}, Landroidx/room/RoomDatabase;->setTransactionSuccessful()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iget-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 100 invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V const/4 p1, 0x0 return-object p1 :cond_1 :try_start_1 const-string p1, "Calls to setProgressAsync() must complete before a ListenableWorker signals completion of work by returning an instance of Result." .line 93 new-instance p2, Ljava/lang/IllegalStateException; invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 97 :goto_1 :try_start_2 invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger; move-result-object p2 sget-object v0, Landroidx/work/impl/utils/WorkProgressUpdater;->TAG:Ljava/lang/String; const-string v1, "Error updating Worker progress" invoke-virtual {p2, v0, v1, p1}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V .line 98 throw p1 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 :catchall_1 move-exception p1 iget-object p2, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mWorkDatabase:Landroidx/work/impl/WorkDatabase; .line 100 invoke-virtual {p2}, Landroidx/room/RoomDatabase;->endTransaction()V .line 101 throw p1 .end method # virtual methods .method public updateProgress(Landroid/content/Context;Ljava/util/UUID;Landroidx/work/Data;)Lcom/google/common/util/concurrent/ListenableFuture; .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Ljava/util/UUID; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/work/Data; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/content/Context;", "Ljava/util/UUID;", "Landroidx/work/Data;", ")", "Lcom/google/common/util/concurrent/ListenableFuture;" } .end annotation iget-object p1, p0, Landroidx/work/impl/utils/WorkProgressUpdater;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor; .line 70 invoke-interface {p1}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->getSerialTaskExecutor()Landroidx/work/impl/utils/taskexecutor/SerialExecutor; move-result-object p1 new-instance v0, Landroidx/work/impl/utils/WorkProgressUpdater$$ExternalSyntheticLambda0; invoke-direct {v0, p0, p2, p3}, Landroidx/work/impl/utils/WorkProgressUpdater$$ExternalSyntheticLambda0;->(Landroidx/work/impl/utils/WorkProgressUpdater;Ljava/util/UUID;Landroidx/work/Data;)V const-string p2, "updateProgress" invoke-static {p1, p2, v0}, Landroidx/work/ListenableFutureKt;->executeAsync(Ljava/util/concurrent/Executor;Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lcom/google/common/util/concurrent/ListenableFuture; move-result-object p1 return-object p1 .end method