Changes of com.discord v1144

This commit is contained in:
distok 2020-05-17 12:40:10 +00:00
parent 4746542b20
commit f52990c3c2
25752 changed files with 4382359 additions and 77 deletions

View file

@ -0,0 +1,20 @@
.class public interface abstract Landroidx/work/impl/ExecutionListener;
.super Ljava/lang/Object;
.source "ExecutionListener.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# virtual methods
.method public abstract onExecuted(Ljava/lang/String;Z)V
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View file

@ -0,0 +1,145 @@
.class public Landroidx/work/impl/OperationImpl;
.super Ljava/lang/Object;
.source "OperationImpl.java"
# interfaces
.implements Landroidx/work/Operation;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# instance fields
.field public final mOperationFuture:Landroidx/work/impl/utils/futures/SettableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/utils/futures/SettableFuture<",
"Landroidx/work/Operation$State$SUCCESS;",
">;"
}
.end annotation
.end field
.field public final mOperationState:Landroidx/lifecycle/MutableLiveData;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/lifecycle/MutableLiveData<",
"Landroidx/work/Operation$State;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Landroidx/lifecycle/MutableLiveData;
invoke-direct {v0}, Landroidx/lifecycle/MutableLiveData;-><init>()V
iput-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationState:Landroidx/lifecycle/MutableLiveData;
invoke-static {}, Landroidx/work/impl/utils/futures/SettableFuture;->create()Landroidx/work/impl/utils/futures/SettableFuture;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationFuture:Landroidx/work/impl/utils/futures/SettableFuture;
sget-object v0, Landroidx/work/Operation;->IN_PROGRESS:Landroidx/work/Operation$State$IN_PROGRESS;
invoke-virtual {p0, v0}, Landroidx/work/impl/OperationImpl;->setState(Landroidx/work/Operation$State;)V
return-void
.end method
# virtual methods
.method public getResult()Lf/k/b/a/a/a;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lf/k/b/a/a/a<",
"Landroidx/work/Operation$State$SUCCESS;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationFuture:Landroidx/work/impl/utils/futures/SettableFuture;
return-object v0
.end method
.method public getState()Landroidx/lifecycle/LiveData;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Landroidx/lifecycle/LiveData<",
"Landroidx/work/Operation$State;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationState:Landroidx/lifecycle/MutableLiveData;
return-object v0
.end method
.method public setState(Landroidx/work/Operation$State;)V
.locals 1
.param p1 # Landroidx/work/Operation$State;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationState:Landroidx/lifecycle/MutableLiveData;
invoke-virtual {v0, p1}, Landroidx/lifecycle/MutableLiveData;->postValue(Ljava/lang/Object;)V
instance-of v0, p1, Landroidx/work/Operation$State$SUCCESS;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationFuture:Landroidx/work/impl/utils/futures/SettableFuture;
check-cast p1, Landroidx/work/Operation$State$SUCCESS;
invoke-virtual {v0, p1}, Landroidx/work/impl/utils/futures/SettableFuture;->set(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
instance-of v0, p1, Landroidx/work/Operation$State$FAILURE;
if-eqz v0, :cond_1
check-cast p1, Landroidx/work/Operation$State$FAILURE;
iget-object v0, p0, Landroidx/work/impl/OperationImpl;->mOperationFuture:Landroidx/work/impl/utils/futures/SettableFuture;
invoke-virtual {p1}, Landroidx/work/Operation$State$FAILURE;->getThrowable()Ljava/lang/Throwable;
move-result-object p1
invoke-virtual {v0, p1}, Landroidx/work/impl/utils/futures/SettableFuture;->setException(Ljava/lang/Throwable;)Z
:cond_1
:goto_0
return-void
.end method

View file

@ -0,0 +1,116 @@
.class public Landroidx/work/impl/Processor$FutureListener;
.super Ljava/lang/Object;
.source "Processor.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/Processor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FutureListener"
.end annotation
# instance fields
.field public mExecutionListener:Landroidx/work/impl/ExecutionListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mFuture:Lf/k/b/a/a/a;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lf/k/b/a/a/a<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
.field public mWorkSpecId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroidx/work/impl/ExecutionListener;Ljava/lang/String;Lf/k/b/a/a/a;)V
.locals 0
.param p1 # Landroidx/work/impl/ExecutionListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Lf/k/b/a/a/a;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/ExecutionListener;",
"Ljava/lang/String;",
"Lf/k/b/a/a/a<",
"Ljava/lang/Boolean;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor$FutureListener;->mExecutionListener:Landroidx/work/impl/ExecutionListener;
iput-object p2, p0, Landroidx/work/impl/Processor$FutureListener;->mWorkSpecId:Ljava/lang/String;
iput-object p3, p0, Landroidx/work/impl/Processor$FutureListener;->mFuture:Lf/k/b/a/a/a;
return-void
.end method
# virtual methods
.method public run()V
.locals 3
:try_start_0
iget-object v0, p0, Landroidx/work/impl/Processor$FutureListener;->mFuture:Lf/k/b/a/a/a;
invoke-interface {v0}, Ljava/util/concurrent/Future;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/util/concurrent/ExecutionException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
const/4 v0, 0x1
:goto_0
iget-object v1, p0, Landroidx/work/impl/Processor$FutureListener;->mExecutionListener:Landroidx/work/impl/ExecutionListener;
iget-object v2, p0, Landroidx/work/impl/Processor$FutureListener;->mWorkSpecId:Ljava/lang/String;
invoke-interface {v1, v2, v0}, Landroidx/work/impl/ExecutionListener;->onExecuted(Ljava/lang/String;Z)V
return-void
.end method

View file

@ -0,0 +1,769 @@
.class public Landroidx/work/impl/Processor;
.super Ljava/lang/Object;
.source "Processor.java"
# interfaces
.implements Landroidx/work/impl/ExecutionListener;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/Processor$FutureListener;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public mAppContext:Landroid/content/Context;
.field public mCancelledIds:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public mConfiguration:Landroidx/work/Configuration;
.field public mEnqueuedWorkMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/work/impl/WorkerWrapper;",
">;"
}
.end annotation
.end field
.field public final mLock:Ljava/lang/Object;
.field public final mOuterListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/work/impl/ExecutionListener;",
">;"
}
.end annotation
.end field
.field public mSchedulers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/work/impl/Scheduler;",
">;"
}
.end annotation
.end field
.field public mWorkDatabase:Landroidx/work/impl/WorkDatabase;
.field public mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "Processor"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/Configuration;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/WorkDatabase;Ljava/util/List;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Landroidx/work/Configuration;",
"Landroidx/work/impl/utils/taskexecutor/TaskExecutor;",
"Landroidx/work/impl/WorkDatabase;",
"Ljava/util/List<",
"Landroidx/work/impl/Scheduler;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor;->mAppContext:Landroid/content/Context;
iput-object p2, p0, Landroidx/work/impl/Processor;->mConfiguration:Landroidx/work/Configuration;
iput-object p3, p0, Landroidx/work/impl/Processor;->mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
iput-object p4, p0, Landroidx/work/impl/Processor;->mWorkDatabase:Landroidx/work/impl/WorkDatabase;
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
iput-object p5, p0, Landroidx/work/impl/Processor;->mSchedulers:Ljava/util/List;
new-instance p1, Ljava/util/HashSet;
invoke-direct {p1}, Ljava/util/HashSet;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor;->mCancelledIds:Ljava/util/Set;
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor;->mOuterListeners:Ljava/util/List;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public addExecutionListener(Landroidx/work/impl/ExecutionListener;)V
.locals 2
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mOuterListeners:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public hasWork()Z
.locals 2
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z
move-result v1
if-nez v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
monitor-exit v0
return v1
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method public isCancelled(Ljava/lang/String;)Z
.locals 2
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mCancelledIds:Ljava/util/Set;
invoke-interface {v1, p1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p1
monitor-exit v0
return p1
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public isEnqueued(Ljava/lang/String;)Z
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p1
monitor-exit v0
return p1
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public onExecuted(Ljava/lang/String;Z)V
.locals 8
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "%s %s executed; reschedule = %s"
const/4 v4, 0x3
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v5
const/4 v6, 0x0
aput-object v5, v4, v6
const/4 v5, 0x1
aput-object p1, v4, v5
const/4 v5, 0x2
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v7
aput-object v7, v4, v5
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/Processor;->mOuterListeners:Ljava/util/List;
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, Landroidx/work/impl/ExecutionListener;
invoke-interface {v2, p1, p2}, Landroidx/work/impl/ExecutionListener;->onExecuted(Ljava/lang/String;Z)V
goto :goto_0
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public removeExecutionListener(Landroidx/work/impl/ExecutionListener;)V
.locals 2
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mOuterListeners:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public startWork(Ljava/lang/String;)Z
.locals 1
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroidx/work/impl/Processor;->startWork(Ljava/lang/String;Landroidx/work/WorkerParameters$RuntimeExtras;)Z
move-result p1
return p1
.end method
.method public startWork(Ljava/lang/String;Landroidx/work/WorkerParameters$RuntimeExtras;)Z
.locals 10
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p2
sget-object v1, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v4, "Work %s is already enqueued for processing"
new-array v2, v2, [Ljava/lang/Object;
aput-object p1, v2, v3
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v2, v3, [Ljava/lang/Throwable;
invoke-virtual {p2, v1, p1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v3
:cond_0
new-instance v1, Landroidx/work/impl/WorkerWrapper$Builder;
iget-object v5, p0, Landroidx/work/impl/Processor;->mAppContext:Landroid/content/Context;
iget-object v6, p0, Landroidx/work/impl/Processor;->mConfiguration:Landroidx/work/Configuration;
iget-object v7, p0, Landroidx/work/impl/Processor;->mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
iget-object v8, p0, Landroidx/work/impl/Processor;->mWorkDatabase:Landroidx/work/impl/WorkDatabase;
move-object v4, v1
move-object v9, p1
invoke-direct/range {v4 .. v9}, Landroidx/work/impl/WorkerWrapper$Builder;-><init>(Landroid/content/Context;Landroidx/work/Configuration;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/WorkDatabase;Ljava/lang/String;)V
iget-object v4, p0, Landroidx/work/impl/Processor;->mSchedulers:Ljava/util/List;
invoke-virtual {v1, v4}, Landroidx/work/impl/WorkerWrapper$Builder;->withSchedulers(Ljava/util/List;)Landroidx/work/impl/WorkerWrapper$Builder;
move-result-object v1
invoke-virtual {v1, p2}, Landroidx/work/impl/WorkerWrapper$Builder;->withRuntimeExtras(Landroidx/work/WorkerParameters$RuntimeExtras;)Landroidx/work/impl/WorkerWrapper$Builder;
move-result-object p2
invoke-virtual {p2}, Landroidx/work/impl/WorkerWrapper$Builder;->build()Landroidx/work/impl/WorkerWrapper;
move-result-object p2
invoke-virtual {p2}, Landroidx/work/impl/WorkerWrapper;->getFuture()Lf/k/b/a/a/a;
move-result-object v1
new-instance v4, Landroidx/work/impl/Processor$FutureListener;
invoke-direct {v4, p0, p1, v1}, Landroidx/work/impl/Processor$FutureListener;-><init>(Landroidx/work/impl/ExecutionListener;Ljava/lang/String;Lf/k/b/a/a/a;)V
iget-object v5, p0, Landroidx/work/impl/Processor;->mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
invoke-interface {v5}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->getMainThreadExecutor()Ljava/util/concurrent/Executor;
move-result-object v5
invoke-interface {v1, v4, v5}, Lf/k/b/a/a/a;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Landroidx/work/impl/Processor;->mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
invoke-interface {v0}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->getBackgroundExecutor()Landroidx/work/impl/utils/SerialExecutor;
move-result-object v0
invoke-virtual {v0, p2}, Landroidx/work/impl/utils/SerialExecutor;->execute(Ljava/lang/Runnable;)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p2
sget-object v0, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const-class v4, Landroidx/work/impl/Processor;
invoke-virtual {v4}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v4
aput-object v4, v1, v3
aput-object p1, v1, v2
const-string p1, "%s: processing %s"
invoke-static {p1, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v1, v3, [Ljava/lang/Throwable;
invoke-virtual {p2, v0, p1, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v2
:catchall_0
move-exception p1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public stopAndCancelWork(Ljava/lang/String;)Z
.locals 7
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "Processor cancelling %s"
const/4 v4, 0x1
new-array v5, v4, [Ljava/lang/Object;
const/4 v6, 0x0
aput-object p1, v5, v6
invoke-static {v3, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v5, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v5}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/Processor;->mCancelledIds:Ljava/util/Set;
invoke-interface {v1, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/WorkerWrapper;
if-eqz v1, :cond_0
invoke-virtual {v1, v4}, Landroidx/work/impl/WorkerWrapper;->interrupt(Z)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "WorkerWrapper cancelled for %s"
new-array v5, v4, [Ljava/lang/Object;
aput-object p1, v5, v6
invoke-static {v3, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v3, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v4
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "WorkerWrapper could not be found for %s"
new-array v4, v4, [Ljava/lang/Object;
aput-object p1, v4, v6
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v3, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v6
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public stopWork(Ljava/lang/String;)Z
.locals 7
iget-object v0, p0, Landroidx/work/impl/Processor;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "Processor stopping %s"
const/4 v4, 0x1
new-array v5, v4, [Ljava/lang/Object;
const/4 v6, 0x0
aput-object p1, v5, v6
invoke-static {v3, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v5, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v5}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/Processor;->mEnqueuedWorkMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/WorkerWrapper;
if-eqz v1, :cond_0
invoke-virtual {v1, v6}, Landroidx/work/impl/WorkerWrapper;->interrupt(Z)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "WorkerWrapper stopped for %s"
new-array v5, v4, [Ljava/lang/Object;
aput-object p1, v5, v6
invoke-static {v3, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v3, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v4
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/Processor;->TAG:Ljava/lang/String;
const-string v3, "WorkerWrapper could not be found for %s"
new-array v4, v4, [Ljava/lang/Object;
aput-object p1, v4, v6
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v3, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v6
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method

View file

@ -0,0 +1,31 @@
.class public interface abstract Landroidx/work/impl/Scheduler;
.super Ljava/lang/Object;
.source "Scheduler.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final MAX_SCHEDULER_LIMIT:I = 0x32
# virtual methods
.method public abstract cancel(Ljava/lang/String;)V
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method
.method public varargs abstract schedule([Landroidx/work/impl/model/WorkSpec;)V
.param p1 # [Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View file

@ -0,0 +1,349 @@
.class public Landroidx/work/impl/Schedulers;
.super Ljava/lang/Object;
.source "Schedulers.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final GCM_SCHEDULER:Ljava/lang/String; = "androidx.work.impl.background.gcm.GcmScheduler"
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "Schedulers"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/Schedulers;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static createBestAvailableBackgroundScheduler(Landroid/content/Context;Landroidx/work/impl/WorkManagerImpl;)Landroidx/work/impl/Scheduler;
.locals 4
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/4 v2, 0x1
const/16 v3, 0x17
if-lt v0, v3, :cond_0
new-instance v0, Landroidx/work/impl/background/systemjob/SystemJobScheduler;
invoke-direct {v0, p0, p1}, Landroidx/work/impl/background/systemjob/SystemJobScheduler;-><init>(Landroid/content/Context;Landroidx/work/impl/WorkManagerImpl;)V
const-class p1, Landroidx/work/impl/background/systemjob/SystemJobService;
invoke-static {p0, p1, v2}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p0
sget-object p1, Landroidx/work/impl/Schedulers;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
const-string v2, "Created SystemJobScheduler and enabled SystemJobService"
invoke-virtual {p0, p1, v2, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_0
:cond_0
invoke-static {p0}, Landroidx/work/impl/Schedulers;->tryCreateGcmBasedScheduler(Landroid/content/Context;)Landroidx/work/impl/Scheduler;
move-result-object v0
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;
invoke-direct {v0, p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;-><init>(Landroid/content/Context;)V
const-class p1, Landroidx/work/impl/background/systemalarm/SystemAlarmService;
invoke-static {p0, p1, v2}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p0
sget-object p1, Landroidx/work/impl/Schedulers;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
const-string v2, "Created SystemAlarmScheduler"
invoke-virtual {p0, p1, v2, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-object v0
.end method
.method public static schedule(Landroidx/work/Configuration;Landroidx/work/impl/WorkDatabase;Ljava/util/List;)V
.locals 5
.param p0 # Landroidx/work/Configuration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroidx/work/impl/WorkDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/Configuration;",
"Landroidx/work/impl/WorkDatabase;",
"Ljava/util/List<",
"Landroidx/work/impl/Scheduler;",
">;)V"
}
.end annotation
if-eqz p2, :cond_3
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v0
if-nez v0, :cond_0
goto :goto_2
:cond_0
invoke-virtual {p1}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
move-result-object v0
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->beginTransaction()V
:try_start_0
invoke-virtual {p0}, Landroidx/work/Configuration;->getMaxSchedulerLimit()I
move-result p0
invoke-interface {v0, p0}, Landroidx/work/impl/model/WorkSpecDao;->getEligibleWorkForScheduling(I)Ljava/util/List;
move-result-object p0
if-eqz p0, :cond_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
if-lez v1, :cond_1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_0
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_1
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/work/impl/model/WorkSpec;
iget-object v4, v4, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-interface {v0, v4, v1, v2}, Landroidx/work/impl/model/WorkSpecDao;->markWorkSpecScheduled(Ljava/lang/String;J)I
goto :goto_0
:cond_1
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->setTransactionSuccessful()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
if-eqz p0, :cond_2
invoke-interface {p0}, Ljava/util/List;->size()I
move-result p1
if-lez p1, :cond_2
const/4 p1, 0x0
new-array p1, p1, [Landroidx/work/impl/model/WorkSpec;
invoke-interface {p0, p1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p0
check-cast p0, [Landroidx/work/impl/model/WorkSpec;
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_1
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/work/impl/Scheduler;
invoke-interface {p2, p0}, Landroidx/work/impl/Scheduler;->schedule([Landroidx/work/impl/model/WorkSpec;)V
goto :goto_1
:cond_2
return-void
:catchall_0
move-exception p0
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
throw p0
:cond_3
:goto_2
return-void
.end method
.method public static tryCreateGcmBasedScheduler(Landroid/content/Context;)Landroidx/work/impl/Scheduler;
.locals 7
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "androidx.work.impl.background.gcm.GcmScheduler"
const/4 v1, 0x1
const/4 v2, 0x0
:try_start_0
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
new-array v3, v1, [Ljava/lang/Class;
const-class v4, Landroid/content/Context;
aput-object v4, v3, v2
invoke-virtual {v0, v3}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
new-array v3, v1, [Ljava/lang/Object;
aput-object p0, v3, v2
invoke-virtual {v0, v3}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroidx/work/impl/Scheduler;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/Schedulers;->TAG:Ljava/lang/String;
const-string v4, "Created %s"
new-array v5, v1, [Ljava/lang/Object;
const-string v6, "androidx.work.impl.background.gcm.GcmScheduler"
aput-object v6, v5, v2
invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
new-array v5, v2, [Ljava/lang/Throwable;
invoke-virtual {v0, v3, v4, v5}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-object p0
:catchall_0
move-exception p0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/Schedulers;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
aput-object p0, v1, v2
const-string p0, "Unable to create GCM Scheduler"
invoke-virtual {v0, v3, p0, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
const/4 p0, 0x0
return-object p0
.end method

View file

@ -0,0 +1,858 @@
.class public Landroidx/work/impl/WorkContinuationImpl;
.super Landroidx/work/WorkContinuation;
.source "WorkContinuationImpl.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mAllIds:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public mEnqueued:Z
.field public final mExistingWorkPolicy:Landroidx/work/ExistingWorkPolicy;
.field public final mIds:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public final mName:Ljava/lang/String;
.field public mOperation:Landroidx/work/Operation;
.field public final mParents:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/work/impl/WorkContinuationImpl;",
">;"
}
.end annotation
.end field
.field public final mWork:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"+",
"Landroidx/work/WorkRequest;",
">;"
}
.end annotation
.end field
.field public final mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "WorkContinuationImpl"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/WorkContinuationImpl;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;)V
.locals 6
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/WorkManagerImpl;",
"Ljava/lang/String;",
"Landroidx/work/ExistingWorkPolicy;",
"Ljava/util/List<",
"+",
"Landroidx/work/WorkRequest;",
">;)V"
}
.end annotation
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
invoke-direct/range {v0 .. v5}, Landroidx/work/impl/WorkContinuationImpl;-><init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;Ljava/util/List;)V
return-void
.end method
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;Ljava/util/List;)V
.locals 0
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p5 # Ljava/util/List;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/WorkManagerImpl;",
"Ljava/lang/String;",
"Landroidx/work/ExistingWorkPolicy;",
"Ljava/util/List<",
"+",
"Landroidx/work/WorkRequest;",
">;",
"Ljava/util/List<",
"Landroidx/work/impl/WorkContinuationImpl;",
">;)V"
}
.end annotation
invoke-direct {p0}, Landroidx/work/WorkContinuation;-><init>()V
iput-object p1, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iput-object p2, p0, Landroidx/work/impl/WorkContinuationImpl;->mName:Ljava/lang/String;
iput-object p3, p0, Landroidx/work/impl/WorkContinuationImpl;->mExistingWorkPolicy:Landroidx/work/ExistingWorkPolicy;
iput-object p4, p0, Landroidx/work/impl/WorkContinuationImpl;->mWork:Ljava/util/List;
iput-object p5, p0, Landroidx/work/impl/WorkContinuationImpl;->mParents:Ljava/util/List;
new-instance p1, Ljava/util/ArrayList;
iget-object p2, p0, Landroidx/work/impl/WorkContinuationImpl;->mWork:Ljava/util/List;
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p2
invoke-direct {p1, p2}, Ljava/util/ArrayList;-><init>(I)V
iput-object p1, p0, Landroidx/work/impl/WorkContinuationImpl;->mIds:Ljava/util/List;
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
if-eqz p5, :cond_0
invoke-interface {p5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/work/impl/WorkContinuationImpl;
iget-object p3, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
iget-object p2, p2, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
invoke-interface {p3, p2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_1
invoke-interface {p4}, Ljava/util/List;->size()I
move-result p2
if-ge p1, p2, :cond_1
invoke-interface {p4, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/work/WorkRequest;
invoke-virtual {p2}, Landroidx/work/WorkRequest;->getStringId()Ljava/lang/String;
move-result-object p2
iget-object p3, p0, Landroidx/work/impl/WorkContinuationImpl;->mIds:Ljava/util/List;
invoke-interface {p3, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget-object p3, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
invoke-interface {p3, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;Ljava/util/List;)V
.locals 6
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/WorkManagerImpl;",
"Ljava/util/List<",
"+",
"Landroidx/work/WorkRequest;",
">;)V"
}
.end annotation
sget-object v3, Landroidx/work/ExistingWorkPolicy;->KEEP:Landroidx/work/ExistingWorkPolicy;
const/4 v2, 0x0
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v4, p2
invoke-direct/range {v0 .. v5}, Landroidx/work/impl/WorkContinuationImpl;-><init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;Ljava/util/List;)V
return-void
.end method
.method public static hasCycles(Landroidx/work/impl/WorkContinuationImpl;Ljava/util/Set;)Z
.locals 4
.param p0 # Landroidx/work/impl/WorkContinuationImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/util/Set;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/WorkContinuationImpl;",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;)Z"
}
.end annotation
invoke-virtual {p0}, Landroidx/work/impl/WorkContinuationImpl;->getIds()Ljava/util/List;
move-result-object v0
invoke-interface {p1, v0}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
invoke-static {p0}, Landroidx/work/impl/WorkContinuationImpl;->prerequisitesFor(Landroidx/work/impl/WorkContinuationImpl;)Ljava/util/Set;
move-result-object v0
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-interface {v0, v2}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
return v3
:cond_1
invoke-virtual {p0}, Landroidx/work/impl/WorkContinuationImpl;->getParents()Ljava/util/List;
move-result-object v0
if-eqz v0, :cond_3
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-nez v1, :cond_3
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_2
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/WorkContinuationImpl;
invoke-static {v1, p1}, Landroidx/work/impl/WorkContinuationImpl;->hasCycles(Landroidx/work/impl/WorkContinuationImpl;Ljava/util/Set;)Z
move-result v1
if-eqz v1, :cond_2
return v3
:cond_3
invoke-virtual {p0}, Landroidx/work/impl/WorkContinuationImpl;->getIds()Ljava/util/List;
move-result-object p0
invoke-interface {p1, p0}, Ljava/util/Set;->removeAll(Ljava/util/Collection;)Z
const/4 p0, 0x0
return p0
.end method
.method public static prerequisitesFor(Landroidx/work/impl/WorkContinuationImpl;)Ljava/util/Set;
.locals 2
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/WorkContinuationImpl;",
")",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
invoke-virtual {p0}, Landroidx/work/impl/WorkContinuationImpl;->getParents()Ljava/util/List;
move-result-object p0
if-eqz p0, :cond_0
invoke-interface {p0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-nez v1, :cond_0
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/WorkContinuationImpl;
invoke-virtual {v1}, Landroidx/work/impl/WorkContinuationImpl;->getIds()Ljava/util/List;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
goto :goto_0
:cond_0
return-object v0
.end method
# virtual methods
.method public combineInternal(Ljava/util/List;)Landroidx/work/WorkContinuation;
.locals 7
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/WorkContinuation;",
">;)",
"Landroidx/work/WorkContinuation;"
}
.end annotation
new-instance v0, Landroidx/work/OneTimeWorkRequest$Builder;
const-class v1, Landroidx/work/impl/workers/CombineContinuationsWorker;
invoke-direct {v0, v1}, Landroidx/work/OneTimeWorkRequest$Builder;-><init>(Ljava/lang/Class;)V
const-class v1, Landroidx/work/ArrayCreatingInputMerger;
invoke-virtual {v0, v1}, Landroidx/work/OneTimeWorkRequest$Builder;->setInputMerger(Ljava/lang/Class;)Landroidx/work/OneTimeWorkRequest$Builder;
move-result-object v0
invoke-virtual {v0}, Landroidx/work/WorkRequest$Builder;->build()Landroidx/work/WorkRequest;
move-result-object v0
check-cast v0, Landroidx/work/OneTimeWorkRequest;
new-instance v6, Ljava/util/ArrayList;
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v1
invoke-direct {v6, v1}, Ljava/util/ArrayList;-><init>(I)V
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/WorkContinuationImpl;
invoke-interface {v6, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
new-instance p1, Landroidx/work/impl/WorkContinuationImpl;
iget-object v2, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
const/4 v3, 0x0
sget-object v4, Landroidx/work/ExistingWorkPolicy;->KEEP:Landroidx/work/ExistingWorkPolicy;
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v5
move-object v1, p1
invoke-direct/range {v1 .. v6}, Landroidx/work/impl/WorkContinuationImpl;-><init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;Ljava/util/List;)V
return-object p1
.end method
.method public enqueue()Landroidx/work/Operation;
.locals 5
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-boolean v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mEnqueued:Z
if-nez v0, :cond_0
new-instance v0, Landroidx/work/impl/utils/EnqueueRunnable;
invoke-direct {v0, p0}, Landroidx/work/impl/utils/EnqueueRunnable;-><init>(Landroidx/work/impl/WorkContinuationImpl;)V
iget-object v1, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v1}, Landroidx/work/impl/WorkManagerImpl;->getWorkTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object v1
invoke-interface {v1, v0}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->executeOnBackgroundThread(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Landroidx/work/impl/utils/EnqueueRunnable;->getOperation()Landroidx/work/Operation;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mOperation:Landroidx/work/Operation;
goto :goto_0
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/WorkContinuationImpl;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p0, Landroidx/work/impl/WorkContinuationImpl;->mIds:Ljava/util/List;
const-string v4, ", "
invoke-static {v4, v3}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "Already enqueued work ids (%s)"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->warning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:goto_0
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mOperation:Landroidx/work/Operation;
return-object v0
.end method
.method public getAllIds()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
return-object v0
.end method
.method public getExistingWorkPolicy()Landroidx/work/ExistingWorkPolicy;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mExistingWorkPolicy:Landroidx/work/ExistingWorkPolicy;
return-object v0
.end method
.method public getIds()Ljava/util/List;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mIds:Ljava/util/List;
return-object v0
.end method
.method public getName()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mName:Ljava/lang/String;
return-object v0
.end method
.method public getParents()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Landroidx/work/impl/WorkContinuationImpl;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mParents:Ljava/util/List;
return-object v0
.end method
.method public getWork()Ljava/util/List;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"+",
"Landroidx/work/WorkRequest;",
">;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mWork:Ljava/util/List;
return-object v0
.end method
.method public getWorkInfos()Lf/k/b/a/a/a;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lf/k/b/a/a/a<",
"Ljava/util/List<",
"Landroidx/work/WorkInfo;",
">;>;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iget-object v1, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
invoke-static {v0, v1}, Landroidx/work/impl/utils/StatusRunnable;->forStringIds(Landroidx/work/impl/WorkManagerImpl;Ljava/util/List;)Landroidx/work/impl/utils/StatusRunnable;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v1}, Landroidx/work/impl/WorkManagerImpl;->getWorkTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object v1
invoke-interface {v1, v0}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->executeOnBackgroundThread(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Landroidx/work/impl/utils/StatusRunnable;->getFuture()Lf/k/b/a/a/a;
move-result-object v0
return-object v0
.end method
.method public getWorkInfosLiveData()Landroidx/lifecycle/LiveData;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Landroidx/lifecycle/LiveData<",
"Ljava/util/List<",
"Landroidx/work/WorkInfo;",
">;>;"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iget-object v1, p0, Landroidx/work/impl/WorkContinuationImpl;->mAllIds:Ljava/util/List;
invoke-virtual {v0, v1}, Landroidx/work/impl/WorkManagerImpl;->getWorkInfosById(Ljava/util/List;)Landroidx/lifecycle/LiveData;
move-result-object v0
return-object v0
.end method
.method public getWorkManagerImpl()Landroidx/work/impl/WorkManagerImpl;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
return-object v0
.end method
.method public hasCycles()Z
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
invoke-static {p0, v0}, Landroidx/work/impl/WorkContinuationImpl;->hasCycles(Landroidx/work/impl/WorkContinuationImpl;Ljava/util/Set;)Z
move-result v0
return v0
.end method
.method public isEnqueued()Z
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mEnqueued:Z
return v0
.end method
.method public markEnqueued()V
.locals 1
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/work/impl/WorkContinuationImpl;->mEnqueued:Z
return-void
.end method
.method public then(Ljava/util/List;)Landroidx/work/WorkContinuation;
.locals 7
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/OneTimeWorkRequest;",
">;)",
"Landroidx/work/WorkContinuation;"
}
.end annotation
new-instance v6, Landroidx/work/impl/WorkContinuationImpl;
iget-object v1, p0, Landroidx/work/impl/WorkContinuationImpl;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iget-object v2, p0, Landroidx/work/impl/WorkContinuationImpl;->mName:Ljava/lang/String;
sget-object v3, Landroidx/work/ExistingWorkPolicy;->KEEP:Landroidx/work/ExistingWorkPolicy;
invoke-static {p0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v5
move-object v0, v6
move-object v4, p1
invoke-direct/range {v0 .. v5}, Landroidx/work/impl/WorkContinuationImpl;-><init>(Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;Landroidx/work/ExistingWorkPolicy;Ljava/util/List;Ljava/util/List;)V
return-object v6
.end method

View file

@ -0,0 +1,60 @@
.class public final Landroidx/work/impl/WorkDatabase$1;
.super Landroidx/room/RoomDatabase$Callback;
.source "WorkDatabase.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/WorkDatabase;->generateCleanupCallback()Landroidx/room/RoomDatabase$Callback;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/room/RoomDatabase$Callback;-><init>()V
return-void
.end method
# virtual methods
.method public onOpen(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 1
.param p1 # Landroidx/sqlite/db/SupportSQLiteDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-super {p0, p1}, Landroidx/room/RoomDatabase$Callback;->onOpen(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
invoke-interface {p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->beginTransaction()V
:try_start_0
invoke-static {}, Landroidx/work/impl/WorkDatabase;->getPruneSQL()Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
invoke-interface {p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->setTransactionSuccessful()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-interface {p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->endTransaction()V
return-void
:catchall_0
move-exception v0
invoke-interface {p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->endTransaction()V
throw v0
.end method

View file

@ -0,0 +1,256 @@
.class public abstract Landroidx/work/impl/WorkDatabase;
.super Landroidx/room/RoomDatabase;
.source "WorkDatabase.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/room/Database;
entities = {
Landroidx/work/impl/model/Dependency;,
Landroidx/work/impl/model/WorkSpec;,
Landroidx/work/impl/model/WorkTag;,
Landroidx/work/impl/model/SystemIdInfo;,
Landroidx/work/impl/model/WorkName;
}
version = 0x6
.end annotation
.annotation build Landroidx/room/TypeConverters;
value = {
Landroidx/work/Data;,
Landroidx/work/impl/model/WorkTypeConverters;
}
.end annotation
# static fields
.field public static final DB_NAME:Ljava/lang/String; = "androidx.work.workdb"
.field public static final PRUNE_SQL_FORMAT_PREFIX:Ljava/lang/String; = "DELETE FROM workspec WHERE state IN (2, 3, 5) AND (period_start_time + minimum_retention_duration) < "
.field public static final PRUNE_SQL_FORMAT_SUFFIX:Ljava/lang/String; = " AND (SELECT COUNT(*)=0 FROM dependency WHERE prerequisite_id=id AND work_spec_id NOT IN (SELECT id FROM workspec WHERE state IN (2, 3, 5)))"
.field public static final PRUNE_THRESHOLD_MILLIS:J
# direct methods
.method public static constructor <clinit>()V
.locals 3
sget-object v0, Ljava/util/concurrent/TimeUnit;->DAYS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v1, 0x7
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v0
sput-wide v0, Landroidx/work/impl/WorkDatabase;->PRUNE_THRESHOLD_MILLIS:J
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/room/RoomDatabase;-><init>()V
return-void
.end method
.method public static create(Landroid/content/Context;Ljava/util/concurrent/Executor;Z)Landroidx/work/impl/WorkDatabase;
.locals 5
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-class v0, Landroidx/work/impl/WorkDatabase;
if-eqz p2, :cond_0
invoke-static {p0, v0}, Landroidx/room/Room;->inMemoryDatabaseBuilder(Landroid/content/Context;Ljava/lang/Class;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
invoke-virtual {p1}, Landroidx/room/RoomDatabase$Builder;->allowMainThreadQueries()Landroidx/room/RoomDatabase$Builder;
move-result-object p1
goto :goto_0
:cond_0
const-string p2, "androidx.work.workdb"
invoke-static {p0, v0, p2}, Landroidx/room/Room;->databaseBuilder(Landroid/content/Context;Ljava/lang/Class;Ljava/lang/String;)Landroidx/room/RoomDatabase$Builder;
move-result-object p2
invoke-virtual {p2, p1}, Landroidx/room/RoomDatabase$Builder;->setQueryExecutor(Ljava/util/concurrent/Executor;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
:goto_0
invoke-static {}, Landroidx/work/impl/WorkDatabase;->generateCleanupCallback()Landroidx/room/RoomDatabase$Callback;
move-result-object p2
invoke-virtual {p1, p2}, Landroidx/room/RoomDatabase$Builder;->addCallback(Landroidx/room/RoomDatabase$Callback;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
const/4 p2, 0x1
new-array v0, p2, [Landroidx/room/migration/Migration;
sget-object v1, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_1_2:Landroidx/room/migration/Migration;
const/4 v2, 0x0
aput-object v1, v0, v2
invoke-virtual {p1, v0}, Landroidx/room/RoomDatabase$Builder;->addMigrations([Landroidx/room/migration/Migration;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
new-array v0, p2, [Landroidx/room/migration/Migration;
new-instance v1, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;
const/4 v3, 0x2
const/4 v4, 0x3
invoke-direct {v1, p0, v3, v4}, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;-><init>(Landroid/content/Context;II)V
aput-object v1, v0, v2
invoke-virtual {p1, v0}, Landroidx/room/RoomDatabase$Builder;->addMigrations([Landroidx/room/migration/Migration;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
new-array v0, p2, [Landroidx/room/migration/Migration;
sget-object v1, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_3_4:Landroidx/room/migration/Migration;
aput-object v1, v0, v2
invoke-virtual {p1, v0}, Landroidx/room/RoomDatabase$Builder;->addMigrations([Landroidx/room/migration/Migration;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
new-array v0, p2, [Landroidx/room/migration/Migration;
sget-object v1, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_4_5:Landroidx/room/migration/Migration;
aput-object v1, v0, v2
invoke-virtual {p1, v0}, Landroidx/room/RoomDatabase$Builder;->addMigrations([Landroidx/room/migration/Migration;)Landroidx/room/RoomDatabase$Builder;
move-result-object p1
new-array p2, p2, [Landroidx/room/migration/Migration;
new-instance v0, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;
const/4 v1, 0x5
const/4 v3, 0x6
invoke-direct {v0, p0, v1, v3}, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;-><init>(Landroid/content/Context;II)V
aput-object v0, p2, v2
invoke-virtual {p1, p2}, Landroidx/room/RoomDatabase$Builder;->addMigrations([Landroidx/room/migration/Migration;)Landroidx/room/RoomDatabase$Builder;
move-result-object p0
invoke-virtual {p0}, Landroidx/room/RoomDatabase$Builder;->fallbackToDestructiveMigration()Landroidx/room/RoomDatabase$Builder;
move-result-object p0
invoke-virtual {p0}, Landroidx/room/RoomDatabase$Builder;->build()Landroidx/room/RoomDatabase;
move-result-object p0
check-cast p0, Landroidx/work/impl/WorkDatabase;
return-object p0
.end method
.method public static generateCleanupCallback()Landroidx/room/RoomDatabase$Callback;
.locals 1
new-instance v0, Landroidx/work/impl/WorkDatabase$1;
invoke-direct {v0}, Landroidx/work/impl/WorkDatabase$1;-><init>()V
return-object v0
.end method
.method public static getPruneDate()J
.locals 4
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
sget-wide v2, Landroidx/work/impl/WorkDatabase;->PRUNE_THRESHOLD_MILLIS:J
sub-long/2addr v0, v2
return-wide v0
.end method
.method public static getPruneSQL()Ljava/lang/String;
.locals 3
const-string v0, "DELETE FROM workspec WHERE state IN (2, 3, 5) AND (period_start_time + minimum_retention_duration) < "
invoke-static {v0}, Lf/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Landroidx/work/impl/WorkDatabase;->getPruneDate()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, " AND (SELECT COUNT(*)=0 FROM dependency WHERE prerequisite_id=id AND work_spec_id NOT IN (SELECT id FROM workspec WHERE state IN (2, 3, 5)))"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
# virtual methods
.method public abstract dependencyDao()Landroidx/work/impl/model/DependencyDao;
.end method
.method public abstract systemIdInfoDao()Landroidx/work/impl/model/SystemIdInfoDao;
.end method
.method public abstract workNameDao()Landroidx/work/impl/model/WorkNameDao;
.end method
.method public abstract workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
.end method
.method public abstract workTagDao()Landroidx/work/impl/model/WorkTagDao;
.end method

View file

@ -0,0 +1,52 @@
.class public final Landroidx/work/impl/WorkDatabaseMigrations$1;
.super Landroidx/room/migration/Migration;
.source "WorkDatabaseMigrations.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/WorkDatabaseMigrations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>(II)V
.locals 0
invoke-direct {p0, p1, p2}, Landroidx/room/migration/Migration;-><init>(II)V
return-void
.end method
# virtual methods
.method public migrate(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 1
.param p1 # Landroidx/sqlite/db/SupportSQLiteDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-string v0, "CREATE TABLE IF NOT EXISTS `SystemIdInfo` (`work_spec_id` TEXT NOT NULL, `system_id` INTEGER NOT NULL, PRIMARY KEY(`work_spec_id`), FOREIGN KEY(`work_spec_id`) REFERENCES `WorkSpec`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v0, "INSERT INTO SystemIdInfo(work_spec_id, system_id) SELECT work_spec_id, alarm_id AS system_id FROM alarmInfo"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v0, "DROP TABLE IF EXISTS alarmInfo"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v0, "INSERT OR IGNORE INTO worktag(tag, work_spec_id) SELECT worker_class_name AS tag, id AS work_spec_id FROM workspec"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
return-void
.end method

View file

@ -0,0 +1,47 @@
.class public final Landroidx/work/impl/WorkDatabaseMigrations$2;
.super Landroidx/room/migration/Migration;
.source "WorkDatabaseMigrations.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/WorkDatabaseMigrations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>(II)V
.locals 0
invoke-direct {p0, p1, p2}, Landroidx/room/migration/Migration;-><init>(II)V
return-void
.end method
# virtual methods
.method public migrate(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 2
.param p1 # Landroidx/sqlite/db/SupportSQLiteDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-lt v0, v1, :cond_0
const-string v0, "UPDATE workspec SET schedule_requested_at=0 WHERE state NOT IN (2, 3, 5) AND schedule_requested_at=-1 AND interval_duration<>0"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_0
return-void
.end method

View file

@ -0,0 +1,44 @@
.class public final Landroidx/work/impl/WorkDatabaseMigrations$3;
.super Landroidx/room/migration/Migration;
.source "WorkDatabaseMigrations.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/WorkDatabaseMigrations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>(II)V
.locals 0
invoke-direct {p0, p1, p2}, Landroidx/room/migration/Migration;-><init>(II)V
return-void
.end method
# virtual methods
.method public migrate(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 1
.param p1 # Landroidx/sqlite/db/SupportSQLiteDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-string v0, "ALTER TABLE workspec ADD COLUMN `trigger_content_update_delay` INTEGER NOT NULL DEFAULT -1"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v0, "ALTER TABLE workspec ADD COLUMN `trigger_max_content_delay` INTEGER NOT NULL DEFAULT -1"
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
return-void
.end method

View file

@ -0,0 +1,56 @@
.class public Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;
.super Landroidx/room/migration/Migration;
.source "WorkDatabaseMigrations.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/WorkDatabaseMigrations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "WorkMigration"
.end annotation
# instance fields
.field public final mContext:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;II)V
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0, p2, p3}, Landroidx/room/migration/Migration;-><init>(II)V
iput-object p1, p0, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;->mContext:Landroid/content/Context;
return-void
.end method
# virtual methods
.method public migrate(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 1
.param p1 # Landroidx/sqlite/db/SupportSQLiteDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
new-instance p1, Landroidx/work/impl/utils/Preferences;
iget-object v0, p0, Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;->mContext:Landroid/content/Context;
invoke-direct {p1, v0}, Landroidx/work/impl/utils/Preferences;-><init>(Landroid/content/Context;)V
const/4 v0, 0x1
invoke-virtual {p1, v0}, Landroidx/work/impl/utils/Preferences;->setNeedsReschedule(Z)V
return-void
.end method

View file

@ -0,0 +1,93 @@
.class public Landroidx/work/impl/WorkDatabaseMigrations;
.super Ljava/lang/Object;
.source "WorkDatabaseMigrations.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/WorkDatabaseMigrations$WorkMigration;
}
.end annotation
# static fields
.field public static final CREATE_SYSTEM_ID_INFO:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS `SystemIdInfo` (`work_spec_id` TEXT NOT NULL, `system_id` INTEGER NOT NULL, PRIMARY KEY(`work_spec_id`), FOREIGN KEY(`work_spec_id`) REFERENCES `WorkSpec`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )"
.field public static final MIGRATE_ALARM_INFO_TO_SYSTEM_ID_INFO:Ljava/lang/String; = "INSERT INTO SystemIdInfo(work_spec_id, system_id) SELECT work_spec_id, alarm_id AS system_id FROM alarmInfo"
.field public static MIGRATION_1_2:Landroidx/room/migration/Migration; = null
.field public static MIGRATION_3_4:Landroidx/room/migration/Migration; = null
.field public static MIGRATION_4_5:Landroidx/room/migration/Migration; = null
.field public static final PERIODIC_WORK_SET_SCHEDULE_REQUESTED_AT:Ljava/lang/String; = "UPDATE workspec SET schedule_requested_at=0 WHERE state NOT IN (2, 3, 5) AND schedule_requested_at=-1 AND interval_duration<>0"
.field public static final REMOVE_ALARM_INFO:Ljava/lang/String; = "DROP TABLE IF EXISTS alarmInfo"
.field public static final VERSION_1:I = 0x1
.field public static final VERSION_2:I = 0x2
.field public static final VERSION_3:I = 0x3
.field public static final VERSION_4:I = 0x4
.field public static final VERSION_5:I = 0x5
.field public static final VERSION_6:I = 0x6
.field public static final WORKSPEC_ADD_TRIGGER_MAX_CONTENT_DELAY:Ljava/lang/String; = "ALTER TABLE workspec ADD COLUMN `trigger_max_content_delay` INTEGER NOT NULL DEFAULT -1"
.field public static final WORKSPEC_ADD_TRIGGER_UPDATE_DELAY:Ljava/lang/String; = "ALTER TABLE workspec ADD COLUMN `trigger_content_update_delay` INTEGER NOT NULL DEFAULT -1"
# direct methods
.method public static constructor <clinit>()V
.locals 3
new-instance v0, Landroidx/work/impl/WorkDatabaseMigrations$1;
const/4 v1, 0x1
const/4 v2, 0x2
invoke-direct {v0, v1, v2}, Landroidx/work/impl/WorkDatabaseMigrations$1;-><init>(II)V
sput-object v0, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_1_2:Landroidx/room/migration/Migration;
new-instance v0, Landroidx/work/impl/WorkDatabaseMigrations$2;
const/4 v1, 0x4
const/4 v2, 0x3
invoke-direct {v0, v2, v1}, Landroidx/work/impl/WorkDatabaseMigrations$2;-><init>(II)V
sput-object v0, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_3_4:Landroidx/room/migration/Migration;
new-instance v0, Landroidx/work/impl/WorkDatabaseMigrations$3;
const/4 v2, 0x5
invoke-direct {v0, v1, v2}, Landroidx/work/impl/WorkDatabaseMigrations$3;-><init>(II)V
sput-object v0, Landroidx/work/impl/WorkDatabaseMigrations;->MIGRATION_4_5:Landroidx/room/migration/Migration;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,497 @@
.class public final Landroidx/work/impl/WorkDatabase_Impl;
.super Landroidx/work/impl/WorkDatabase;
.source "WorkDatabase_Impl.java"
# instance fields
.field public volatile _dependencyDao:Landroidx/work/impl/model/DependencyDao;
.field public volatile _systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
.field public volatile _workNameDao:Landroidx/work/impl/model/WorkNameDao;
.field public volatile _workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
.field public volatile _workTagDao:Landroidx/work/impl/model/WorkTagDao;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/work/impl/WorkDatabase;-><init>()V
return-void
.end method
.method public static synthetic access$000(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$100(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$200(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$302(Landroidx/work/impl/WorkDatabase_Impl;Landroidx/sqlite/db/SupportSQLiteDatabase;)Landroidx/sqlite/db/SupportSQLiteDatabase;
.locals 0
iput-object p1, p0, Landroidx/room/RoomDatabase;->mDatabase:Landroidx/sqlite/db/SupportSQLiteDatabase;
return-object p1
.end method
.method public static synthetic access$400(Landroidx/work/impl/WorkDatabase_Impl;Landroidx/sqlite/db/SupportSQLiteDatabase;)V
.locals 0
invoke-virtual {p0, p1}, Landroidx/room/RoomDatabase;->internalInitInvalidationTracker(Landroidx/sqlite/db/SupportSQLiteDatabase;)V
return-void
.end method
.method public static synthetic access$500(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$600(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$700(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List;
.locals 0
iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List;
return-object p0
.end method
# virtual methods
.method public clearAllTables()V
.locals 6
invoke-super {p0}, Landroidx/room/RoomDatabase;->assertNotMainThread()V
invoke-super {p0}, Landroidx/room/RoomDatabase;->getOpenHelper()Landroidx/sqlite/db/SupportSQLiteOpenHelper;
move-result-object v0
invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper;->getWritableDatabase()Landroidx/sqlite/db/SupportSQLiteDatabase;
move-result-object v0
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const-string v2, "VACUUM"
const-string v3, "PRAGMA foreign_keys = TRUE"
const-string v4, "PRAGMA wal_checkpoint(FULL)"
if-nez v1, :cond_0
:try_start_0
const-string v5, "PRAGMA foreign_keys = FALSE"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_0
invoke-super {p0}, Landroidx/room/RoomDatabase;->beginTransaction()V
if-eqz v1, :cond_1
const-string v5, "PRAGMA defer_foreign_keys = TRUE"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_1
const-string v5, "DELETE FROM `Dependency`"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v5, "DELETE FROM `WorkSpec`"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v5, "DELETE FROM `WorkTag`"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v5, "DELETE FROM `SystemIdInfo`"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
const-string v5, "DELETE FROM `WorkName`"
invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
invoke-super {p0}, Landroidx/room/RoomDatabase;->setTransactionSuccessful()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-super {p0}, Landroidx/room/RoomDatabase;->endTransaction()V
if-nez v1, :cond_2
invoke-interface {v0, v3}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_2
invoke-interface {v0, v4}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v1
invoke-interface {v1}, Landroid/database/Cursor;->close()V
invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->inTransaction()Z
move-result v1
if-nez v1, :cond_3
invoke-interface {v0, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_3
return-void
:catchall_0
move-exception v5
invoke-super {p0}, Landroidx/room/RoomDatabase;->endTransaction()V
if-nez v1, :cond_4
invoke-interface {v0, v3}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_4
invoke-interface {v0, v4}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v1
invoke-interface {v1}, Landroid/database/Cursor;->close()V
invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->inTransaction()Z
move-result v1
if-nez v1, :cond_5
invoke-interface {v0, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V
:cond_5
throw v5
.end method
.method public createInvalidationTracker()Landroidx/room/InvalidationTracker;
.locals 8
new-instance v0, Ljava/util/HashMap;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/HashMap;-><init>(I)V
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2, v1}, Ljava/util/HashMap;-><init>(I)V
new-instance v1, Landroidx/room/InvalidationTracker;
const-string v3, "Dependency"
const-string v4, "WorkSpec"
const-string v5, "WorkTag"
const-string v6, "SystemIdInfo"
const-string v7, "WorkName"
filled-new-array {v3, v4, v5, v6, v7}, [Ljava/lang/String;
move-result-object v3
invoke-direct {v1, p0, v0, v2, v3}, Landroidx/room/InvalidationTracker;-><init>(Landroidx/room/RoomDatabase;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/String;)V
return-object v1
.end method
.method public createOpenHelper(Landroidx/room/DatabaseConfiguration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper;
.locals 4
new-instance v0, Landroidx/room/RoomOpenHelper;
new-instance v1, Landroidx/work/impl/WorkDatabase_Impl$1;
const/4 v2, 0x6
invoke-direct {v1, p0, v2}, Landroidx/work/impl/WorkDatabase_Impl$1;-><init>(Landroidx/work/impl/WorkDatabase_Impl;I)V
const-string v2, "c84d23ade98552f1cec71088c1f0794c"
const-string v3, "1db8206f0da6aa81bbdd2d99a82d9e14"
invoke-direct {v0, p1, v1, v2, v3}, Landroidx/room/RoomOpenHelper;-><init>(Landroidx/room/DatabaseConfiguration;Landroidx/room/RoomOpenHelper$Delegate;Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p1, Landroidx/room/DatabaseConfiguration;->context:Landroid/content/Context;
invoke-static {v1}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;->builder(Landroid/content/Context;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;
move-result-object v1
iget-object v2, p1, Landroidx/room/DatabaseConfiguration;->name:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->name(Ljava/lang/String;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;
move-result-object v1
invoke-virtual {v1, v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->callback(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;
move-result-object v0
invoke-virtual {v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->build()Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;
move-result-object v0
iget-object p1, p1, Landroidx/room/DatabaseConfiguration;->sqliteOpenHelperFactory:Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory;
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory;->create(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper;
move-result-object p1
return-object p1
.end method
.method public dependencyDao()Landroidx/work/impl/model/DependencyDao;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao;
return-object v0
:cond_0
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao;
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/model/DependencyDao_Impl;
invoke-direct {v0, p0}, Landroidx/work/impl/model/DependencyDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao;
:cond_1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public systemIdInfoDao()Landroidx/work/impl/model/SystemIdInfoDao;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
return-object v0
:cond_0
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;
invoke-direct {v0, p0}, Landroidx/work/impl/model/SystemIdInfoDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
:cond_1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public workNameDao()Landroidx/work/impl/model/WorkNameDao;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao;
return-object v0
:cond_0
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao;
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/model/WorkNameDao_Impl;
invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkNameDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao;
:cond_1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
return-object v0
:cond_0
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/model/WorkSpecDao_Impl;
invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkSpecDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
:cond_1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public workTagDao()Landroidx/work/impl/model/WorkTagDao;
.locals 1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao;
return-object v0
:cond_0
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao;
if-nez v0, :cond_1
new-instance v0, Landroidx/work/impl/model/WorkTagDao_Impl;
invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkTagDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao;
:cond_1
iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method

View file

@ -0,0 +1,76 @@
.class public Landroidx/work/impl/WorkManagerImpl$1;
.super Ljava/lang/Object;
.source "WorkManagerImpl.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/WorkManagerImpl;->getLastCancelAllTimeMillis()Lf/k/b/a/a/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/WorkManagerImpl;
.field public final synthetic val$future:Landroidx/work/impl/utils/futures/SettableFuture;
.field public final synthetic val$preferences:Landroidx/work/impl/utils/Preferences;
# direct methods
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;Landroidx/work/impl/utils/futures/SettableFuture;Landroidx/work/impl/utils/Preferences;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/WorkManagerImpl$1;->this$0:Landroidx/work/impl/WorkManagerImpl;
iput-object p2, p0, Landroidx/work/impl/WorkManagerImpl$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
iput-object p3, p0, Landroidx/work/impl/WorkManagerImpl$1;->val$preferences:Landroidx/work/impl/utils/Preferences;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 3
:try_start_0
iget-object v0, p0, Landroidx/work/impl/WorkManagerImpl$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
iget-object v1, p0, Landroidx/work/impl/WorkManagerImpl$1;->val$preferences:Landroidx/work/impl/utils/Preferences;
invoke-virtual {v1}, Landroidx/work/impl/utils/Preferences;->getLastCancelAllTimeMillis()J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, v1}, Landroidx/work/impl/utils/futures/SettableFuture;->set(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
iget-object v1, p0, Landroidx/work/impl/WorkManagerImpl$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
invoke-virtual {v1, v0}, Landroidx/work/impl/utils/futures/SettableFuture;->setException(Ljava/lang/Throwable;)Z
:goto_0
return-void
.end method

View file

@ -0,0 +1,100 @@
.class public Landroidx/work/impl/WorkManagerImpl$2;
.super Ljava/lang/Object;
.source "WorkManagerImpl.java"
# interfaces
.implements Landroidx/arch/core/util/Function;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/WorkManagerImpl;->getWorkInfoByIdLiveData(Ljava/util/UUID;)Landroidx/lifecycle/LiveData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/arch/core/util/Function<",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;",
"Landroidx/work/WorkInfo;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/WorkManagerImpl;
# direct methods
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/WorkManagerImpl$2;->this$0:Landroidx/work/impl/WorkManagerImpl;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public apply(Ljava/util/List;)Landroidx/work/WorkInfo;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;)",
"Landroidx/work/WorkInfo;"
}
.end annotation
if-eqz p1, :cond_0
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x0
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
invoke-virtual {p1}, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->toWorkInfo()Landroidx/work/WorkInfo;
move-result-object p1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return-object p1
.end method
.method public bridge synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
check-cast p1, Ljava/util/List;
invoke-virtual {p0, p1}, Landroidx/work/impl/WorkManagerImpl$2;->apply(Ljava/util/List;)Landroidx/work/WorkInfo;
move-result-object p1
return-object p1
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,151 @@
.class public Landroidx/work/impl/WorkManagerInitializer;
.super Landroid/content/ContentProvider;
.source "WorkManagerInitializer.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroid/content/ContentProvider;-><init>()V
return-void
.end method
# virtual methods
.method public delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
.locals 0
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # [Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 p1, 0x0
return p1
.end method
.method public getType(Landroid/net/Uri;)Ljava/lang/String;
.locals 0
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 p1, 0x0
return-object p1
.end method
.method public insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
.locals 0
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/ContentValues;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 p1, 0x0
return-object p1
.end method
.method public onCreate()Z
.locals 2
invoke-virtual {p0}, Landroid/content/ContentProvider;->getContext()Landroid/content/Context;
move-result-object v0
new-instance v1, Landroidx/work/Configuration$Builder;
invoke-direct {v1}, Landroidx/work/Configuration$Builder;-><init>()V
invoke-virtual {v1}, Landroidx/work/Configuration$Builder;->build()Landroidx/work/Configuration;
move-result-object v1
invoke-static {v0, v1}, Landroidx/work/WorkManager;->initialize(Landroid/content/Context;Landroidx/work/Configuration;)V
const/4 v0, 0x1
return v0
.end method
.method public query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
.locals 0
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # [Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p4 # [Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p5 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 p1, 0x0
return-object p1
.end method
.method public update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
.locals 0
.param p1 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/ContentValues;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p4 # [Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 p1, 0x0
return p1
.end method

View file

@ -0,0 +1,108 @@
.class public Landroidx/work/impl/WorkerWrapper$1;
.super Ljava/lang/Object;
.source "WorkerWrapper.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/WorkerWrapper;->runWorker()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/WorkerWrapper;
.field public final synthetic val$future:Landroidx/work/impl/utils/futures/SettableFuture;
# direct methods
.method public constructor <init>(Landroidx/work/impl/WorkerWrapper;Landroidx/work/impl/utils/futures/SettableFuture;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$1;->this$0:Landroidx/work/impl/WorkerWrapper;
iput-object p2, p0, Landroidx/work/impl/WorkerWrapper$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 6
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/WorkerWrapper;->TAG:Ljava/lang/String;
const-string v2, "Starting work for %s"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
iget-object v4, p0, Landroidx/work/impl/WorkerWrapper$1;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v4, v4, Landroidx/work/impl/WorkerWrapper;->mWorkSpec:Landroidx/work/impl/model/WorkSpec;
iget-object v4, v4, Landroidx/work/impl/model/WorkSpec;->workerClassName:Ljava/lang/String;
const/4 v5, 0x0
aput-object v4, v3, v5
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v5, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/WorkerWrapper$1;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v1, p0, Landroidx/work/impl/WorkerWrapper$1;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v1, v1, Landroidx/work/impl/WorkerWrapper;->mWorker:Landroidx/work/ListenableWorker;
invoke-virtual {v1}, Landroidx/work/ListenableWorker;->startWork()Lf/k/b/a/a/a;
move-result-object v1
iput-object v1, v0, Landroidx/work/impl/WorkerWrapper;->mInnerFuture:Lf/k/b/a/a/a;
iget-object v0, p0, Landroidx/work/impl/WorkerWrapper$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
iget-object v1, p0, Landroidx/work/impl/WorkerWrapper$1;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v1, v1, Landroidx/work/impl/WorkerWrapper;->mInnerFuture:Lf/k/b/a/a/a;
invoke-virtual {v0, v1}, Landroidx/work/impl/utils/futures/SettableFuture;->setFuture(Lf/k/b/a/a/a;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
iget-object v1, p0, Landroidx/work/impl/WorkerWrapper$1;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
invoke-virtual {v1, v0}, Landroidx/work/impl/utils/futures/SettableFuture;->setException(Ljava/lang/Throwable;)Z
:goto_0
return-void
.end method

View file

@ -0,0 +1,221 @@
.class public Landroidx/work/impl/WorkerWrapper$2;
.super Ljava/lang/Object;
.source "WorkerWrapper.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/WorkerWrapper;->runWorker()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/WorkerWrapper;
.field public final synthetic val$future:Landroidx/work/impl/utils/futures/SettableFuture;
.field public final synthetic val$workDescription:Ljava/lang/String;
# direct methods
.method public constructor <init>(Landroidx/work/impl/WorkerWrapper;Landroidx/work/impl/utils/futures/SettableFuture;Ljava/lang/String;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
iput-object p2, p0, Landroidx/work/impl/WorkerWrapper$2;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
iput-object p3, p0, Landroidx/work/impl/WorkerWrapper$2;->val$workDescription:Ljava/lang/String;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 8
.annotation build Landroid/annotation/SuppressLint;
value = {
"SyntheticAccessor"
}
.end annotation
const/4 v0, 0x1
const/4 v1, 0x0
:try_start_0
iget-object v2, p0, Landroidx/work/impl/WorkerWrapper$2;->val$future:Landroidx/work/impl/utils/futures/SettableFuture;
invoke-virtual {v2}, Landroidx/work/impl/utils/futures/AbstractFuture;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/work/ListenableWorker$Result;
if-nez v2, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v2
sget-object v3, Landroidx/work/impl/WorkerWrapper;->TAG:Ljava/lang/String;
const-string v4, "%s returned a null result. Treating it as a failure."
new-array v5, v0, [Ljava/lang/Object;
iget-object v6, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v6, v6, Landroidx/work/impl/WorkerWrapper;->mWorkSpec:Landroidx/work/impl/model/WorkSpec;
iget-object v6, v6, Landroidx/work/impl/model/WorkSpec;->workerClassName:Ljava/lang/String;
aput-object v6, v5, v1
invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
new-array v5, v1, [Ljava/lang/Throwable;
invoke-virtual {v2, v3, v4, v5}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_1
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v3
sget-object v4, Landroidx/work/impl/WorkerWrapper;->TAG:Ljava/lang/String;
const-string v5, "%s returned a %s result."
const/4 v6, 0x2
new-array v6, v6, [Ljava/lang/Object;
iget-object v7, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
iget-object v7, v7, Landroidx/work/impl/WorkerWrapper;->mWorkSpec:Landroidx/work/impl/model/WorkSpec;
iget-object v7, v7, Landroidx/work/impl/model/WorkSpec;->workerClassName:Ljava/lang/String;
aput-object v7, v6, v1
aput-object v2, v6, v0
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v6, v1, [Ljava/lang/Throwable;
invoke-virtual {v3, v4, v5, v6}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v3, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
iput-object v2, v3, Landroidx/work/impl/WorkerWrapper;->mResult:Landroidx/work/ListenableWorker$Result;
:try_end_0
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_2
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/util/concurrent/ExecutionException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_1
:catchall_0
move-exception v0
goto :goto_2
:catch_0
move-exception v2
goto :goto_0
:catch_1
move-exception v2
:goto_0
:try_start_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v3
sget-object v4, Landroidx/work/impl/WorkerWrapper;->TAG:Ljava/lang/String;
const-string v5, "%s failed because it threw an exception/error"
new-array v6, v0, [Ljava/lang/Object;
iget-object v7, p0, Landroidx/work/impl/WorkerWrapper$2;->val$workDescription:Ljava/lang/String;
aput-object v7, v6, v1
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v0, v0, [Ljava/lang/Throwable;
aput-object v2, v0, v1
invoke-virtual {v3, v4, v5, v0}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_1
:catch_2
move-exception v2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v3
sget-object v4, Landroidx/work/impl/WorkerWrapper;->TAG:Ljava/lang/String;
const-string v5, "%s was cancelled"
new-array v6, v0, [Ljava/lang/Object;
iget-object v7, p0, Landroidx/work/impl/WorkerWrapper$2;->val$workDescription:Ljava/lang/String;
aput-object v7, v6, v1
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v0, v0, [Ljava/lang/Throwable;
aput-object v2, v0, v1
invoke-virtual {v3, v4, v5, v0}, Landroidx/work/Logger;->info(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:goto_1
iget-object v0, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
invoke-virtual {v0}, Landroidx/work/impl/WorkerWrapper;->onWorkFinished()V
return-void
:goto_2
iget-object v1, p0, Landroidx/work/impl/WorkerWrapper$2;->this$0:Landroidx/work/impl/WorkerWrapper;
invoke-virtual {v1}, Landroidx/work/impl/WorkerWrapper;->onWorkFinished()V
throw v0
.end method

View file

@ -0,0 +1,167 @@
.class public Landroidx/work/impl/WorkerWrapper$Builder;
.super Ljava/lang/Object;
.source "WorkerWrapper.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/WorkerWrapper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# instance fields
.field public mAppContext:Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mConfiguration:Landroidx/work/Configuration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mRuntimeExtras:Landroidx/work/WorkerParameters$RuntimeExtras;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mSchedulers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/work/impl/Scheduler;",
">;"
}
.end annotation
.end field
.field public mWorkDatabase:Landroidx/work/impl/WorkDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mWorkSpecId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mWorker:Landroidx/work/ListenableWorker;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/Configuration;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/WorkDatabase;Ljava/lang/String;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/work/Configuration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroidx/work/impl/WorkDatabase;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p5 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Landroidx/work/WorkerParameters$RuntimeExtras;
invoke-direct {v0}, Landroidx/work/WorkerParameters$RuntimeExtras;-><init>()V
iput-object v0, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mRuntimeExtras:Landroidx/work/WorkerParameters$RuntimeExtras;
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mAppContext:Landroid/content/Context;
iput-object p3, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mWorkTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
iput-object p2, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mConfiguration:Landroidx/work/Configuration;
iput-object p4, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mWorkDatabase:Landroidx/work/impl/WorkDatabase;
iput-object p5, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mWorkSpecId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public build()Landroidx/work/impl/WorkerWrapper;
.locals 1
new-instance v0, Landroidx/work/impl/WorkerWrapper;
invoke-direct {v0, p0}, Landroidx/work/impl/WorkerWrapper;-><init>(Landroidx/work/impl/WorkerWrapper$Builder;)V
return-object v0
.end method
.method public withRuntimeExtras(Landroidx/work/WorkerParameters$RuntimeExtras;)Landroidx/work/impl/WorkerWrapper$Builder;
.locals 0
if-eqz p1, :cond_0
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mRuntimeExtras:Landroidx/work/WorkerParameters$RuntimeExtras;
:cond_0
return-object p0
.end method
.method public withSchedulers(Ljava/util/List;)Landroidx/work/impl/WorkerWrapper$Builder;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/impl/Scheduler;",
">;)",
"Landroidx/work/impl/WorkerWrapper$Builder;"
}
.end annotation
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mSchedulers:Ljava/util/List;
return-object p0
.end method
.method public withWorker(Landroidx/work/ListenableWorker;)Landroidx/work/impl/WorkerWrapper$Builder;
.locals 0
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
iput-object p1, p0, Landroidx/work/impl/WorkerWrapper$Builder;->mWorker:Landroidx/work/ListenableWorker;
return-object p0
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,598 @@
.class public Landroidx/work/impl/background/greedy/GreedyScheduler;
.super Ljava/lang/Object;
.source "GreedyScheduler.java"
# interfaces
.implements Landroidx/work/impl/Scheduler;
.implements Landroidx/work/impl/constraints/WorkConstraintsCallback;
.implements Landroidx/work/impl/ExecutionListener;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public mConstrainedWorkSpecs:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;"
}
.end annotation
.end field
.field public final mLock:Ljava/lang/Object;
.field public mRegisteredExecutionListener:Z
.field public mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
.field public mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "GreedyScheduler"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/WorkManagerImpl;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
iput-object p3, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
new-instance p3, Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-direct {p3, p1, p2, p0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/constraints/WorkConstraintsCallback;)V
iput-object p3, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mLock:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Landroidx/work/impl/WorkManagerImpl;Landroidx/work/impl/constraints/WorkConstraintsTracker;)V
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
iput-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iput-object p2, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mLock:Ljava/lang/Object;
return-void
.end method
.method private registerExecutionListenerIfNeeded()V
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mRegisteredExecutionListener:Z
if-nez v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v0
invoke-virtual {v0, p0}, Landroidx/work/impl/Processor;->addExecutionListener(Landroidx/work/impl/ExecutionListener;)V
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mRegisteredExecutionListener:Z
:cond_0
return-void
.end method
.method private removeConstraintTrackingFor(Ljava/lang/String;)V
.locals 7
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
const/4 v2, 0x0
const/4 v3, 0x0
:goto_0
if-ge v3, v1, :cond_1
iget-object v4, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-interface {v4, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/work/impl/model/WorkSpec;
iget-object v4, v4, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-virtual {v4, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v4, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
const-string v5, "Stopping tracking for %s"
const/4 v6, 0x1
new-array v6, v6, [Ljava/lang/Object;
aput-object p1, v6, v2
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v1, v4, p1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-interface {p1, v3}, Ljava/util/List;->remove(I)Ljava/lang/Object;
iget-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-virtual {p1, v1}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->replace(Ljava/util/List;)V
goto :goto_1
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
:goto_1
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
# virtual methods
.method public cancel(Ljava/lang/String;)V
.locals 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Landroidx/work/impl/background/greedy/GreedyScheduler;->registerExecutionListenerIfNeeded()V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const-string v4, "Cancelling work ID %s"
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v0, p1}, Landroidx/work/impl/WorkManagerImpl;->stopWork(Ljava/lang/String;)V
return-void
.end method
.method public onAllConstraintsMet(Ljava/util/List;)V
.locals 6
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
const-string v5, "Constraints met: Scheduling work ID %s"
invoke-static {v5, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v1, v0}, Landroidx/work/impl/WorkManagerImpl;->startWork(Ljava/lang/String;)V
goto :goto_0
:cond_0
return-void
.end method
.method public onAllConstraintsNotMet(Ljava/util/List;)V
.locals 6
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
const-string v5, "Constraints not met: Cancelling work ID %s"
invoke-static {v5, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v1, v0}, Landroidx/work/impl/WorkManagerImpl;->stopWork(Ljava/lang/String;)V
goto :goto_0
:cond_0
return-void
.end method
.method public onExecuted(Ljava/lang/String;Z)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0, p1}, Landroidx/work/impl/background/greedy/GreedyScheduler;->removeConstraintTrackingFor(Ljava/lang/String;)V
return-void
.end method
.method public varargs schedule([Landroidx/work/impl/model/WorkSpec;)V
.locals 12
.param p1 # [Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Landroidx/work/impl/background/greedy/GreedyScheduler;->registerExecutionListenerIfNeeded()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
array-length v2, p1
const/4 v3, 0x0
const/4 v4, 0x0
:goto_0
const/4 v5, 0x1
if-ge v4, v2, :cond_3
aget-object v6, p1, v4
iget-object v7, v6, Landroidx/work/impl/model/WorkSpec;->state:Landroidx/work/WorkInfo$State;
sget-object v8, Landroidx/work/WorkInfo$State;->ENQUEUED:Landroidx/work/WorkInfo$State;
if-ne v7, v8, :cond_2
invoke-virtual {v6}, Landroidx/work/impl/model/WorkSpec;->isPeriodic()Z
move-result v7
if-nez v7, :cond_2
iget-wide v7, v6, Landroidx/work/impl/model/WorkSpec;->initialDelay:J
const-wide/16 v9, 0x0
cmp-long v11, v7, v9
if-nez v11, :cond_2
invoke-virtual {v6}, Landroidx/work/impl/model/WorkSpec;->isBackedOff()Z
move-result v7
if-nez v7, :cond_2
invoke-virtual {v6}, Landroidx/work/impl/model/WorkSpec;->hasConstraints()Z
move-result v7
if-eqz v7, :cond_1
sget v5, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v7, 0x18
if-lt v5, v7, :cond_0
iget-object v5, v6, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {v5}, Landroidx/work/Constraints;->hasContentUriTriggers()Z
move-result v5
if-nez v5, :cond_2
:cond_0
invoke-interface {v0, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget-object v5, v6, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_1
:cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v7
sget-object v8, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
new-array v5, v5, [Ljava/lang/Object;
iget-object v9, v6, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
aput-object v9, v5, v3
const-string v9, "Starting work for %s"
invoke-static {v9, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v9, v3, [Ljava/lang/Throwable;
invoke-virtual {v7, v8, v5, v9}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v5, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iget-object v6, v6, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-virtual {v5, v6}, Landroidx/work/impl/WorkManagerImpl;->startWork(Ljava/lang/String;)V
:cond_2
:goto_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_3
iget-object p1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mLock:Ljava/lang/Object;
monitor-enter p1
:try_start_0
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-nez v2, :cond_4
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v2
sget-object v4, Landroidx/work/impl/background/greedy/GreedyScheduler;->TAG:Ljava/lang/String;
const-string v6, "Starting tracking for [%s]"
new-array v5, v5, [Ljava/lang/Object;
const-string v7, ","
invoke-static {v7, v1}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object v1
aput-object v1, v5, v3
invoke-static {v6, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v2, v4, v1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
iget-object v0, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
iget-object v1, p0, Landroidx/work/impl/background/greedy/GreedyScheduler;->mConstrainedWorkSpecs:Ljava/util/List;
invoke-virtual {v0, v1}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->replace(Ljava/util/List;)V
:cond_4
monitor-exit p1
return-void
:catchall_0
move-exception v0
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/background/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,274 @@
.class public Landroidx/work/impl/background/systemalarm/Alarms;
.super Ljava/lang/Object;
.source "Alarms.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "Alarms"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/Alarms;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static cancelAlarm(Landroid/content/Context;Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;)V
.locals 4
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Landroidx/work/impl/WorkManagerImpl;->getWorkDatabase()Landroidx/work/impl/WorkDatabase;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/WorkDatabase;->systemIdInfoDao()Landroidx/work/impl/model/SystemIdInfoDao;
move-result-object p1
invoke-interface {p1, p2}, Landroidx/work/impl/model/SystemIdInfoDao;->getSystemIdInfo(Ljava/lang/String;)Landroidx/work/impl/model/SystemIdInfo;
move-result-object v0
if-eqz v0, :cond_0
iget v0, v0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
invoke-static {p0, p2, v0}, Landroidx/work/impl/background/systemalarm/Alarms;->cancelExactAlarm(Landroid/content/Context;Ljava/lang/String;I)V
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p0
sget-object v0, Landroidx/work/impl/background/systemalarm/Alarms;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const-string v3, "Removing SystemIdInfo for workSpecId (%s)"
invoke-static {v3, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {p0, v0, v1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-interface {p1, p2}, Landroidx/work/impl/model/SystemIdInfoDao;->removeSystemIdInfo(Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static cancelExactAlarm(Landroid/content/Context;Ljava/lang/String;I)V
.locals 5
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-string v0, "alarm"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/AlarmManager;
invoke-static {p0, p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createDelayMetIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object v1
const/high16 v2, 0x20000000
invoke-static {p0, p2, v1, v2}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object p0
if-eqz p0, :cond_0
if-eqz v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/Alarms;->TAG:Ljava/lang/String;
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const/4 p1, 0x1
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
aput-object p2, v3, p1
const-string p1, "Cancelling existing alarm with (workSpecId, systemId) (%s, %s)"
invoke-static {p1, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array p2, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, p2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {v0, p0}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
:cond_0
return-void
.end method
.method public static setAlarm(Landroid/content/Context;Landroidx/work/impl/WorkManagerImpl;Ljava/lang/String;J)V
.locals 2
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Landroidx/work/impl/WorkManagerImpl;->getWorkDatabase()Landroidx/work/impl/WorkDatabase;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/WorkDatabase;->systemIdInfoDao()Landroidx/work/impl/model/SystemIdInfoDao;
move-result-object p1
invoke-interface {p1, p2}, Landroidx/work/impl/model/SystemIdInfoDao;->getSystemIdInfo(Ljava/lang/String;)Landroidx/work/impl/model/SystemIdInfo;
move-result-object v0
if-eqz v0, :cond_0
iget p1, v0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
invoke-static {p0, p2, p1}, Landroidx/work/impl/background/systemalarm/Alarms;->cancelExactAlarm(Landroid/content/Context;Ljava/lang/String;I)V
iget p1, v0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
invoke-static {p0, p2, p1, p3, p4}, Landroidx/work/impl/background/systemalarm/Alarms;->setExactAlarm(Landroid/content/Context;Ljava/lang/String;IJ)V
goto :goto_0
:cond_0
new-instance v0, Landroidx/work/impl/utils/IdGenerator;
invoke-direct {v0, p0}, Landroidx/work/impl/utils/IdGenerator;-><init>(Landroid/content/Context;)V
invoke-virtual {v0}, Landroidx/work/impl/utils/IdGenerator;->nextAlarmManagerId()I
move-result v0
new-instance v1, Landroidx/work/impl/model/SystemIdInfo;
invoke-direct {v1, p2, v0}, Landroidx/work/impl/model/SystemIdInfo;-><init>(Ljava/lang/String;I)V
invoke-interface {p1, v1}, Landroidx/work/impl/model/SystemIdInfoDao;->insertSystemIdInfo(Landroidx/work/impl/model/SystemIdInfo;)V
invoke-static {p0, p2, v0, p3, p4}, Landroidx/work/impl/background/systemalarm/Alarms;->setExactAlarm(Landroid/content/Context;Ljava/lang/String;IJ)V
:goto_0
return-void
.end method
.method public static setExactAlarm(Landroid/content/Context;Ljava/lang/String;IJ)V
.locals 2
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const-string v0, "alarm"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/AlarmManager;
invoke-static {p0, p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createDelayMetIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object p1
const/high16 v1, 0x40000000 # 2.0f
invoke-static {p0, p2, p1, v1}, Landroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object p0
if-eqz v0, :cond_0
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 p1, 0x0
invoke-virtual {v0, p1, p3, p4, p0}, Landroid/app/AlarmManager;->setExact(IJLandroid/app/PendingIntent;)V
:cond_0
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,34 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryChargingProxy;
.super Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.source "ConstraintProxy.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BatteryChargingProxy"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 0
invoke-super {p0, p1, p2}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
return-void
.end method

View file

@ -0,0 +1,34 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryNotLowProxy;
.super Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.source "ConstraintProxy.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BatteryNotLowProxy"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 0
invoke-super {p0, p1, p2}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
return-void
.end method

View file

@ -0,0 +1,34 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxy$NetworkStateProxy;
.super Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.source "ConstraintProxy.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "NetworkStateProxy"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 0
invoke-super {p0, p1, p2}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
return-void
.end method

View file

@ -0,0 +1,34 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxy$StorageNotLowProxy;
.super Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.source "ConstraintProxy.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "StorageNotLowProxy"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 0
invoke-super {p0, p1, p2}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
return-void
.end method

View file

@ -0,0 +1,175 @@
.class public abstract Landroidx/work/impl/background/systemalarm/ConstraintProxy;
.super Landroid/content/BroadcastReceiver;
.source "ConstraintProxy.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/background/systemalarm/ConstraintProxy$NetworkStateProxy;,
Landroidx/work/impl/background/systemalarm/ConstraintProxy$StorageNotLowProxy;,
Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryChargingProxy;,
Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryNotLowProxy;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "ConstraintProxy"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
.method public static updateAll(Landroid/content/Context;Ljava/util/List;)V
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;)V"
}
.end annotation
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 v0, 0x0
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
:cond_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/work/impl/model/WorkSpec;
iget-object v5, v5, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {v5}, Landroidx/work/Constraints;->requiresBatteryNotLow()Z
move-result v6
or-int/2addr v1, v6
invoke-virtual {v5}, Landroidx/work/Constraints;->requiresCharging()Z
move-result v6
or-int/2addr v2, v6
invoke-virtual {v5}, Landroidx/work/Constraints;->requiresStorageNotLow()Z
move-result v6
or-int/2addr v3, v6
invoke-virtual {v5}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object v5
sget-object v6, Landroidx/work/NetworkType;->NOT_REQUIRED:Landroidx/work/NetworkType;
if-eq v5, v6, :cond_1
const/4 v5, 0x1
goto :goto_0
:cond_1
const/4 v5, 0x0
:goto_0
or-int/2addr v4, v5
if-eqz v1, :cond_0
if-eqz v2, :cond_0
if-eqz v3, :cond_0
if-eqz v4, :cond_0
:cond_2
invoke-static {p0, v1, v2, v3, v4}, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;->newConstraintProxyUpdateIntent(Landroid/content/Context;ZZZZ)Landroid/content/Intent;
move-result-object p1
invoke-virtual {p0, p1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 4
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p2, v2, v3
const-string p2, "onReceive : %s"
invoke-static {p2, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
new-array v2, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, p2, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-static {p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createConstraintsChangedIntent(Landroid/content/Context;)Landroid/content/Intent;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
return-void
.end method

View file

@ -0,0 +1,177 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;
.super Ljava/lang/Object;
.source "ConstraintProxyUpdateReceiver.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;
.field public final synthetic val$context:Landroid/content/Context;
.field public final synthetic val$intent:Landroid/content/Intent;
.field public final synthetic val$pendingResult:Landroid/content/BroadcastReceiver$PendingResult;
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;Landroid/content/Intent;Landroid/content/Context;Landroid/content/BroadcastReceiver$PendingResult;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->this$0:Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$intent:Landroid/content/Intent;
iput-object p3, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$context:Landroid/content/Context;
iput-object p4, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$pendingResult:Landroid/content/BroadcastReceiver$PendingResult;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 11
:try_start_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$intent:Landroid/content/Intent;
const-string v1, "KEY_BATTERY_NOT_LOW_PROXY_ENABLED"
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$intent:Landroid/content/Intent;
const-string v3, "KEY_BATTERY_CHARGING_PROXY_ENABLED"
invoke-virtual {v1, v3, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v1
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$intent:Landroid/content/Intent;
const-string v4, "KEY_STORAGE_NOT_LOW_PROXY_ENABLED"
invoke-virtual {v3, v4, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v3
iget-object v4, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$intent:Landroid/content/Intent;
const-string v5, "KEY_NETWORK_STATE_PROXY_ENABLED"
invoke-virtual {v4, v5, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v4
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v5
sget-object v6, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;->TAG:Ljava/lang/String;
const-string v7, "Updating proxies: BatteryNotLowProxy enabled (%s), BatteryChargingProxy enabled (%s), StorageNotLowProxy (%s), NetworkStateProxy enabled (%s)"
const/4 v8, 0x4
new-array v8, v8, [Ljava/lang/Object;
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v9
aput-object v9, v8, v2
const/4 v9, 0x1
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v10
aput-object v10, v8, v9
const/4 v9, 0x2
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v10
aput-object v10, v8, v9
const/4 v9, 0x3
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v10
aput-object v10, v8, v9
invoke-static {v7, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v7
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v5, v6, v7, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$context:Landroid/content/Context;
const-class v5, Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryNotLowProxy;
invoke-static {v2, v5, v0}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$context:Landroid/content/Context;
const-class v2, Landroidx/work/impl/background/systemalarm/ConstraintProxy$BatteryChargingProxy;
invoke-static {v0, v2, v1}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$context:Landroid/content/Context;
const-class v1, Landroidx/work/impl/background/systemalarm/ConstraintProxy$StorageNotLowProxy;
invoke-static {v0, v1, v3}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$context:Landroid/content/Context;
const-class v1, Landroidx/work/impl/background/systemalarm/ConstraintProxy$NetworkStateProxy;
invoke-static {v0, v1, v4}, Landroidx/work/impl/utils/PackageManagerHelper;->setComponentEnabled(Landroid/content/Context;Ljava/lang/Class;Z)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$pendingResult:Landroid/content/BroadcastReceiver$PendingResult;
invoke-virtual {v0}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;->val$pendingResult:Landroid/content/BroadcastReceiver$PendingResult;
invoke-virtual {v1}, Landroid/content/BroadcastReceiver$PendingResult;->finish()V
throw v0
.end method

View file

@ -0,0 +1,165 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;
.super Landroid/content/BroadcastReceiver;
.source "ConstraintProxyUpdateReceiver.java"
# static fields
.field public static final ACTION:Ljava/lang/String; = "androidx.work.impl.background.systemalarm.UpdateProxies"
.field public static final KEY_BATTERY_CHARGING_PROXY_ENABLED:Ljava/lang/String; = "KEY_BATTERY_CHARGING_PROXY_ENABLED"
.field public static final KEY_BATTERY_NOT_LOW_PROXY_ENABLED:Ljava/lang/String; = "KEY_BATTERY_NOT_LOW_PROXY_ENABLED"
.field public static final KEY_NETWORK_STATE_PROXY_ENABLED:Ljava/lang/String; = "KEY_NETWORK_STATE_PROXY_ENABLED"
.field public static final KEY_STORAGE_NOT_LOW_PROXY_ENABLED:Ljava/lang/String; = "KEY_STORAGE_NOT_LOW_PROXY_ENABLED"
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "ConstrntProxyUpdtRecvr"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
.method public static newConstraintProxyUpdateIntent(Landroid/content/Context;ZZZZ)Landroid/content/Intent;
.locals 3
new-instance v0, Landroid/content/Intent;
const-string v1, "androidx.work.impl.background.systemalarm.UpdateProxies"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
new-instance v1, Landroid/content/ComponentName;
const-class v2, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;
invoke-direct {v1, p0, v2}, Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
invoke-virtual {v0, v1}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
const-string p0, "KEY_BATTERY_NOT_LOW_PROXY_ENABLED"
invoke-virtual {v0, p0, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object p0
const-string p1, "KEY_BATTERY_CHARGING_PROXY_ENABLED"
invoke-virtual {p0, p1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object p0
const-string p1, "KEY_STORAGE_NOT_LOW_PROXY_ENABLED"
invoke-virtual {p0, p1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object p0
const-string p1, "KEY_NETWORK_STATE_PROXY_ENABLED"
invoke-virtual {p0, p1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
return-object v0
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 3
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-eqz p2, :cond_0
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "androidx.work.impl.background.systemalarm.UpdateProxies"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object p2, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object v0, v1, v2
const-string v0, "Ignoring unknown action %s"
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-array v1, v2, [Ljava/lang/Throwable;
invoke-virtual {p1, p2, v0, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_1
:cond_1
invoke-virtual {p0}, Landroid/content/BroadcastReceiver;->goAsync()Landroid/content/BroadcastReceiver$PendingResult;
move-result-object v0
invoke-static {p1}, Landroidx/work/impl/WorkManagerImpl;->getInstance(Landroid/content/Context;)Landroidx/work/impl/WorkManagerImpl;
move-result-object v1
invoke-virtual {v1}, Landroidx/work/impl/WorkManagerImpl;->getWorkTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object v1
new-instance v2, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;
invoke-direct {v2, p0, p2, p1, v0}, Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver$1;-><init>(Landroidx/work/impl/background/systemalarm/ConstraintProxyUpdateReceiver;Landroid/content/Intent;Landroid/content/Context;Landroid/content/BroadcastReceiver$PendingResult;)V
invoke-interface {v1, v2}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->executeOnBackgroundThread(Ljava/lang/Runnable;)V
:goto_1
return-void
.end method

View file

@ -0,0 +1,241 @@
.class public Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;
.super Ljava/lang/Object;
.source "ConstraintsCommandHandler.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mContext:Landroid/content/Context;
.field public final mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.field public final mStartId:I
.field public final mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "ConstraintsCmdHandler"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;ILandroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mContext:Landroid/content/Context;
iput p2, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mStartId:I
iput-object p3, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {p1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object p1
new-instance p2, Landroidx/work/impl/constraints/WorkConstraintsTracker;
iget-object p3, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mContext:Landroid/content/Context;
const/4 v0, 0x0
invoke-direct {p2, p3, p1, v0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/constraints/WorkConstraintsCallback;)V
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
return-void
.end method
# virtual methods
.method public handleConstraintsChanged()V
.locals 9
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getWorkManager()Landroidx/work/impl/WorkManagerImpl;
move-result-object v0
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getWorkDatabase()Landroidx/work/impl/WorkDatabase;
move-result-object v0
invoke-virtual {v0}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
move-result-object v0
invoke-interface {v0}, Landroidx/work/impl/model/WorkSpecDao;->getScheduledWork()Ljava/util/List;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mContext:Landroid/content/Context;
invoke-static {v1, v0}, Landroidx/work/impl/background/systemalarm/ConstraintProxy;->updateAll(Landroid/content/Context;Ljava/util/List;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-virtual {v1, v0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->replace(Ljava/util/List;)V
new-instance v1, Ljava/util/ArrayList;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_2
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/work/impl/model/WorkSpec;
iget-object v5, v4, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-virtual {v4}, Landroidx/work/impl/model/WorkSpec;->calculateNextRunTime()J
move-result-wide v6
cmp-long v8, v2, v6
if-ltz v8, :cond_0
invoke-virtual {v4}, Landroidx/work/impl/model/WorkSpec;->hasConstraints()Z
move-result v6
if-eqz v6, :cond_1
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-virtual {v6, v5}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->areAllConstraintsMet(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_0
:cond_1
invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_2
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_1
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/model/WorkSpec;
iget-object v1, v1, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mContext:Landroid/content/Context;
invoke-static {v2, v1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createDelayMetIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object v2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v3
sget-object v4, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->TAG:Ljava/lang/String;
const/4 v5, 0x1
new-array v5, v5, [Ljava/lang/Object;
const/4 v6, 0x0
aput-object v1, v5, v6
const-string v1, "Creating a delay_met command for workSpec with id (%s)"
invoke-static {v1, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v5, v6, [Ljava/lang/Throwable;
invoke-virtual {v3, v4, v1, v5}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v3, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget v4, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mStartId:I
invoke-direct {v3, v1, v2, v4}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {v1, v3}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
goto :goto_1
:cond_3
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/ConstraintsCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-virtual {v0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->reset()V
return-void
.end method

View file

@ -0,0 +1,814 @@
.class public Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;
.super Ljava/lang/Object;
.source "DelayMetCommandHandler.java"
# interfaces
.implements Landroidx/work/impl/constraints/WorkConstraintsCallback;
.implements Landroidx/work/impl/ExecutionListener;
.implements Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final STATE_INITIAL:I = 0x0
.field public static final STATE_START_REQUESTED:I = 0x1
.field public static final STATE_STOP_REQUESTED:I = 0x2
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mContext:Landroid/content/Context;
.field public mCurrentState:I
.field public final mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.field public mHasConstraints:Z
.field public final mLock:Ljava/lang/Object;
.field public final mStartId:I
.field public mWakeLock:Landroid/os/PowerManager$WakeLock;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
.field public final mWorkSpecId:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "DelayMetCommandHandler"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;ILjava/lang/String;Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
iput p2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
iput-object p4, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iput-object p3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-virtual {p4}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object p1
new-instance p2, Landroidx/work/impl/constraints/WorkConstraintsTracker;
iget-object p3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
invoke-direct {p2, p3, p1, p0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/constraints/WorkConstraintsCallback;)V
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
const/4 p1, 0x0
iput-boolean p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mHasConstraints:Z
iput p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mCurrentState:I
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mLock:Ljava/lang/Object;
return-void
.end method
.method private cleanUp()V
.locals 8
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-virtual {v1}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->reset()V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getWorkTimer()Landroidx/work/impl/background/systemalarm/WorkTimer;
move-result-object v1
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroidx/work/impl/background/systemalarm/WorkTimer;->stopTimer(Ljava/lang/String;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
if-eqz v1, :cond_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v1}, Landroid/os/PowerManager$WakeLock;->isHeld()Z
move-result v1
if-eqz v1, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v3, "Releasing wakelock %s for WorkSpec %s"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
iget-object v5, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
const/4 v6, 0x0
aput-object v5, v4, v6
const/4 v5, 0x1
iget-object v7, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v7, v4, v5
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v1}, Landroid/os/PowerManager$WakeLock;->release()V
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method private stopWork()V
.locals 8
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mCurrentState:I
const/4 v2, 0x2
const/4 v3, 0x1
const/4 v4, 0x0
if-ge v1, v2, :cond_1
iput v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mCurrentState:I
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v5, "Stopping work for WorkSpec %s"
new-array v6, v3, [Ljava/lang/Object;
iget-object v7, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v7, v6, v4
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v6, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v5, v6}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-static {v1, v2}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createStopWorkIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object v1
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v5, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget v7, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
invoke-direct {v5, v6, v1, v7}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {v2, v5}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v1
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroidx/work/impl/Processor;->isEnqueued(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v5, "WorkSpec %s needs to be rescheduled"
new-array v3, v3, [Ljava/lang/Object;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v6, v3, v4
invoke-static {v5, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-static {v1, v2}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createScheduleWorkIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object v1
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v3, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget-object v4, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget v5, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
invoke-direct {v3, v4, v1, v5}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {v2, v3}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
goto :goto_0
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v5, "Processor does not have WorkSpec %s. No need to reschedule "
new-array v3, v3, [Ljava/lang/Object;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v6, v3, v4
invoke-static {v5, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_0
:cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v5, "Already stopped work for %s"
new-array v3, v3, [Ljava/lang/Object;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v6, v3, v4
invoke-static {v5, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v4, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:goto_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
# virtual methods
.method public handleProcessWork()V
.locals 6
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
const/4 v1, 0x2
new-array v2, v1, [Ljava/lang/Object;
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
iget v3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v5, 0x1
aput-object v3, v2, v5
const-string v3, "%s (%s)"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Landroidx/work/impl/utils/WakeLocks;->newWakeLock(Landroid/content/Context;Ljava/lang/String;)Landroid/os/PowerManager$WakeLock;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v2, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Object;
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
aput-object v3, v1, v4
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v3, v1, v5
const-string v3, "Acquiring wakelock %s for WorkSpec %s"
invoke-static {v3, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v2, v1, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->acquire()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getWorkManager()Landroidx/work/impl/WorkManagerImpl;
move-result-object v0
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getWorkDatabase()Landroidx/work/impl/WorkDatabase;
move-result-object v0
invoke-virtual {v0}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-interface {v0, v1}, Landroidx/work/impl/model/WorkSpecDao;->getWorkSpec(Ljava/lang/String;)Landroidx/work/impl/model/WorkSpec;
move-result-object v0
if-nez v0, :cond_0
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->stopWork()V
return-void
:cond_0
invoke-virtual {v0}, Landroidx/work/impl/model/WorkSpec;->hasConstraints()Z
move-result v1
iput-boolean v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mHasConstraints:Z
iget-boolean v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mHasConstraints:Z
if-nez v1, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
new-array v2, v5, [Ljava/lang/Object;
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v3, v2, v4
const-string v3, "No constraints for %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
invoke-virtual {p0, v0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->onAllConstraintsMet(Ljava/util/List;)V
goto :goto_0
:cond_1
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkConstraintsTracker:Landroidx/work/impl/constraints/WorkConstraintsTracker;
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
invoke-virtual {v1, v0}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->replace(Ljava/util/List;)V
:goto_0
return-void
.end method
.method public onAllConstraintsMet(Ljava/util/List;)V
.locals 6
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-interface {p1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
return-void
:cond_0
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mLock:Ljava/lang/Object;
monitor-enter p1
:try_start_0
iget v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mCurrentState:I
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_2
iput v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mCurrentState:I
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v4, "onAllConstraintsMet for %s"
new-array v1, v1, [Ljava/lang/Object;
iget-object v5, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v5, v1, v2
invoke-static {v4, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v0, v3, v1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-virtual {v0, v1}, Landroidx/work/impl/Processor;->startWork(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->getWorkTimer()Landroidx/work/impl/background/systemalarm/WorkTimer;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
const-wide/32 v2, 0x927c0
invoke-virtual {v0, v1, v2, v3, p0}, Landroidx/work/impl/background/systemalarm/WorkTimer;->startTimer(Ljava/lang/String;JLandroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;)V
goto :goto_0
:cond_1
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->cleanUp()V
goto :goto_0
:cond_2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const-string v4, "Already started work for %s"
new-array v1, v1, [Ljava/lang/Object;
iget-object v5, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
aput-object v5, v1, v2
invoke-static {v4, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v0, v3, v1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:goto_0
monitor-exit p1
return-void
:catchall_0
move-exception v0
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method public onAllConstraintsNotMet(Ljava/util/List;)V
.locals 0
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->stopWork()V
return-void
.end method
.method public onExecuted(Ljava/lang/String;Z)V
.locals 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
const/4 v4, 0x1
aput-object p1, v2, v4
const-string p1, "onExecuted %s, %s"
invoke-static {p1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v2, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, p1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->cleanUp()V
if-eqz p2, :cond_0
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mWorkSpecId:Ljava/lang/String;
invoke-static {p1, p2}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createScheduleWorkIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object p1
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
invoke-direct {v0, p2, p1, v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {p2, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
:cond_0
iget-boolean p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mHasConstraints:Z
if-eqz p1, :cond_1
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mContext:Landroid/content/Context;
invoke-static {p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createConstraintsChangedIntent(Landroid/content/Context;)Landroid/content/Intent;
move-result-object p1
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget v1, p0, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->mStartId:I
invoke-direct {v0, p2, p1, v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {p2, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
:cond_1
return-void
.end method
.method public onTimeLimitExceeded(Ljava/lang/String;)V
.locals 4
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const-string p1, "Exceeded time limits on execution for %s"
invoke-static {p1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v2, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, p1, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/DelayMetCommandHandler;->stopWork()V
return-void
.end method

View file

@ -0,0 +1,107 @@
.class public Landroidx/work/impl/background/systemalarm/RescheduleReceiver;
.super Landroid/content/BroadcastReceiver;
.source "RescheduleReceiver.java"
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "RescheduleReceiver"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/RescheduleReceiver;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 4
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/RescheduleReceiver;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p2, v2, v3
const-string p2, "Received intent %s"
invoke-static {p2, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
new-array v2, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, p2, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
sget p2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v0, 0x17
if-lt p2, v0, :cond_0
:try_start_0
invoke-static {p1}, Landroidx/work/impl/WorkManagerImpl;->getInstance(Landroid/content/Context;)Landroidx/work/impl/WorkManagerImpl;
move-result-object p1
invoke-virtual {p0}, Landroid/content/BroadcastReceiver;->goAsync()Landroid/content/BroadcastReceiver$PendingResult;
move-result-object p2
invoke-virtual {p1, p2}, Landroidx/work/impl/WorkManagerImpl;->setReschedulePendingResult(Landroid/content/BroadcastReceiver$PendingResult;)V
:try_end_0
.catch Ljava/lang/IllegalStateException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object p2, Landroidx/work/impl/background/systemalarm/RescheduleReceiver;->TAG:Ljava/lang/String;
new-array v0, v3, [Ljava/lang/Throwable;
const-string v1, "Cannot reschedule jobs. WorkManager needs to be initialized via a ContentProvider#onCreate() or an Application#onCreate()."
invoke-virtual {p1, p2, v1, v0}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_0
:cond_0
invoke-static {p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createRescheduleIntent(Landroid/content/Context;)Landroid/content/Intent;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
:goto_0
return-void
.end method

View file

@ -0,0 +1,321 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;
.super Ljava/lang/Object;
.source "SystemAlarmDispatcher.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->processCommand()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 10
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v0, v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v2, v2, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
const/4 v3, 0x0
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/Intent;
iput-object v2, v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_2
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v0, v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v1, v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
const-string v2, "KEY_START_ID"
invoke-virtual {v1, v2, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v2
sget-object v4, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const/4 v5, 0x2
new-array v6, v5, [Ljava/lang/Object;
iget-object v7, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v7, v7, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
aput-object v7, v6, v3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
const/4 v8, 0x1
aput-object v7, v6, v8
const-string v7, "Processing command %s, %s"
invoke-static {v7, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
new-array v7, v3, [Ljava/lang/Throwable;
invoke-virtual {v2, v4, v6, v7}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v2, v2, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mContext:Landroid/content/Context;
new-array v4, v5, [Ljava/lang/Object;
aput-object v0, v4, v3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
aput-object v6, v4, v8
const-string v6, "%s (%s)"
invoke-static {v6, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-static {v2, v4}, Landroidx/work/impl/utils/WakeLocks;->newWakeLock(Landroid/content/Context;Ljava/lang/String;)Landroid/os/PowerManager$WakeLock;
move-result-object v2
:try_start_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v4
sget-object v6, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const-string v7, "Acquiring operation wake lock (%s) %s"
new-array v9, v5, [Ljava/lang/Object;
aput-object v0, v9, v3
aput-object v2, v9, v8
invoke-static {v7, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v7
new-array v9, v3, [Ljava/lang/Throwable;
invoke-virtual {v4, v6, v7, v9}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {v2}, Landroid/os/PowerManager$WakeLock;->acquire()V
iget-object v4, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v4, v4, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCommandHandler:Landroidx/work/impl/background/systemalarm/CommandHandler;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v6, v6, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
iget-object v7, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v4, v6, v1, v7}, Landroidx/work/impl/background/systemalarm/CommandHandler;->onHandleIntent(Landroid/content/Intent;ILandroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v4, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
new-array v5, v5, [Ljava/lang/Object;
aput-object v0, v5, v3
aput-object v2, v5, v8
const-string v0, "Releasing operation wake lock (%s) %s"
invoke-static {v0, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v1, v4, v0, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {v2}, Landroid/os/PowerManager$WakeLock;->release()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;
invoke-direct {v1, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
goto :goto_0
:catchall_0
move-exception v1
:try_start_2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v4
sget-object v6, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const-string v7, "Unexpected error in onHandleIntent"
new-array v9, v8, [Ljava/lang/Throwable;
aput-object v1, v9, v3
invoke-virtual {v4, v6, v7, v9}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v4, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
new-array v5, v5, [Ljava/lang/Object;
aput-object v0, v5, v3
aput-object v2, v5, v8
const-string v0, "Releasing operation wake lock (%s) %s"
invoke-static {v0, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v1, v4, v0, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {v2}, Landroid/os/PowerManager$WakeLock;->release()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;
invoke-direct {v1, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
:goto_0
invoke-virtual {v0, v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
goto :goto_1
:catchall_1
move-exception v1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v4
sget-object v6, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
new-array v5, v5, [Ljava/lang/Object;
aput-object v0, v5, v3
aput-object v2, v5, v8
const-string v0, "Releasing operation wake lock (%s) %s"
invoke-static {v0, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v4, v6, v0, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {v2}, Landroid/os/PowerManager$WakeLock;->release()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;->this$0:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
new-instance v2, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;
invoke-direct {v2, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
invoke-virtual {v0, v2}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
throw v1
:cond_0
:goto_1
return-void
:catchall_2
move-exception v1
:try_start_3
monitor-exit v0
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_2
throw v1
.end method

View file

@ -0,0 +1,65 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
.super Ljava/lang/Object;
.source "SystemAlarmDispatcher.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "AddRunnable"
.end annotation
# instance fields
.field public final mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.field public final mIntent:Landroid/content/Intent;
.field public final mStartId:I
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
.locals 0
.param p1 # Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mIntent:Landroid/content/Intent;
iput p3, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mStartId:I
return-void
.end method
# virtual methods
.method public run()V
.locals 3
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mIntent:Landroid/content/Intent;
iget v2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;->mStartId:I
invoke-virtual {v0, v1, v2}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->add(Landroid/content/Intent;I)Z
return-void
.end method

View file

@ -0,0 +1,19 @@
.class public interface abstract Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
.super Ljava/lang/Object;
.source "SystemAlarmDispatcher.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "CommandsCompletedListener"
.end annotation
# virtual methods
.method public abstract onAllCommandsCompleted()V
.end method

View file

@ -0,0 +1,49 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;
.super Ljava/lang/Object;
.source "SystemAlarmDispatcher.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DequeueAndCheckForCompletion"
.end annotation
# instance fields
.field public final mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
.locals 0
.param p1 # Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
return-void
.end method
# virtual methods
.method public run()V
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->dequeueAndCheckForCompletion()V
return-void
.end method

View file

@ -0,0 +1,769 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.super Ljava/lang/Object;
.source "SystemAlarmDispatcher.java"
# interfaces
.implements Landroidx/work/impl/ExecutionListener;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;,
Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;,
Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$DequeueAndCheckForCompletion;
}
.end annotation
# static fields
.field public static final DEFAULT_START_ID:I = 0x0
.field public static final KEY_START_ID:Ljava/lang/String; = "KEY_START_ID"
.field public static final PROCESS_COMMAND_TAG:Ljava/lang/String; = "ProcessCommand"
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mCommandHandler:Landroidx/work/impl/background/systemalarm/CommandHandler;
.field public mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mContext:Landroid/content/Context;
.field public mCurrentIntent:Landroid/content/Intent;
.field public final mIntents:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroid/content/Intent;",
">;"
}
.end annotation
.end field
.field public final mMainHandler:Landroid/os/Handler;
.field public final mProcessor:Landroidx/work/impl/Processor;
.field public final mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
.field public final mWorkManager:Landroidx/work/impl/WorkManagerImpl;
.field public final mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "SystemAlarmDispatcher"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
invoke-direct {p0, p1, v0, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;-><init>(Landroid/content/Context;Landroidx/work/impl/Processor;Landroidx/work/impl/WorkManagerImpl;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/Processor;Landroidx/work/impl/WorkManagerImpl;)V
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/work/impl/Processor;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Landroidx/work/impl/WorkManagerImpl;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mContext:Landroid/content/Context;
new-instance v0, Landroidx/work/impl/background/systemalarm/CommandHandler;
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mContext:Landroid/content/Context;
invoke-direct {v0, v1}, Landroidx/work/impl/background/systemalarm/CommandHandler;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCommandHandler:Landroidx/work/impl/background/systemalarm/CommandHandler;
new-instance v0, Landroidx/work/impl/background/systemalarm/WorkTimer;
invoke-direct {v0}, Landroidx/work/impl/background/systemalarm/WorkTimer;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
if-eqz p3, :cond_0
goto :goto_0
:cond_0
invoke-static {p1}, Landroidx/work/impl/WorkManagerImpl;->getInstance(Landroid/content/Context;)Landroidx/work/impl/WorkManagerImpl;
move-result-object p3
:goto_0
iput-object p3, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkManager:Landroidx/work/impl/WorkManagerImpl;
if-eqz p2, :cond_1
goto :goto_1
:cond_1
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkManager:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {p1}, Landroidx/work/impl/WorkManagerImpl;->getProcessor()Landroidx/work/impl/Processor;
move-result-object p2
:goto_1
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mProcessor:Landroidx/work/impl/Processor;
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkManager:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {p1}, Landroidx/work/impl/WorkManagerImpl;->getWorkTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object p1
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mProcessor:Landroidx/work/impl/Processor;
invoke-virtual {p1, p0}, Landroidx/work/impl/Processor;->addExecutionListener(Landroidx/work/impl/ExecutionListener;)V
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
const/4 p1, 0x0
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
new-instance p1, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object p2
invoke-direct {p1, p2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mMainHandler:Landroid/os/Handler;
return-void
.end method
.method private assertMainThread()V
.locals 2
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mMainHandler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-virtual {v0}, Landroid/os/Looper;->getThread()Ljava/lang/Thread;
move-result-object v0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
if-ne v0, v1, :cond_0
return-void
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Needs to be invoked on the main thread."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private hasIntentWithAction(Ljava/lang/String;)Z
.locals 3
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->assertMainThread()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/Intent;
invoke-virtual {v2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v2
invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 p1, 0x1
monitor-exit v0
return p1
:cond_1
const/4 p1, 0x0
monitor-exit v0
return p1
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method private processCommand()V
.locals 3
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->assertMainThread()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mContext:Landroid/content/Context;
const-string v1, "ProcessCommand"
invoke-static {v0, v1}, Landroidx/work/impl/utils/WakeLocks;->newWakeLock(Landroid/content/Context;Ljava/lang/String;)Landroid/os/PowerManager$WakeLock;
move-result-object v0
:try_start_0
invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->acquire()V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkManager:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v1}, Landroidx/work/impl/WorkManagerImpl;->getWorkTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
move-result-object v1
new-instance v2, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;
invoke-direct {v2, p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$1;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;)V
invoke-interface {v1, v2}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->executeOnBackgroundThread(Ljava/lang/Runnable;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->release()V
return-void
:catchall_0
move-exception v1
invoke-virtual {v0}, Landroid/os/PowerManager$WakeLock;->release()V
throw v1
.end method
# virtual methods
.method public add(Landroid/content/Intent;I)Z
.locals 6
.param p1 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
const/4 v5, 0x1
aput-object v4, v2, v5
const-string v4, "Adding command %s (%s)"
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v4, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->assertMainThread()V
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object p2, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
new-array v0, v3, [Ljava/lang/Throwable;
const-string v1, "Unknown command. Ignoring"
invoke-virtual {p1, p2, v1, v0}, Landroidx/work/Logger;->warning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v3
:cond_0
const-string v1, "ACTION_CONSTRAINTS_CHANGED"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
const-string v0, "ACTION_CONSTRAINTS_CHANGED"
invoke-direct {p0, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->hasIntentWithAction(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1
return v3
:cond_1
const-string v0, "KEY_START_ID"
invoke-virtual {p1, v0, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
monitor-enter p2
:try_start_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
const/4 v3, 0x1
:cond_2
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
if-nez v3, :cond_3
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->processCommand()V
:cond_3
monitor-exit p2
return v5
:catchall_0
move-exception p1
monitor-exit p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public dequeueAndCheckForCompletion()V
.locals 7
.annotation build Landroidx/annotation/MainThread;
.end annotation
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const/4 v2, 0x0
new-array v3, v2, [Ljava/lang/Throwable;
const-string v4, "Checking if commands are complete."
invoke-virtual {v0, v1, v4, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->assertMainThread()V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
if-eqz v1, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v3, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const-string v4, "Removing command %s"
const/4 v5, 0x1
new-array v5, v5, [Ljava/lang/Object;
iget-object v6, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
aput-object v6, v5, v2
invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
new-array v5, v2, [Ljava/lang/Throwable;
invoke-virtual {v1, v3, v4, v5}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v1, v2}, Ljava/util/List;->remove(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/Intent;
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
invoke-virtual {v1, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const/4 v1, 0x0
iput-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCurrentIntent:Landroid/content/Intent;
goto :goto_0
:cond_0
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "Dequeue-d command is not the first."
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
:cond_1
:goto_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
invoke-interface {v1}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->getBackgroundExecutor()Landroidx/work/impl/utils/SerialExecutor;
move-result-object v1
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCommandHandler:Landroidx/work/impl/background/systemalarm/CommandHandler;
invoke-virtual {v3}, Landroidx/work/impl/background/systemalarm/CommandHandler;->hasPendingCommands()Z
move-result v3
if-nez v3, :cond_2
iget-object v3, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->isEmpty()Z
move-result v3
if-eqz v3, :cond_2
invoke-virtual {v1}, Landroidx/work/impl/utils/SerialExecutor;->hasPendingTasks()Z
move-result v1
if-nez v1, :cond_2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v3, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const-string v4, "No more commands & intents."
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v1, v3, v4, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
if-eqz v1, :cond_3
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
invoke-interface {v1}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;->onAllCommandsCompleted()V
goto :goto_1
:cond_2
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mIntents:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
move-result v1
if-nez v1, :cond_3
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->processCommand()V
:cond_3
:goto_1
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method public getProcessor()Landroidx/work/impl/Processor;
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mProcessor:Landroidx/work/impl/Processor;
return-object v0
.end method
.method public getTaskExecutor()Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
return-object v0
.end method
.method public getWorkManager()Landroidx/work/impl/WorkManagerImpl;
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkManager:Landroidx/work/impl/WorkManagerImpl;
return-object v0
.end method
.method public getWorkTimer()Landroidx/work/impl/background/systemalarm/WorkTimer;
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
return-object v0
.end method
.method public onDestroy()V
.locals 4
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Throwable;
const-string v3, "Destroying SystemAlarmDispatcher"
invoke-virtual {v0, v1, v3, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mProcessor:Landroidx/work/impl/Processor;
invoke-virtual {v0, p0}, Landroidx/work/impl/Processor;->removeExecutionListener(Landroidx/work/impl/ExecutionListener;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/WorkTimer;->onDestroy()V
const/4 v0, 0x0
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
return-void
.end method
.method public onExecuted(Ljava/lang/String;Z)V
.locals 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
new-instance v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mContext:Landroid/content/Context;
invoke-static {v1, p1, p2}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createExecutionCompletedIntent(Landroid/content/Context;Ljava/lang/String;Z)Landroid/content/Intent;
move-result-object p1
const/4 p2, 0x0
invoke-direct {v0, p0, p1, p2}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$AddRunnable;-><init>(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;Landroid/content/Intent;I)V
invoke-virtual {p0, v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->postOnMainThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public postOnMainThread(Ljava/lang/Runnable;)V
.locals 1
.param p1 # Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mMainHandler:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public setCompletedListener(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;)V
.locals 3
.param p1 # Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
if-eqz v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->TAG:Ljava/lang/String;
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Throwable;
const-string v2, "A completion listener for SystemAlarmDispatcher already exists."
invoke-virtual {p1, v0, v2, v1}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return-void
:cond_0
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->mCompletedListener:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
return-void
.end method

View file

@ -0,0 +1,152 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;
.super Ljava/lang/Object;
.source "SystemAlarmScheduler.java"
# interfaces
.implements Landroidx/work/impl/Scheduler;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mContext:Landroid/content/Context;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "SystemAlarmScheduler"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->mContext:Landroid/content/Context;
return-void
.end method
.method private scheduleWorkSpec(Landroidx/work/impl/model/WorkSpec;)V
.locals 5
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p1, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "Scheduling work with workSpecId %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->mContext:Landroid/content/Context;
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-static {v0, p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createScheduleWorkIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object p1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->mContext:Landroid/content/Context;
invoke-virtual {v0, p1}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
return-void
.end method
# virtual methods
.method public cancel(Ljava/lang/String;)V
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->mContext:Landroid/content/Context;
invoke-static {v0, p1}, Landroidx/work/impl/background/systemalarm/CommandHandler;->createStopWorkIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
move-result-object p1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->mContext:Landroid/content/Context;
invoke-virtual {v0, p1}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
return-void
.end method
.method public varargs schedule([Landroidx/work/impl/model/WorkSpec;)V
.locals 3
.param p1 # [Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
aget-object v2, p1, v1
invoke-direct {p0, v2}, Landroidx/work/impl/background/systemalarm/SystemAlarmScheduler;->scheduleWorkSpec(Landroidx/work/impl/model/WorkSpec;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method

View file

@ -0,0 +1,172 @@
.class public Landroidx/work/impl/background/systemalarm/SystemAlarmService;
.super Landroidx/lifecycle/LifecycleService;
.source "SystemAlarmService.java"
# interfaces
.implements Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
.field public mIsShutdown:Z
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "SystemAlarmService"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Landroidx/lifecycle/LifecycleService;-><init>()V
return-void
.end method
.method private initializeDispatcher()V
.locals 1
.annotation build Landroidx/annotation/MainThread;
.end annotation
new-instance v0, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-direct {v0, p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0, p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->setCompletedListener(Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher$CommandsCompletedListener;)V
return-void
.end method
# virtual methods
.method public onAllCommandsCompleted()V
.locals 4
.annotation build Landroidx/annotation/MainThread;
.end annotation
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mIsShutdown:Z
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->TAG:Ljava/lang/String;
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Throwable;
const-string v3, "All commands completed in dispatcher"
invoke-virtual {v0, v1, v3, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-static {}, Landroidx/work/impl/utils/WakeLocks;->checkWakeLocks()V
invoke-virtual {p0}, Landroid/app/Service;->stopSelf()V
return-void
.end method
.method public onCreate()V
.locals 1
invoke-super {p0}, Landroidx/lifecycle/LifecycleService;->onCreate()V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->initializeDispatcher()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mIsShutdown:Z
return-void
.end method
.method public onDestroy()V
.locals 1
invoke-super {p0}, Landroidx/lifecycle/LifecycleService;->onDestroy()V
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mIsShutdown:Z
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {v0}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->onDestroy()V
return-void
.end method
.method public onStartCommand(Landroid/content/Intent;II)I
.locals 4
invoke-super {p0, p1, p2, p3}, Landroidx/lifecycle/LifecycleService;->onStartCommand(Landroid/content/Intent;II)I
iget-boolean p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mIsShutdown:Z
if-eqz p2, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p2
sget-object v0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->TAG:Ljava/lang/String;
const/4 v1, 0x0
new-array v2, v1, [Ljava/lang/Throwable;
const-string v3, "Re-initializing SystemAlarmDispatcher after a request to shut-down."
invoke-virtual {p2, v0, v3, v2}, Landroidx/work/Logger;->info(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {p2}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->onDestroy()V
invoke-direct {p0}, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->initializeDispatcher()V
iput-boolean v1, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mIsShutdown:Z
:cond_0
if-eqz p1, :cond_1
iget-object p2, p0, Landroidx/work/impl/background/systemalarm/SystemAlarmService;->mDispatcher:Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;
invoke-virtual {p2, p1, p3}, Landroidx/work/impl/background/systemalarm/SystemAlarmDispatcher;->add(Landroid/content/Intent;I)Z
:cond_1
const/4 p1, 0x3
return p1
.end method

View file

@ -0,0 +1,81 @@
.class public Landroidx/work/impl/background/systemalarm/WorkTimer$1;
.super Ljava/lang/Object;
.source "WorkTimer.java"
# interfaces
.implements Ljava/util/concurrent/ThreadFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/WorkTimer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public mThreadsCreated:I
.field public final synthetic this$0:Landroidx/work/impl/background/systemalarm/WorkTimer;
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/WorkTimer;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;->this$0:Landroidx/work/impl/background/systemalarm/WorkTimer;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 p1, 0x0
iput p1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;->mThreadsCreated:I
return-void
.end method
# virtual methods
.method public newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
.locals 2
.param p1 # Ljava/lang/Runnable;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Ljava/util/concurrent/Executors;->defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/concurrent/ThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p1
const-string v0, "WorkManager-WorkTimer-thread-"
invoke-static {v0}, Lf/e/b/a/a;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;->mThreadsCreated:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
iget v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;->mThreadsCreated:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;->mThreadsCreated:I
return-object p1
.end method

View file

@ -0,0 +1,23 @@
.class public interface abstract Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;
.super Ljava/lang/Object;
.source "WorkTimer.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/WorkTimer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "TimeLimitExceededListener"
.end annotation
# virtual methods
.method public abstract onTimeLimitExceeded(Ljava/lang/String;)V
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method

View file

@ -0,0 +1,138 @@
.class public Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;
.super Ljava/lang/Object;
.source "WorkTimer.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemalarm/WorkTimer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "WorkTimerRunnable"
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String; = "WrkTimerRunnable"
# instance fields
.field public final mWorkSpecId:Ljava/lang/String;
.field public final mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
# direct methods
.method public constructor <init>(Landroidx/work/impl/background/systemalarm/WorkTimer;Ljava/lang/String;)V
.locals 0
.param p1 # Landroidx/work/impl/background/systemalarm/WorkTimer;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
iput-object p2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkSpecId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public run()V
.locals 7
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
iget-object v0, v0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
iget-object v1, v1, Landroidx/work/impl/background/systemalarm/WorkTimer;->mTimerMap:Ljava/util/Map;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkSpecId:Ljava/lang/String;
invoke-interface {v1, v2}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;
if-eqz v1, :cond_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkTimer:Landroidx/work/impl/background/systemalarm/WorkTimer;
iget-object v1, v1, Landroidx/work/impl/background/systemalarm/WorkTimer;->mListeners:Ljava/util/Map;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkSpecId:Ljava/lang/String;
invoke-interface {v1, v2}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;
if-eqz v1, :cond_1
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkSpecId:Ljava/lang/String;
invoke-interface {v1, v2}, Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;->onTimeLimitExceeded(Ljava/lang/String;)V
goto :goto_0
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
const-string v2, "WrkTimerRunnable"
const-string v3, "Timer with %s is already marked as complete."
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
iget-object v5, p0, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;->mWorkSpecId:Ljava/lang/String;
const/4 v6, 0x0
aput-object v5, v4, v6
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v6, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:cond_1
:goto_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method

View file

@ -0,0 +1,346 @@
.class public Landroidx/work/impl/background/systemalarm/WorkTimer;
.super Ljava/lang/Object;
.source "WorkTimer.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;,
Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mBackgroundThreadFactory:Ljava/util/concurrent/ThreadFactory;
.field public final mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
.field public final mListeners:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;",
">;"
}
.end annotation
.end field
.field public final mLock:Ljava/lang/Object;
.field public final mTimerMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;",
">;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "WorkTimer"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemalarm/WorkTimer;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Landroidx/work/impl/background/systemalarm/WorkTimer$1;
invoke-direct {v0, p0}, Landroidx/work/impl/background/systemalarm/WorkTimer$1;-><init>(Landroidx/work/impl/background/systemalarm/WorkTimer;)V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mBackgroundThreadFactory:Ljava/util/concurrent/ThreadFactory;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mTimerMap:Ljava/util/Map;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mListeners:Ljava/util/Map;
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mLock:Ljava/lang/Object;
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mBackgroundThreadFactory:Ljava/util/concurrent/ThreadFactory;
invoke-static {v0}, Ljava/util/concurrent/Executors;->newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
return-void
.end method
# virtual methods
.method public getExecutorService()Ljava/util/concurrent/ScheduledExecutorService;
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
return-object v0
.end method
.method public declared-synchronized getListeners()Ljava/util/Map;
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;",
">;"
}
.end annotation
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mListeners:Ljava/util/Map;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized getTimerMap()Ljava/util/Map;
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;",
">;"
}
.end annotation
monitor-enter p0
:try_start_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mTimerMap:Ljava/util/Map;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public onDestroy()V
.locals 1
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;->isShutdown()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
invoke-interface {v0}, Ljava/util/concurrent/ScheduledExecutorService;->shutdownNow()Ljava/util/List;
:cond_0
return-void
.end method
.method public startTimer(Ljava/lang/String;JLandroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;)V
.locals 6
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroidx/work/impl/background/systemalarm/WorkTimer$TimeLimitExceededListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/WorkTimer;->TAG:Ljava/lang/String;
const-string v3, "Starting timer for %s"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object p1, v4, v5
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v5, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p0, p1}, Landroidx/work/impl/background/systemalarm/WorkTimer;->stopTimer(Ljava/lang/String;)V
new-instance v1, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;
invoke-direct {v1, p0, p1}, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;-><init>(Landroidx/work/impl/background/systemalarm/WorkTimer;Ljava/lang/String;)V
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mTimerMap:Ljava/util/Map;
invoke-interface {v2, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v2, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mListeners:Ljava/util/Map;
invoke-interface {v2, p1, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object p1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mExecutorService:Ljava/util/concurrent/ScheduledExecutorService;
sget-object p4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {p1, v1, p2, p3, p4}, Ljava/util/concurrent/ScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public stopTimer(Ljava/lang/String;)V
.locals 6
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mTimerMap:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/background/systemalarm/WorkTimer$WorkTimerRunnable;
if-eqz v1, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/background/systemalarm/WorkTimer;->TAG:Ljava/lang/String;
const-string v3, "Stopping timer for %s"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object p1, v4, v5
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
new-array v4, v5, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v1, p0, Landroidx/work/impl/background/systemalarm/WorkTimer;->mListeners:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/background/systemalarm/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,116 @@
.class public synthetic Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;
.super Ljava/lang/Object;
.source "SystemJobInfoConverter.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$androidx$work$NetworkType:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
invoke-static {}, Landroidx/work/NetworkType;->values()[Landroidx/work/NetworkType;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
:try_start_0
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
sget-object v1, Landroidx/work/NetworkType;->NOT_REQUIRED:Landroidx/work/NetworkType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
sget-object v1, Landroidx/work/NetworkType;->CONNECTED:Landroidx/work/NetworkType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
sget-object v1, Landroidx/work/NetworkType;->UNMETERED:Landroidx/work/NetworkType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
:try_start_3
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
sget-object v1, Landroidx/work/NetworkType;->NOT_ROAMING:Landroidx/work/NetworkType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
:try_end_3
.catch Ljava/lang/NoSuchFieldError; {:try_start_3 .. :try_end_3} :catch_3
:catch_3
:try_start_4
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter$1;->$SwitchMap$androidx$work$NetworkType:[I
sget-object v1, Landroidx/work/NetworkType;->METERED:Landroidx/work/NetworkType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
:try_end_4
.catch Ljava/lang/NoSuchFieldError; {:try_start_4 .. :try_end_4} :catch_4
:catch_4
return-void
.end method

View file

@ -0,0 +1,367 @@
.class public Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;
.super Ljava/lang/Object;
.source "SystemJobInfoConverter.java"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
api = 0x17
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final EXTRA_IS_PERIODIC:Ljava/lang/String; = "EXTRA_IS_PERIODIC"
.field public static final EXTRA_WORK_SPEC_ID:Ljava/lang/String; = "EXTRA_WORK_SPEC_ID"
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mWorkServiceComponent:Landroid/content/ComponentName;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "SystemJobInfoConverter"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/VisibleForTesting;
otherwise = 0x3
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
new-instance v0, Landroid/content/ComponentName;
const-class v1, Landroidx/work/impl/background/systemjob/SystemJobService;
invoke-direct {v0, p1, v1}, Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
iput-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->mWorkServiceComponent:Landroid/content/ComponentName;
return-void
.end method
.method public static convertContentUriTrigger(Landroidx/work/ContentUriTriggers$Trigger;)Landroid/app/job/JobInfo$TriggerContentUri;
.locals 2
.annotation build Landroidx/annotation/RequiresApi;
value = 0x18
.end annotation
invoke-virtual {p0}, Landroidx/work/ContentUriTriggers$Trigger;->shouldTriggerForDescendants()Z
move-result v0
new-instance v1, Landroid/app/job/JobInfo$TriggerContentUri;
invoke-virtual {p0}, Landroidx/work/ContentUriTriggers$Trigger;->getUri()Landroid/net/Uri;
move-result-object p0
invoke-direct {v1, p0, v0}, Landroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/net/Uri;I)V
return-object v1
.end method
.method public static convertNetworkType(Landroidx/work/NetworkType;)I
.locals 5
invoke-virtual {p0}, Ljava/lang/Enum;->ordinal()I
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_5
const/4 v2, 0x1
if-eq v0, v2, :cond_4
const/4 v3, 0x2
if-eq v0, v3, :cond_3
const/4 v3, 0x3
if-eq v0, v3, :cond_1
const/4 v3, 0x4
if-eq v0, v3, :cond_0
goto :goto_0
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x1a
if-lt v0, v4, :cond_2
return v3
:cond_1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x18
if-lt v0, v4, :cond_2
return v3
:cond_2
:goto_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->TAG:Ljava/lang/String;
new-array v4, v2, [Ljava/lang/Object;
aput-object p0, v4, v1
const-string p0, "API version too low. Cannot convert network type value %s"
invoke-static {p0, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
new-array v1, v1, [Ljava/lang/Throwable;
invoke-virtual {v0, v3, p0, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v2
:cond_3
return v3
:cond_4
return v2
:cond_5
return v1
.end method
# virtual methods
.method public convert(Landroidx/work/impl/model/WorkSpec;I)Landroid/app/job/JobInfo;
.locals 7
iget-object v0, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {v0}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object v1
invoke-static {v1}, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->convertNetworkType(Landroidx/work/NetworkType;)I
move-result v1
new-instance v2, Landroid/os/PersistableBundle;
invoke-direct {v2}, Landroid/os/PersistableBundle;-><init>()V
iget-object v3, p1, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
const-string v4, "EXTRA_WORK_SPEC_ID"
invoke-virtual {v2, v4, v3}, Landroid/os/PersistableBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {p1}, Landroidx/work/impl/model/WorkSpec;->isPeriodic()Z
move-result v3
const-string v4, "EXTRA_IS_PERIODIC"
invoke-virtual {v2, v4, v3}, Landroid/os/PersistableBundle;->putBoolean(Ljava/lang/String;Z)V
new-instance v3, Landroid/app/job/JobInfo$Builder;
iget-object v4, p0, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->mWorkServiceComponent:Landroid/content/ComponentName;
invoke-direct {v3, p2, v4}, Landroid/app/job/JobInfo$Builder;-><init>(ILandroid/content/ComponentName;)V
invoke-virtual {v3, v1}, Landroid/app/job/JobInfo$Builder;->setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;
move-result-object p2
invoke-virtual {v0}, Landroidx/work/Constraints;->requiresCharging()Z
move-result v1
invoke-virtual {p2, v1}, Landroid/app/job/JobInfo$Builder;->setRequiresCharging(Z)Landroid/app/job/JobInfo$Builder;
move-result-object p2
invoke-virtual {v0}, Landroidx/work/Constraints;->requiresDeviceIdle()Z
move-result v1
invoke-virtual {p2, v1}, Landroid/app/job/JobInfo$Builder;->setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;
move-result-object p2
invoke-virtual {p2, v2}, Landroid/app/job/JobInfo$Builder;->setExtras(Landroid/os/PersistableBundle;)Landroid/app/job/JobInfo$Builder;
move-result-object p2
invoke-virtual {v0}, Landroidx/work/Constraints;->requiresDeviceIdle()Z
move-result v1
const/4 v2, 0x0
if-nez v1, :cond_1
iget-object v1, p1, Landroidx/work/impl/model/WorkSpec;->backoffPolicy:Landroidx/work/BackoffPolicy;
sget-object v3, Landroidx/work/BackoffPolicy;->LINEAR:Landroidx/work/BackoffPolicy;
if-ne v1, v3, :cond_0
const/4 v1, 0x0
goto :goto_0
:cond_0
const/4 v1, 0x1
:goto_0
iget-wide v3, p1, Landroidx/work/impl/model/WorkSpec;->backoffDelayDuration:J
invoke-virtual {p2, v3, v4, v1}, Landroid/app/job/JobInfo$Builder;->setBackoffCriteria(JI)Landroid/app/job/JobInfo$Builder;
:cond_1
invoke-virtual {p1}, Landroidx/work/impl/model/WorkSpec;->calculateNextRunTime()J
move-result-wide v3
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
sub-long/2addr v3, v5
const-wide/16 v5, 0x0
invoke-static {v3, v4, v5, v6}, Ljava/lang/Math;->max(JJ)J
move-result-wide v3
invoke-virtual {p2, v3, v4}, Landroid/app/job/JobInfo$Builder;->setMinimumLatency(J)Landroid/app/job/JobInfo$Builder;
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt p1, v1, :cond_3
invoke-virtual {v0}, Landroidx/work/Constraints;->hasContentUriTriggers()Z
move-result p1
if-eqz p1, :cond_3
invoke-virtual {v0}, Landroidx/work/Constraints;->getContentUriTriggers()Landroidx/work/ContentUriTriggers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/ContentUriTriggers;->getTriggers()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_1
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/ContentUriTriggers$Trigger;
invoke-static {v1}, Landroidx/work/impl/background/systemjob/SystemJobInfoConverter;->convertContentUriTrigger(Landroidx/work/ContentUriTriggers$Trigger;)Landroid/app/job/JobInfo$TriggerContentUri;
move-result-object v1
invoke-virtual {p2, v1}, Landroid/app/job/JobInfo$Builder;->addTriggerContentUri(Landroid/app/job/JobInfo$TriggerContentUri;)Landroid/app/job/JobInfo$Builder;
goto :goto_1
:cond_2
invoke-virtual {v0}, Landroidx/work/Constraints;->getTriggerContentUpdateDelay()J
move-result-wide v3
invoke-virtual {p2, v3, v4}, Landroid/app/job/JobInfo$Builder;->setTriggerContentUpdateDelay(J)Landroid/app/job/JobInfo$Builder;
invoke-virtual {v0}, Landroidx/work/Constraints;->getTriggerMaxContentDelay()J
move-result-wide v3
invoke-virtual {p2, v3, v4}, Landroid/app/job/JobInfo$Builder;->setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;
:cond_3
invoke-virtual {p2, v2}, Landroid/app/job/JobInfo$Builder;->setPersisted(Z)Landroid/app/job/JobInfo$Builder;
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1a
if-lt p1, v1, :cond_4
invoke-virtual {v0}, Landroidx/work/Constraints;->requiresBatteryNotLow()Z
move-result p1
invoke-virtual {p2, p1}, Landroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;
invoke-virtual {v0}, Landroidx/work/Constraints;->requiresStorageNotLow()Z
move-result p1
invoke-virtual {p2, p1}, Landroid/app/job/JobInfo$Builder;->setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;
:cond_4
invoke-virtual {p2}, Landroid/app/job/JobInfo$Builder;->build()Landroid/app/job/JobInfo;
move-result-object p1
return-object p1
.end method

View file

@ -0,0 +1,583 @@
.class public Landroidx/work/impl/background/systemjob/SystemJobService;
.super Landroid/app/job/JobService;
.source "SystemJobService.java"
# interfaces
.implements Landroidx/work/impl/ExecutionListener;
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mJobParameters:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Landroid/app/job/JobParameters;",
">;"
}
.end annotation
.end field
.field public mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "SystemJobService"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Landroid/app/job/JobService;-><init>()V
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
return-void
.end method
.method public static getWorkSpecIdFromJobParameters(Landroid/app/job/JobParameters;)Ljava/lang/String;
.locals 2
.param p0 # Landroid/app/job/JobParameters;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "EXTRA_WORK_SPEC_ID"
:try_start_0
invoke-virtual {p0}, Landroid/app/job/JobParameters;->getExtras()Landroid/os/PersistableBundle;
move-result-object p0
if-eqz p0, :cond_0
invoke-virtual {p0, v0}, Landroid/os/PersistableBundle;->containsKey(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {p0, v0}, Landroid/os/PersistableBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
:cond_0
const/4 p0, 0x0
return-object p0
.end method
# virtual methods
.method public onCreate()V
.locals 4
invoke-super {p0}, Landroid/app/job/JobService;->onCreate()V
:try_start_0
invoke-virtual {p0}, Landroid/app/job/JobService;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroidx/work/impl/WorkManagerImpl;->getInstance(Landroid/content/Context;)Landroidx/work/impl/WorkManagerImpl;
move-result-object v0
iput-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v0
invoke-virtual {v0, p0}, Landroidx/work/impl/Processor;->addExecutionListener(Landroidx/work/impl/ExecutionListener;)V
:try_end_0
.catch Ljava/lang/IllegalStateException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
nop
const-class v0, Landroid/app/Application;
invoke-virtual {p0}, Landroid/app/job/JobService;->getApplication()Landroid/app/Application;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Throwable;
const-string v3, "Could not find WorkManager instance; this may be because an auto-backup is in progress. Ignoring JobScheduler commands for now. Please make sure that you are initializing WorkManager if you have manually disabled WorkManagerInitializer."
invoke-virtual {v0, v1, v3, v2}, Landroidx/work/Logger;->warning(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
:goto_0
return-void
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "WorkManager needs to be initialized via a ContentProvider#onCreate() or an Application#onCreate()."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public onDestroy()V
.locals 1
invoke-super {p0}, Landroid/app/job/JobService;->onDestroy()V
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v0
invoke-virtual {v0, p0}, Landroidx/work/impl/Processor;->removeExecutionListener(Landroidx/work/impl/ExecutionListener;)V
:cond_0
return-void
.end method
.method public onExecuted(Ljava/lang/String;Z)V
.locals 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const-string v4, "%s executed on JobScheduler"
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v3, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
invoke-interface {v1, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/app/job/JobParameters;
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz p1, :cond_0
invoke-virtual {p0, p1, p2}, Landroid/app/job/JobService;->jobFinished(Landroid/app/job/JobParameters;Z)V
:cond_0
return-void
:catchall_0
move-exception p1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public onStartJob(Landroid/app/job/JobParameters;)Z
.locals 8
.param p1 # Landroid/app/job/JobParameters;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
new-array v4, v2, [Ljava/lang/Throwable;
const-string v5, "WorkManager is not initialized; requesting retry."
invoke-virtual {v0, v3, v5, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p0, p1, v1}, Landroid/app/job/JobService;->jobFinished(Landroid/app/job/JobParameters;Z)V
return v2
:cond_0
invoke-static {p1}, Landroidx/work/impl/background/systemjob/SystemJobService;->getWorkSpecIdFromJobParameters(Landroid/app/job/JobParameters;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
new-array v1, v2, [Ljava/lang/Throwable;
const-string v3, "WorkSpec id not found!"
invoke-virtual {p1, v0, v3, v1}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v2
:cond_1
iget-object v3, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
monitor-enter v3
:try_start_0
iget-object v4, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
invoke-interface {v4, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v4, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
const-string v5, "Job is already being executed by SystemJobService: %s"
new-array v1, v1, [Ljava/lang/Object;
aput-object v0, v1, v2
invoke-static {v5, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-array v1, v2, [Ljava/lang/Throwable;
invoke-virtual {p1, v4, v0, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v3
return v2
:cond_2
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v4
sget-object v5, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
const-string v6, "onStartJob for %s"
new-array v7, v1, [Ljava/lang/Object;
aput-object v0, v7, v2
invoke-static {v6, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v4, v5, v6, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v2, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
invoke-interface {v2, v0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
monitor-exit v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
const/4 v2, 0x0
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x18
if-lt v3, v4, :cond_5
new-instance v2, Landroidx/work/WorkerParameters$RuntimeExtras;
invoke-direct {v2}, Landroidx/work/WorkerParameters$RuntimeExtras;-><init>()V
invoke-virtual {p1}, Landroid/app/job/JobParameters;->getTriggeredContentUris()[Landroid/net/Uri;
move-result-object v3
if-eqz v3, :cond_3
invoke-virtual {p1}, Landroid/app/job/JobParameters;->getTriggeredContentUris()[Landroid/net/Uri;
move-result-object v3
invoke-static {v3}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
iput-object v3, v2, Landroidx/work/WorkerParameters$RuntimeExtras;->triggeredContentUris:Ljava/util/List;
:cond_3
invoke-virtual {p1}, Landroid/app/job/JobParameters;->getTriggeredContentAuthorities()[Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_4
invoke-virtual {p1}, Landroid/app/job/JobParameters;->getTriggeredContentAuthorities()[Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
iput-object v3, v2, Landroidx/work/WorkerParameters$RuntimeExtras;->triggeredContentAuthorities:Ljava/util/List;
:cond_4
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x1c
if-lt v3, v4, :cond_5
invoke-virtual {p1}, Landroid/app/job/JobParameters;->getNetwork()Landroid/net/Network;
move-result-object p1
iput-object p1, v2, Landroidx/work/WorkerParameters$RuntimeExtras;->network:Landroid/net/Network;
:cond_5
iget-object p1, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {p1, v0, v2}, Landroidx/work/impl/WorkManagerImpl;->startWork(Ljava/lang/String;Landroidx/work/WorkerParameters$RuntimeExtras;)V
return v1
:catchall_0
move-exception p1
:try_start_1
monitor-exit v3
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public onStopJob(Landroid/app/job/JobParameters;)Z
.locals 6
.param p1 # Landroid/app/job/JobParameters;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
new-array v2, v2, [Ljava/lang/Throwable;
const-string v3, "WorkManager is not initialized; requesting retry."
invoke-virtual {p1, v0, v3, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v1
:cond_0
invoke-static {p1}, Landroidx/work/impl/background/systemjob/SystemJobService;->getWorkSpecIdFromJobParameters(Landroid/app/job/JobParameters;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
new-array v1, v2, [Ljava/lang/Throwable;
const-string v3, "WorkSpec id not found!"
invoke-virtual {p1, v0, v3, v1}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return v2
:cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/background/systemjob/SystemJobService;->TAG:Ljava/lang/String;
new-array v4, v1, [Ljava/lang/Object;
aput-object p1, v4, v2
const-string v5, "onStopJob for %s"
invoke-static {v5, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
new-array v2, v2, [Ljava/lang/Throwable;
invoke-virtual {v0, v3, v4, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
monitor-enter v0
:try_start_0
iget-object v2, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mJobParameters:Ljava/util/Map;
invoke-interface {v2, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v0, p1}, Landroidx/work/impl/WorkManagerImpl;->stopWork(Ljava/lang/String;)V
iget-object v0, p0, Landroidx/work/impl/background/systemjob/SystemJobService;->mWorkManagerImpl:Landroidx/work/impl/WorkManagerImpl;
invoke-virtual {v0}, Landroidx/work/impl/WorkManagerImpl;->getProcessor()Landroidx/work/impl/Processor;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/work/impl/Processor;->isCancelled(Ljava/lang/String;)Z
move-result p1
xor-int/2addr p1, v1
return p1
:catchall_0
move-exception p1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/background/systemjob/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,31 @@
.class public interface abstract Landroidx/work/impl/constraints/ConstraintListener;
.super Ljava/lang/Object;
.source "ConstraintListener.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract onConstraintChanged(Ljava/lang/Object;)V
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/MainThread;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.end method

View file

@ -0,0 +1,226 @@
.class public Landroidx/work/impl/constraints/NetworkState;
.super Ljava/lang/Object;
.source "NetworkState.java"
# instance fields
.field public mIsConnected:Z
.field public mIsMetered:Z
.field public mIsNotRoaming:Z
.field public mIsValidated:Z
# direct methods
.method public constructor <init>(ZZZZ)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
iput-boolean p2, p0, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
iput-boolean p3, p0, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
iput-boolean p4, p0, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_3
const-class v2, Landroidx/work/impl/constraints/NetworkState;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
if-eq v2, v3, :cond_1
goto :goto_1
:cond_1
check-cast p1, Landroidx/work/impl/constraints/NetworkState;
iget-boolean v2, p0, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
iget-boolean v3, p1, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
if-ne v2, v3, :cond_2
iget-boolean v2, p0, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
iget-boolean v3, p1, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
if-ne v2, v3, :cond_2
iget-boolean v2, p0, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
iget-boolean v3, p1, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
if-ne v2, v3, :cond_2
iget-boolean v2, p0, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
iget-boolean p1, p1, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
if-ne v2, p1, :cond_2
goto :goto_0
:cond_2
const/4 v0, 0x0
:goto_0
return v0
:cond_3
:goto_1
return v1
.end method
.method public hashCode()I
.locals 2
iget-boolean v0, p0, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
if-eqz v1, :cond_1
add-int/lit8 v0, v0, 0x10
:cond_1
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
if-eqz v1, :cond_2
add-int/lit16 v0, v0, 0x100
:cond_2
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
if-eqz v1, :cond_3
add-int/lit16 v0, v0, 0x1000
:cond_3
return v0
.end method
.method public isConnected()Z
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
return v0
.end method
.method public isMetered()Z
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
return v0
.end method
.method public isNotRoaming()Z
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
return v0
.end method
.method public isValidated()Z
.locals 1
iget-boolean v0, p0, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/Object;
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsConnected:Z
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
const/4 v2, 0x0
aput-object v1, v0, v2
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsValidated:Z
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
const/4 v2, 0x1
aput-object v1, v0, v2
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsMetered:Z
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
const/4 v2, 0x2
aput-object v1, v0, v2
iget-boolean v1, p0, Landroidx/work/impl/constraints/NetworkState;->mIsNotRoaming:Z
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
const/4 v2, 0x3
aput-object v1, v0, v2
const-string v1, "[ Connected=%b Validated=%b Metered=%b NotRoaming=%b ]"
invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,35 @@
.class public interface abstract Landroidx/work/impl/constraints/WorkConstraintsCallback;
.super Ljava/lang/Object;
.source "WorkConstraintsCallback.java"
# virtual methods
.method public abstract onAllConstraintsMet(Ljava/util/List;)V
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method
.method public abstract onAllConstraintsNotMet(Ljava/util/List;)V
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method

View file

@ -0,0 +1,527 @@
.class public Landroidx/work/impl/constraints/WorkConstraintsTracker;
.super Ljava/lang/Object;
.source "WorkConstraintsTracker.java"
# interfaces
.implements Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"*>;"
}
.end annotation
.end field
.field public final mLock:Ljava/lang/Object;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "WorkConstraintsTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;Landroidx/work/impl/constraints/WorkConstraintsCallback;)V
.locals 2
.param p1 # Landroid/content/Context;
.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
.param p3 # Landroidx/work/impl/constraints/WorkConstraintsCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p3, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
const/4 p3, 0x7
new-array p3, p3, [Landroidx/work/impl/constraints/controllers/ConstraintController;
new-instance v0, Landroidx/work/impl/constraints/controllers/BatteryChargingController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/BatteryChargingController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x0
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/BatteryNotLowController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/BatteryNotLowController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x1
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/StorageNotLowController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/StorageNotLowController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x2
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/NetworkConnectedController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/NetworkConnectedController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x3
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/NetworkUnmeteredController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/NetworkUnmeteredController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x4
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 v1, 0x5
aput-object v0, p3, v1
new-instance v0, Landroidx/work/impl/constraints/controllers/NetworkMeteredController;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/controllers/NetworkMeteredController;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
const/4 p1, 0x6
aput-object v0, p3, p1
iput-object p3, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Landroidx/work/impl/constraints/WorkConstraintsCallback;[Landroidx/work/impl/constraints/controllers/ConstraintController;)V
.locals 0
.param p1 # Landroidx/work/impl/constraints/WorkConstraintsCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
iput-object p2, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public areAllConstraintsMet(Ljava/lang/String;)Z
.locals 8
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
array-length v2, v1
const/4 v3, 0x0
const/4 v4, 0x0
:goto_0
const/4 v5, 0x1
if-ge v4, v2, :cond_1
aget-object v6, v1, v4
invoke-virtual {v6, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;->isWorkSpecConstrained(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v2, Landroidx/work/impl/constraints/WorkConstraintsTracker;->TAG:Ljava/lang/String;
const-string v4, "Work %s constrained by %s"
const/4 v7, 0x2
new-array v7, v7, [Ljava/lang/Object;
aput-object p1, v7, v3
invoke-virtual {v6}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p1
aput-object p1, v7, v5
invoke-static {v4, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-array v4, v3, [Ljava/lang/Throwable;
invoke-virtual {v1, v2, p1, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
monitor-exit v0
return v3
:cond_0
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
monitor-exit v0
return v5
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public onConstraintMet(Ljava/util/List;)V
.locals 8
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {p0, v2}, Landroidx/work/impl/constraints/WorkConstraintsTracker;->areAllConstraintsMet(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v3
sget-object v4, Landroidx/work/impl/constraints/WorkConstraintsTracker;->TAG:Ljava/lang/String;
const-string v5, "Constraints met for %s"
const/4 v6, 0x1
new-array v6, v6, [Ljava/lang/Object;
const/4 v7, 0x0
aput-object v2, v6, v7
invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
new-array v6, v7, [Ljava/lang/Throwable;
invoke-virtual {v3, v4, v5, v6}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
iget-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
if-eqz p1, :cond_2
iget-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
invoke-interface {p1, v1}, Landroidx/work/impl/constraints/WorkConstraintsCallback;->onAllConstraintsMet(Ljava/util/List;)V
:cond_2
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public onConstraintNotMet(Ljava/util/List;)V
.locals 2
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
if-eqz v1, :cond_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mCallback:Landroidx/work/impl/constraints/WorkConstraintsCallback;
invoke-interface {v1, p1}, Landroidx/work/impl/constraints/WorkConstraintsCallback;->onAllConstraintsNotMet(Ljava/util/List;)V
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public replace(Ljava/util/List;)V
.locals 7
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
array-length v2, v1
const/4 v3, 0x0
const/4 v4, 0x0
:goto_0
if-ge v4, v2, :cond_0
aget-object v5, v1, v4
const/4 v6, 0x0
invoke-virtual {v5, v6}, Landroidx/work/impl/constraints/controllers/ConstraintController;->setCallback(Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;)V
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
array-length v2, v1
const/4 v4, 0x0
:goto_1
if-ge v4, v2, :cond_1
aget-object v5, v1, v4
invoke-virtual {v5, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;->replace(Ljava/util/List;)V
add-int/lit8 v4, v4, 0x1
goto :goto_1
:cond_1
iget-object p1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
array-length v1, p1
:goto_2
if-ge v3, v1, :cond_2
aget-object v2, p1, v3
invoke-virtual {v2, p0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->setCallback(Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;)V
add-int/lit8 v3, v3, 0x1
goto :goto_2
:cond_2
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public reset()V
.locals 5
iget-object v0, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/WorkConstraintsTracker;->mConstraintControllers:[Landroidx/work/impl/constraints/controllers/ConstraintController;
array-length v2, v1
const/4 v3, 0x0
:goto_0
if-ge v3, v2, :cond_0
aget-object v4, v1, v3
invoke-virtual {v4}, Landroidx/work/impl/constraints/controllers/ConstraintController;->reset()V
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method

View file

@ -0,0 +1,81 @@
.class public Landroidx/work/impl/constraints/controllers/BatteryChargingController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "BatteryChargingController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getBatteryChargingTracker()Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 0
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->requiresCharging()Z
move-result p1
return p1
.end method
.method public isConstrained(Ljava/lang/Boolean;)Z
.locals 0
.param p1 # Ljava/lang/Boolean;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
return p1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/BatteryChargingController;->isConstrained(Ljava/lang/Boolean;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,81 @@
.class public Landroidx/work/impl/constraints/controllers/BatteryNotLowController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "BatteryNotLowController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getBatteryNotLowTracker()Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 0
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->requiresBatteryNotLow()Z
move-result p1
return p1
.end method
.method public isConstrained(Ljava/lang/Boolean;)Z
.locals 0
.param p1 # Ljava/lang/Boolean;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
return p1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/BatteryNotLowController;->isConstrained(Ljava/lang/Boolean;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,46 @@
.class public interface abstract Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
.super Ljava/lang/Object;
.source "ConstraintController.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/constraints/controllers/ConstraintController;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "OnConstraintUpdatedCallback"
.end annotation
# virtual methods
.method public abstract onConstraintMet(Ljava/util/List;)V
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method
.method public abstract onConstraintNotMet(Ljava/util/List;)V
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method

View file

@ -0,0 +1,324 @@
.class public abstract Landroidx/work/impl/constraints/controllers/ConstraintController;
.super Ljava/lang/Object;
.source "ConstraintController.java"
# interfaces
.implements Landroidx/work/impl/constraints/ConstraintListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Landroidx/work/impl/constraints/ConstraintListener<",
"TT;>;"
}
.end annotation
# instance fields
.field public mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
.field public mCurrentValue:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
.field public final mMatchingWorkSpecIds:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public mTracker:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/trackers/ConstraintTracker<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/constraints/trackers/ConstraintTracker<",
"TT;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
iput-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mTracker:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
return-void
.end method
.method private updateCallback()V
.locals 2
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_3
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
if-nez v0, :cond_0
goto :goto_1
:cond_0
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCurrentValue:Ljava/lang/Object;
if-eqz v0, :cond_2
invoke-virtual {p0, v0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->isConstrained(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
goto :goto_0
:cond_1
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
iget-object v1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0, v1}, Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;->onConstraintMet(Ljava/util/List;)V
goto :goto_1
:cond_2
:goto_0
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
iget-object v1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0, v1}, Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;->onConstraintNotMet(Ljava/util/List;)V
:cond_3
:goto_1
return-void
.end method
# virtual methods
.method public abstract hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method
.method public abstract isConstrained(Ljava/lang/Object;)Z
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)Z"
}
.end annotation
.end method
.method public isWorkSpecConstrained(Ljava/lang/String;)Z
.locals 1
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCurrentValue:Ljava/lang/Object;
if-eqz v0, :cond_0
invoke-virtual {p0, v0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->isConstrained(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public onConstraintChanged(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
iput-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCurrentValue:Ljava/lang/Object;
invoke-direct {p0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->updateCallback()V
return-void
.end method
.method public replace(Ljava/util/List;)V
.locals 2
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/work/impl/model/WorkSpec;
invoke-virtual {p0, v0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
iget-object v0, v0, Landroidx/work/impl/model/WorkSpec;->id:Ljava/lang/String;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
iget-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result p1
if-eqz p1, :cond_2
iget-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mTracker:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
invoke-virtual {p1, p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->removeListener(Landroidx/work/impl/constraints/ConstraintListener;)V
goto :goto_1
:cond_2
iget-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mTracker:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
invoke-virtual {p1, p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->addListener(Landroidx/work/impl/constraints/ConstraintListener;)V
:goto_1
invoke-direct {p0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->updateCallback()V
return-void
.end method
.method public reset()V
.locals 1
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mMatchingWorkSpecIds:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mTracker:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
invoke-virtual {v0, p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->removeListener(Landroidx/work/impl/constraints/ConstraintListener;)V
:cond_0
return-void
.end method
.method public setCallback(Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;)V
.locals 1
iget-object v0, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
if-eq v0, p1, :cond_0
iput-object p1, p0, Landroidx/work/impl/constraints/controllers/ConstraintController;->mCallback:Landroidx/work/impl/constraints/controllers/ConstraintController$OnConstraintUpdatedCallback;
invoke-direct {p0}, Landroidx/work/impl/constraints/controllers/ConstraintController;->updateCallback()V
:cond_0
return-void
.end method

View file

@ -0,0 +1,123 @@
.class public Landroidx/work/impl/constraints/controllers/NetworkConnectedController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "NetworkConnectedController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Landroidx/work/impl/constraints/NetworkState;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getNetworkStateTracker()Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 1
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object p1
sget-object v0, Landroidx/work/NetworkType;->CONNECTED:Landroidx/work/NetworkType;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
.locals 3
.param p1 # Landroidx/work/impl/constraints/NetworkState;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const/16 v2, 0x1a
if-lt v0, v2, :cond_2
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result v0
if-eqz v0, :cond_1
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isValidated()Z
move-result p1
if-nez p1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:cond_1
:goto_0
return v1
:cond_2
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result p1
xor-int/2addr p1, v1
return p1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Landroidx/work/impl/constraints/NetworkState;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/NetworkConnectedController;->isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,155 @@
.class public Landroidx/work/impl/constraints/controllers/NetworkMeteredController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "NetworkMeteredController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Landroidx/work/impl/constraints/NetworkState;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "NetworkMeteredCtrlr"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/controllers/NetworkMeteredController;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getNetworkStateTracker()Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 1
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object p1
sget-object v0, Landroidx/work/NetworkType;->METERED:Landroidx/work/NetworkType;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
.locals 5
.param p1 # Landroidx/work/impl/constraints/NetworkState;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const/4 v2, 0x0
const/16 v3, 0x1a
if-ge v0, v3, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/constraints/controllers/NetworkMeteredController;->TAG:Ljava/lang/String;
new-array v2, v2, [Ljava/lang/Throwable;
const-string v4, "Metered network constraint is not supported before API 26, only checking for connected state."
invoke-virtual {v0, v3, v4, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result p1
xor-int/2addr p1, v1
return p1
:cond_0
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result v0
if-eqz v0, :cond_2
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isMetered()Z
move-result p1
if-nez p1, :cond_1
goto :goto_0
:cond_1
const/4 v1, 0x0
:cond_2
:goto_0
return v1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Landroidx/work/impl/constraints/NetworkState;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/NetworkMeteredController;->isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,155 @@
.class public Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "NetworkNotRoamingController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Landroidx/work/impl/constraints/NetworkState;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "NetworkNotRoamingCtrlr"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getNetworkStateTracker()Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 1
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object p1
sget-object v0, Landroidx/work/NetworkType;->NOT_ROAMING:Landroidx/work/NetworkType;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
.locals 5
.param p1 # Landroidx/work/impl/constraints/NetworkState;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const/4 v2, 0x0
const/16 v3, 0x18
if-ge v0, v3, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;->TAG:Ljava/lang/String;
new-array v2, v2, [Ljava/lang/Throwable;
const-string v4, "Not-roaming network constraint is not supported before API 24, only checking for connected state."
invoke-virtual {v0, v3, v4, v2}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result p1
xor-int/2addr p1, v1
return p1
:cond_0
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result v0
if-eqz v0, :cond_2
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isNotRoaming()Z
move-result p1
if-nez p1, :cond_1
goto :goto_0
:cond_1
const/4 v1, 0x0
:cond_2
:goto_0
return v1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Landroidx/work/impl/constraints/NetworkState;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/NetworkNotRoamingController;->isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,119 @@
.class public Landroidx/work/impl/constraints/controllers/NetworkUnmeteredController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "NetworkUnmeteredController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Landroidx/work/impl/constraints/NetworkState;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getNetworkStateTracker()Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 1
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->getRequiredNetworkType()Landroidx/work/NetworkType;
move-result-object p1
sget-object v0, Landroidx/work/NetworkType;->UNMETERED:Landroidx/work/NetworkType;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
.locals 1
.param p1 # Landroidx/work/impl/constraints/NetworkState;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isConnected()Z
move-result v0
if-eqz v0, :cond_1
invoke-virtual {p1}, Landroidx/work/impl/constraints/NetworkState;->isMetered()Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Landroidx/work/impl/constraints/NetworkState;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/NetworkUnmeteredController;->isConstrained(Landroidx/work/impl/constraints/NetworkState;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,89 @@
.class public Landroidx/work/impl/constraints/controllers/StorageNotLowController;
.super Landroidx/work/impl/constraints/controllers/ConstraintController;
.source "StorageNotLowController.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/controllers/ConstraintController<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-static {p1, p2}, Landroidx/work/impl/constraints/trackers/Trackers;->getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
move-result-object p1
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/Trackers;->getStorageNotLowTracker()Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/work/impl/constraints/controllers/ConstraintController;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;)V
return-void
.end method
# virtual methods
.method public hasConstraint(Landroidx/work/impl/model/WorkSpec;)Z
.locals 0
.param p1 # Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {p1}, Landroidx/work/Constraints;->requiresStorageNotLow()Z
move-result p1
return p1
.end method
.method public isConstrained(Ljava/lang/Boolean;)Z
.locals 0
.param p1 # Ljava/lang/Boolean;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
return p1
.end method
.method public bridge synthetic isConstrained(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/controllers/StorageNotLowController;->isConstrained(Ljava/lang/Boolean;)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/constraints/controllers/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/constraints/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,364 @@
.class public Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
.super Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
.source "BatteryChargingTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "BatteryChrgTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0, p1, p2}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
return-void
.end method
.method private isBatteryChangedIntentCharging(Landroid/content/Intent;)Z
.locals 4
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const/4 v2, 0x0
const/16 v3, 0x17
if-lt v0, v3, :cond_1
const/4 v0, -0x1
const-string v3, "status"
invoke-virtual {p1, v3, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result p1
const/4 v0, 0x2
if-eq p1, v0, :cond_2
const/4 v0, 0x5
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
goto :goto_0
:cond_1
const-string v0, "plugged"
invoke-virtual {p1, v0, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result p1
if-eqz p1, :cond_0
:cond_2
:goto_0
return v1
.end method
# virtual methods
.method public getInitialState()Ljava/lang/Boolean;
.locals 5
new-instance v0, Landroid/content/IntentFilter;
const-string v1, "android.intent.action.BATTERY_CHANGED"
invoke-direct {v0, v1}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
const/4 v2, 0x0
invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
move-result-object v0
if-nez v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;->TAG:Ljava/lang/String;
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Throwable;
const-string v4, "getInitialState - null intent received"
invoke-virtual {v0, v1, v4, v3}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return-object v2
:cond_0
invoke-direct {p0, v0}, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;->isBatteryChangedIntentCharging(Landroid/content/Intent;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getInitialState()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;->getInitialState()Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public getIntentFilter()Landroid/content/IntentFilter;
.locals 3
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
if-lt v1, v2, :cond_0
const-string v1, "android.os.action.CHARGING"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.os.action.DISCHARGING"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
goto :goto_0
:cond_0
const-string v1, "android.intent.action.ACTION_POWER_CONNECTED"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.ACTION_POWER_DISCONNECTED"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
:goto_0
return-object v0
.end method
.method public onBroadcastReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 5
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_0
return-void
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p2
sget-object v0, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const-string v4, "Received %s"
invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v4, v3, [Ljava/lang/Throwable;
invoke-virtual {p2, v0, v2, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
const/4 p2, -0x1
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v0
const/4 v2, 0x3
const/4 v4, 0x2
sparse-switch v0, :sswitch_data_0
goto :goto_0
:sswitch_0
const-string v0, "android.intent.action.ACTION_POWER_CONNECTED"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 p2, 0x2
goto :goto_0
:sswitch_1
const-string v0, "android.os.action.CHARGING"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 p2, 0x0
goto :goto_0
:sswitch_2
const-string v0, "android.os.action.DISCHARGING"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 p2, 0x1
goto :goto_0
:sswitch_3
const-string v0, "android.intent.action.ACTION_POWER_DISCONNECTED"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 p2, 0x3
:cond_1
:goto_0
if-eqz p2, :cond_5
if-eq p2, v1, :cond_4
if-eq p2, v4, :cond_3
if-eq p2, v2, :cond_2
goto :goto_1
:cond_2
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
goto :goto_1
:cond_3
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
goto :goto_1
:cond_4
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
goto :goto_1
:cond_5
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
:goto_1
return-void
nop
:sswitch_data_0
.sparse-switch
-0x7073f927 -> :sswitch_3
-0x3465cce -> :sswitch_2
0x388694fe -> :sswitch_1
0x3cbf870b -> :sswitch_0
.end sparse-switch
.end method

View file

@ -0,0 +1,299 @@
.class public Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
.super Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
.source "BatteryNotLowTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# static fields
.field public static final BATTERY_LOW_PERCENTAGE:F = 0.15f
.field public static final BATTERY_PLUGGED_NONE:I
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "BatteryNotLowTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0, p1, p2}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
return-void
.end method
# virtual methods
.method public getInitialState()Ljava/lang/Boolean;
.locals 7
new-instance v0, Landroid/content/IntentFilter;
const-string v1, "android.intent.action.BATTERY_CHANGED"
invoke-direct {v0, v1}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
const/4 v2, 0x0
invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v3, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
const-string v4, "getInitialState - null intent received"
invoke-virtual {v0, v3, v4, v1}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
return-object v2
:cond_0
const-string v2, "plugged"
invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v2
const/4 v3, -0x1
const-string v4, "status"
invoke-virtual {v0, v4, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v4
const-string v5, "level"
invoke-virtual {v0, v5, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v5
const-string v6, "scale"
invoke-virtual {v0, v6, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
move-result v0
int-to-float v3, v5
int-to-float v0, v0
div-float/2addr v3, v0
const/4 v0, 0x1
if-nez v2, :cond_2
if-eq v4, v0, :cond_2
const v2, 0x3e19999a # 0.15f
cmpl-float v2, v3, v2
if-lez v2, :cond_1
goto :goto_0
:cond_1
const/4 v0, 0x0
:cond_2
:goto_0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getInitialState()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;->getInitialState()Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public getIntentFilter()Landroid/content/IntentFilter;
.locals 2
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
const-string v1, "android.intent.action.BATTERY_OKAY"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.BATTERY_LOW"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
return-object v0
.end method
.method public onBroadcastReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 5
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_0
return-void
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "Received %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {p1, v0, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const/4 p2, -0x1
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v0
const v2, -0x7606c095 # -6.0004207E-33f
if-eq v0, v2, :cond_2
const v2, 0x1d398bfd
if-eq v0, v2, :cond_1
goto :goto_0
:cond_1
const-string v0, "android.intent.action.BATTERY_LOW"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_3
const/4 p2, 0x1
goto :goto_0
:cond_2
const-string v0, "android.intent.action.BATTERY_OKAY"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_3
const/4 p2, 0x0
:cond_3
:goto_0
if-eqz p2, :cond_5
if-eq p2, v1, :cond_4
goto :goto_1
:cond_4
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
goto :goto_1
:cond_5
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
:goto_1
return-void
.end method

View file

@ -0,0 +1,45 @@
.class public Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker$1;
.super Landroid/content/BroadcastReceiver;
.source "BroadcastReceiverConstraintTracker.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
# direct methods
.method public constructor <init>(Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker$1;->this$0:Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 1
if-eqz p2, :cond_0
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker$1;->this$0:Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
invoke-virtual {v0, p1, p2}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->onBroadcastReceive(Landroid/content/Context;Landroid/content/Intent;)V
:cond_0
return-void
.end method

View file

@ -0,0 +1,171 @@
.class public abstract Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
.super Landroidx/work/impl/constraints/trackers/ConstraintTracker;
.source "BroadcastReceiverConstraintTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Landroidx/work/impl/constraints/trackers/ConstraintTracker<",
"TT;>;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mBroadcastReceiver:Landroid/content/BroadcastReceiver;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "BrdcstRcvrCnstrntTrckr"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0, p1, p2}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
new-instance p1, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker$1;
invoke-direct {p1, p0}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker$1;-><init>(Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;)V
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
return-void
.end method
# virtual methods
.method public abstract getIntentFilter()Landroid/content/IntentFilter;
.end method
.method public abstract onBroadcastReceive(Landroid/content/Context;Landroid/content/Intent;)V
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.end method
.method public startTracking()V
.locals 5
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "%s: registering receiver"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->getIntentFilter()Landroid/content/IntentFilter;
move-result-object v2
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
return-void
.end method
.method public stopTracking()V
.locals 5
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v1, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->TAG:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "%s: unregistering receiver"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
return-void
.end method

View file

@ -0,0 +1,73 @@
.class public Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;
.super Ljava/lang/Object;
.source "ConstraintTracker.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
.field public final synthetic val$listenersList:Ljava/util/List;
# direct methods
.method public constructor <init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;Ljava/util/List;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;->this$0:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
iput-object p2, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;->val$listenersList:Ljava/util/List;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 3
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;->val$listenersList:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/constraints/ConstraintListener;
iget-object v2, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;->this$0:Landroidx/work/impl/constraints/trackers/ConstraintTracker;
iget-object v2, v2, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
invoke-interface {v1, v2}, Landroidx/work/impl/constraints/ConstraintListener;->onConstraintChanged(Ljava/lang/Object;)V
goto :goto_0
:cond_0
return-void
.end method

View file

@ -0,0 +1,335 @@
.class public abstract Landroidx/work/impl/constraints/trackers/ConstraintTracker;
.super Ljava/lang/Object;
.source "ConstraintTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public final mAppContext:Landroid/content/Context;
.field public mCurrentState:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TT;"
}
.end annotation
.end field
.field public final mListeners:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroidx/work/impl/constraints/ConstraintListener<",
"TT;>;>;"
}
.end annotation
.end field
.field public final mLock:Ljava/lang/Object;
.field public final mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "ConstraintTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 1
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mLock:Ljava/lang/Object;
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0}, Ljava/util/LinkedHashSet;-><init>()V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
iput-object p2, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
return-void
.end method
# virtual methods
.method public addListener(Landroidx/work/impl/constraints/ConstraintListener;)V
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/constraints/ConstraintListener<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-interface {v1, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-interface {v1}, Ljava/util/Set;->size()I
move-result v1
const/4 v2, 0x1
if-ne v1, v2, :cond_0
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->getInitialState()Ljava/lang/Object;
move-result-object v1
iput-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v1
sget-object v3, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->TAG:Ljava/lang/String;
const-string v4, "%s: initial state = %s"
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v6
const/4 v7, 0x0
aput-object v6, v5, v7
iget-object v6, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
aput-object v6, v5, v2
invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v4, v7, [Ljava/lang/Throwable;
invoke-virtual {v1, v3, v2, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->startTracking()V
:cond_0
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
invoke-interface {p1, v1}, Landroidx/work/impl/constraints/ConstraintListener;->onConstraintChanged(Ljava/lang/Object;)V
:cond_1
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public abstract getInitialState()Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.end method
.method public removeListener(Landroidx/work/impl/constraints/ConstraintListener;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/constraints/ConstraintListener<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-interface {v1, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
iget-object p1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-interface {p1}, Ljava/util/Set;->isEmpty()Z
move-result p1
if-eqz p1, :cond_0
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->stopTracking()V
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public setState(Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
if-eq v1, p1, :cond_1
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
if-eqz v1, :cond_0
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
invoke-virtual {v1, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
:cond_0
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mCurrentState:Ljava/lang/Object;
new-instance p1, Ljava/util/ArrayList;
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mListeners:Ljava/util/Set;
invoke-direct {p1, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mTaskExecutor:Landroidx/work/impl/utils/taskexecutor/TaskExecutor;
invoke-interface {v1}, Landroidx/work/impl/utils/taskexecutor/TaskExecutor;->getMainThreadExecutor()Ljava/util/concurrent/Executor;
move-result-object v1
new-instance v2, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;
invoke-direct {v2, p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker$1;-><init>(Landroidx/work/impl/constraints/trackers/ConstraintTracker;Ljava/util/List;)V
invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
monitor-exit v0
return-void
:cond_1
:goto_0
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public abstract startTracking()V
.end method
.method public abstract stopTracking()V
.end method

View file

@ -0,0 +1,85 @@
.class public Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
.super Landroid/content/BroadcastReceiver;
.source "NetworkStateTracker.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "NetworkStateBroadcastReceiver"
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
# direct methods
.method public constructor <init>(Landroidx/work/impl/constraints/trackers/NetworkStateTracker;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;->this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 2
if-eqz p2, :cond_1
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_0
goto :goto_0
:cond_0
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const-string p2, "android.net.conn.CONNECTIVITY_CHANGE"
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object p2, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Throwable;
const-string v1, "Network broadcast received"
invoke-virtual {p1, p2, v1, v0}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;->this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->getActiveNetworkState()Landroidx/work/impl/constraints/NetworkState;
move-result-object p2
invoke-virtual {p1, p2}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
:cond_1
:goto_0
return-void
.end method

View file

@ -0,0 +1,114 @@
.class public Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
.super Landroid/net/ConnectivityManager$NetworkCallback;
.source "NetworkStateTracker.java"
# annotations
.annotation build Landroidx/annotation/RequiresApi;
value = 0x18
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "NetworkStateCallback"
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
# direct methods
.method public constructor <init>(Landroidx/work/impl/constraints/trackers/NetworkStateTracker;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;->this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-direct {p0}, Landroid/net/ConnectivityManager$NetworkCallback;-><init>()V
return-void
.end method
# virtual methods
.method public onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
.locals 3
.param p1 # Landroid/net/Network;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/net/NetworkCapabilities;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const-string p2, "Network capabilities changed: %s"
invoke-static {p2, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
new-array v1, v2, [Ljava/lang/Throwable;
invoke-virtual {p1, v0, p2, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;->this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->getActiveNetworkState()Landroidx/work/impl/constraints/NetworkState;
move-result-object p2
invoke-virtual {p1, p2}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
return-void
.end method
.method public onLost(Landroid/net/Network;)V
.locals 3
.param p1 # Landroid/net/Network;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Throwable;
const-string v2, "Network connection lost"
invoke-virtual {p1, v0, v2, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;->this$0:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-virtual {p1}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->getActiveNetworkState()Landroidx/work/impl/constraints/NetworkState;
move-result-object v0
invoke-virtual {p1, v0}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
return-void
.end method

View file

@ -0,0 +1,414 @@
.class public Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
.super Landroidx/work/impl/constraints/trackers/ConstraintTracker;
.source "NetworkStateTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;,
Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/trackers/ConstraintTracker<",
"Landroidx/work/impl/constraints/NetworkState;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# instance fields
.field public mBroadcastReceiver:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
.field public final mConnectivityManager:Landroid/net/ConnectivityManager;
.field public mNetworkCallback:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
.annotation build Landroidx/annotation/RequiresApi;
value = 0x18
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "NetworkStateTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0, p1, p2}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
iget-object p1, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
const-string p2, "connectivity"
invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/net/ConnectivityManager;
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
invoke-static {}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->isNetworkCallbackSupported()Z
move-result p1
if-eqz p1, :cond_0
new-instance p1, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
invoke-direct {p1, p0}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;-><init>(Landroidx/work/impl/constraints/trackers/NetworkStateTracker;)V
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mNetworkCallback:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
goto :goto_0
:cond_0
new-instance p1, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
invoke-direct {p1, p0}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;-><init>(Landroidx/work/impl/constraints/trackers/NetworkStateTracker;)V
iput-object p1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mBroadcastReceiver:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
:goto_0
return-void
.end method
.method private isActiveNetworkValidated()Z
.locals 3
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x17
if-ge v0, v2, :cond_0
return v1
:cond_0
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetwork()Landroid/net/Network;
move-result-object v0
iget-object v2, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
invoke-virtual {v2, v0}, Landroid/net/ConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
move-result-object v0
if-eqz v0, :cond_1
const/16 v2, 0x10
invoke-virtual {v0, v2}, Landroid/net/NetworkCapabilities;->hasCapability(I)Z
move-result v0
if-eqz v0, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public static isNetworkCallbackSupported()Z
.locals 2
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
# virtual methods
.method public getActiveNetworkState()Landroidx/work/impl/constraints/NetworkState;
.locals 6
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v3
if-eqz v3, :cond_0
const/4 v3, 0x1
goto :goto_0
:cond_0
const/4 v3, 0x0
:goto_0
invoke-direct {p0}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->isActiveNetworkValidated()Z
move-result v4
iget-object v5, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
invoke-static {v5}, Landroidx/core/net/ConnectivityManagerCompat;->isActiveNetworkMetered(Landroid/net/ConnectivityManager;)Z
move-result v5
if-eqz v0, :cond_1
invoke-virtual {v0}, Landroid/net/NetworkInfo;->isRoaming()Z
move-result v0
if-nez v0, :cond_1
goto :goto_1
:cond_1
const/4 v1, 0x0
:goto_1
new-instance v0, Landroidx/work/impl/constraints/NetworkState;
invoke-direct {v0, v3, v4, v5, v1}, Landroidx/work/impl/constraints/NetworkState;-><init>(ZZZZ)V
return-object v0
.end method
.method public getInitialState()Landroidx/work/impl/constraints/NetworkState;
.locals 1
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->getActiveNetworkState()Landroidx/work/impl/constraints/NetworkState;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getInitialState()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->getInitialState()Landroidx/work/impl/constraints/NetworkState;
move-result-object v0
return-object v0
.end method
.method public startTracking()V
.locals 5
invoke-static {}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->isNetworkCallbackSupported()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v2, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const-string v3, "Registering network callback"
new-array v4, v1, [Ljava/lang/Throwable;
invoke-virtual {v0, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
iget-object v2, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mNetworkCallback:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
invoke-virtual {v0, v2}, Landroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v2
sget-object v3, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Throwable;
aput-object v0, v4, v1
const-string v0, "Received exception while unregistering network callback"
invoke-virtual {v2, v3, v0, v4}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_0
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v2, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
const-string v3, "Registering broadcast receiver"
invoke-virtual {v0, v2, v3, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mBroadcastReceiver:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
new-instance v2, Landroid/content/IntentFilter;
const-string v3, "android.net.conn.CONNECTIVITY_CHANGE"
invoke-direct {v2, v3}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
:goto_0
return-void
.end method
.method public stopTracking()V
.locals 5
invoke-static {}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->isNetworkCallbackSupported()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
:try_start_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v2, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const-string v3, "Unregistering network callback"
new-array v4, v1, [Ljava/lang/Throwable;
invoke-virtual {v0, v2, v3, v4}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mConnectivityManager:Landroid/net/ConnectivityManager;
iget-object v2, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mNetworkCallback:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateCallback;
invoke-virtual {v0, v2}, Landroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v2
sget-object v3, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Throwable;
aput-object v0, v4, v1
const-string v0, "Received exception while unregistering network callback"
invoke-virtual {v2, v3, v0, v4}, Landroidx/work/Logger;->error(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
goto :goto_0
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object v0
sget-object v2, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->TAG:Ljava/lang/String;
new-array v1, v1, [Ljava/lang/Throwable;
const-string v3, "Unregistering broadcast receiver"
invoke-virtual {v0, v2, v3, v1}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
iget-object v1, p0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;->mBroadcastReceiver:Landroidx/work/impl/constraints/trackers/NetworkStateTracker$NetworkStateBroadcastReceiver;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
:goto_0
return-void
.end method

View file

@ -0,0 +1,299 @@
.class public Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
.super Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;
.source "StorageNotLowTracker.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# static fields
.field public static final TAG:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "StorageNotLowTracker"
invoke-static {v0}, Landroidx/work/Logger;->tagWithPrefix(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;->TAG:Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 0
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0, p1, p2}, Landroidx/work/impl/constraints/trackers/BroadcastReceiverConstraintTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
return-void
.end method
# virtual methods
.method public getInitialState()Ljava/lang/Boolean;
.locals 8
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->mAppContext:Landroid/content/Context;
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;->getIntentFilter()Landroid/content/IntentFilter;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v2, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
move-result-object v0
const/4 v1, 0x1
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
if-eqz v0, :cond_5
invoke-virtual {v0}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v4
if-nez v4, :cond_0
goto :goto_1
:cond_0
invoke-virtual {v0}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
const/4 v4, -0x1
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v5
const v6, -0x46671f94
const/4 v7, 0x0
if-eq v5, v6, :cond_2
const v6, -0x2b8fb65c
if-eq v5, v6, :cond_1
goto :goto_0
:cond_1
const-string v5, "android.intent.action.DEVICE_STORAGE_OK"
invoke-virtual {v0, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3
const/4 v4, 0x0
goto :goto_0
:cond_2
const-string v5, "android.intent.action.DEVICE_STORAGE_LOW"
invoke-virtual {v0, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3
const/4 v4, 0x1
:cond_3
:goto_0
if-eqz v4, :cond_5
if-eq v4, v1, :cond_4
return-object v2
:cond_4
invoke-static {v7}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
return-object v0
:cond_5
:goto_1
return-object v3
.end method
.method public bridge synthetic getInitialState()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;->getInitialState()Ljava/lang/Boolean;
move-result-object v0
return-object v0
.end method
.method public getIntentFilter()Landroid/content/IntentFilter;
.locals 2
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
const-string v1, "android.intent.action.DEVICE_STORAGE_OK"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.DEVICE_STORAGE_LOW"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
return-object v0
.end method
.method public onBroadcastReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 5
.param p2 # Landroid/content/Intent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_0
return-void
:cond_0
invoke-static {}, Landroidx/work/Logger;->get()Landroidx/work/Logger;
move-result-object p1
sget-object v0, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;->TAG:Ljava/lang/String;
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Object;
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "Received %s"
invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
new-array v3, v4, [Ljava/lang/Throwable;
invoke-virtual {p1, v0, v2, v3}, Landroidx/work/Logger;->debug(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const/4 p2, -0x1
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v0
const v2, -0x46671f94
if-eq v0, v2, :cond_2
const v2, -0x2b8fb65c
if-eq v0, v2, :cond_1
goto :goto_0
:cond_1
const-string v0, "android.intent.action.DEVICE_STORAGE_OK"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_3
const/4 p2, 0x0
goto :goto_0
:cond_2
const-string v0, "android.intent.action.DEVICE_STORAGE_LOW"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_3
const/4 p2, 0x1
:cond_3
:goto_0
if-eqz p2, :cond_5
if-eq p2, v1, :cond_4
goto :goto_1
:cond_4
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
goto :goto_1
:cond_5
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/work/impl/constraints/trackers/ConstraintTracker;->setState(Ljava/lang/Object;)V
:goto_1
return-void
.end method

View file

@ -0,0 +1,180 @@
.class public Landroidx/work/impl/constraints/trackers/Trackers;
.super Ljava/lang/Object;
.source "Trackers.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field public static sInstance:Landroidx/work/impl/constraints/trackers/Trackers;
# instance fields
.field public mBatteryChargingTracker:Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
.field public mBatteryNotLowTracker:Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
.field public mNetworkStateTracker:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
.field public mStorageNotLowTracker:Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
.locals 1
.param p1 # Landroid/content/Context;
.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
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
new-instance v0, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mBatteryChargingTracker:Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
new-instance v0, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mBatteryNotLowTracker:Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
new-instance v0, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/trackers/NetworkStateTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mNetworkStateTracker:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
new-instance v0, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
invoke-direct {v0, p1, p2}, Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
iput-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mStorageNotLowTracker:Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
return-void
.end method
.method public static declared-synchronized getInstance(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)Landroidx/work/impl/constraints/trackers/Trackers;
.locals 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
const-class v0, Landroidx/work/impl/constraints/trackers/Trackers;
monitor-enter v0
:try_start_0
sget-object v1, Landroidx/work/impl/constraints/trackers/Trackers;->sInstance:Landroidx/work/impl/constraints/trackers/Trackers;
if-nez v1, :cond_0
new-instance v1, Landroidx/work/impl/constraints/trackers/Trackers;
invoke-direct {v1, p0, p1}, Landroidx/work/impl/constraints/trackers/Trackers;-><init>(Landroid/content/Context;Landroidx/work/impl/utils/taskexecutor/TaskExecutor;)V
sput-object v1, Landroidx/work/impl/constraints/trackers/Trackers;->sInstance:Landroidx/work/impl/constraints/trackers/Trackers;
:cond_0
sget-object p0, Landroidx/work/impl/constraints/trackers/Trackers;->sInstance:Landroidx/work/impl/constraints/trackers/Trackers;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v0
return-object p0
:catchall_0
move-exception p0
monitor-exit v0
throw p0
.end method
.method public static declared-synchronized setInstance(Landroidx/work/impl/constraints/trackers/Trackers;)V
.locals 1
.param p0 # Landroidx/work/impl/constraints/trackers/Trackers;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-class v0, Landroidx/work/impl/constraints/trackers/Trackers;
monitor-enter v0
:try_start_0
sput-object p0, Landroidx/work/impl/constraints/trackers/Trackers;->sInstance:Landroidx/work/impl/constraints/trackers/Trackers;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v0
return-void
:catchall_0
move-exception p0
monitor-exit v0
throw p0
.end method
# virtual methods
.method public getBatteryChargingTracker()Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mBatteryChargingTracker:Landroidx/work/impl/constraints/trackers/BatteryChargingTracker;
return-object v0
.end method
.method public getBatteryNotLowTracker()Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mBatteryNotLowTracker:Landroidx/work/impl/constraints/trackers/BatteryNotLowTracker;
return-object v0
.end method
.method public getNetworkStateTracker()Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mNetworkStateTracker:Landroidx/work/impl/constraints/trackers/NetworkStateTracker;
return-object v0
.end method
.method public getStorageNotLowTracker()Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/work/impl/constraints/trackers/Trackers;->mStorageNotLowTracker:Landroidx/work/impl/constraints/trackers/StorageNotLowTracker;
return-object v0
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract synthetic Landroidx/work/impl/constraints/trackers/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation

View file

@ -0,0 +1,96 @@
.class public Landroidx/work/impl/model/Dependency;
.super Ljava/lang/Object;
.source "Dependency.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/room/Entity;
foreignKeys = {
.subannotation Landroidx/room/ForeignKey;
childColumns = {
"work_spec_id"
}
entity = Landroidx/work/impl/model/WorkSpec;
onDelete = 0x5
onUpdate = 0x5
parentColumns = {
"id"
}
.end subannotation,
.subannotation Landroidx/room/ForeignKey;
childColumns = {
"prerequisite_id"
}
entity = Landroidx/work/impl/model/WorkSpec;
onDelete = 0x5
onUpdate = 0x5
parentColumns = {
"id"
}
.end subannotation
}
indices = {
.subannotation Landroidx/room/Index;
value = {
"work_spec_id"
}
.end subannotation,
.subannotation Landroidx/room/Index;
value = {
"prerequisite_id"
}
.end subannotation
}
primaryKeys = {
"work_spec_id",
"prerequisite_id"
}
.end annotation
# instance fields
.field public final prerequisiteId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/room/ColumnInfo;
name = "prerequisite_id"
.end annotation
.end field
.field public final workSpecId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/room/ColumnInfo;
name = "work_spec_id"
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/Dependency;->workSpecId:Ljava/lang/String;
iput-object p2, p0, Landroidx/work/impl/model/Dependency;->prerequisiteId:Ljava/lang/String;
return-void
.end method

View file

@ -0,0 +1,62 @@
.class public interface abstract Landroidx/work/impl/model/DependencyDao;
.super Ljava/lang/Object;
.source "DependencyDao.java"
# annotations
.annotation build Landroidx/room/Dao;
.end annotation
# virtual methods
.method public abstract getDependentWorkIds(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT work_spec_id FROM dependency WHERE prerequisite_id=:id"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getPrerequisites(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT prerequisite_id FROM dependency WHERE work_spec_id=:id"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract hasCompletedAllPrerequisites(Ljava/lang/String;)Z
.annotation build Landroidx/room/Query;
value = "SELECT COUNT(*)=0 FROM dependency WHERE work_spec_id=:id AND prerequisite_id IN (SELECT id FROM workspec WHERE state!=2)"
.end annotation
.end method
.method public abstract hasDependents(Ljava/lang/String;)Z
.annotation build Landroidx/room/Query;
value = "SELECT COUNT(*)>0 FROM dependency WHERE prerequisite_id=:id"
.end annotation
.end method
.method public abstract insertDependency(Landroidx/work/impl/model/Dependency;)V
.annotation build Landroidx/room/Insert;
onConflict = 0x5
.end annotation
.end method

View file

@ -0,0 +1,92 @@
.class public Landroidx/work/impl/model/DependencyDao_Impl$1;
.super Landroidx/room/EntityInsertionAdapter;
.source "DependencyDao_Impl.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/model/DependencyDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/room/EntityInsertionAdapter<",
"Landroidx/work/impl/model/Dependency;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/model/DependencyDao_Impl;
# direct methods
.method public constructor <init>(Landroidx/work/impl/model/DependencyDao_Impl;Landroidx/room/RoomDatabase;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl$1;->this$0:Landroidx/work/impl/model/DependencyDao_Impl;
invoke-direct {p0, p2}, Landroidx/room/EntityInsertionAdapter;-><init>(Landroidx/room/RoomDatabase;)V
return-void
.end method
# virtual methods
.method public bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/Dependency;)V
.locals 2
iget-object v0, p2, Landroidx/work/impl/model/Dependency;->workSpecId:Ljava/lang/String;
const/4 v1, 0x1
if-nez v0, :cond_0
invoke-interface {p1, v1}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_0
:cond_0
invoke-interface {p1, v1, v0}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p2, p2, Landroidx/work/impl/model/Dependency;->prerequisiteId:Ljava/lang/String;
const/4 v0, 0x2
if-nez p2, :cond_1
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_1
:cond_1
invoke-interface {p1, v0, p2}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_1
return-void
.end method
.method public bridge synthetic bind(Landroidx/sqlite/db/SupportSQLiteStatement;Ljava/lang/Object;)V
.locals 0
check-cast p2, Landroidx/work/impl/model/Dependency;
invoke-virtual {p0, p1, p2}, Landroidx/work/impl/model/DependencyDao_Impl$1;->bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/Dependency;)V
return-void
.end method
.method public createQuery()Ljava/lang/String;
.locals 1
const-string v0, "INSERT OR IGNORE INTO `Dependency`(`work_spec_id`,`prerequisite_id`) VALUES (?,?)"
return-object v0
.end method

View file

@ -0,0 +1,376 @@
.class public final Landroidx/work/impl/model/DependencyDao_Impl;
.super Ljava/lang/Object;
.source "DependencyDao_Impl.java"
# interfaces
.implements Landroidx/work/impl/model/DependencyDao;
# instance fields
.field public final __db:Landroidx/room/RoomDatabase;
.field public final __insertionAdapterOfDependency:Landroidx/room/EntityInsertionAdapter;
# direct methods
.method public constructor <init>(Landroidx/room/RoomDatabase;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
new-instance v0, Landroidx/work/impl/model/DependencyDao_Impl$1;
invoke-direct {v0, p0, p1}, Landroidx/work/impl/model/DependencyDao_Impl$1;-><init>(Landroidx/work/impl/model/DependencyDao_Impl;Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__insertionAdapterOfDependency:Landroidx/room/EntityInsertionAdapter;
return-void
.end method
# virtual methods
.method public getDependentWorkIds(Ljava/lang/String;)Ljava/util/List;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
const/4 v0, 0x1
const-string v1, "SELECT work_spec_id FROM dependency WHERE prerequisite_id=?"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v0, 0x0
invoke-static {p1, v1, v0}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
new-instance v2, Ljava/util/ArrayList;
invoke-interface {p1}, Landroid/database/Cursor;->getCount()I
move-result v3
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
:goto_1
invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_1
:cond_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return-object v2
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public getPrerequisites(Ljava/lang/String;)Ljava/util/List;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
const/4 v0, 0x1
const-string v1, "SELECT prerequisite_id FROM dependency WHERE work_spec_id=?"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v0, 0x0
invoke-static {p1, v1, v0}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
new-instance v2, Ljava/util/ArrayList;
invoke-interface {p1}, Landroid/database/Cursor;->getCount()I
move-result v3
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
:goto_1
invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_1
:cond_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return-object v2
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public hasCompletedAllPrerequisites(Ljava/lang/String;)Z
.locals 4
const/4 v0, 0x1
const-string v1, "SELECT COUNT(*)=0 FROM dependency WHERE work_spec_id=? AND prerequisite_id IN (SELECT id FROM workspec WHERE state!=2)"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v2, 0x0
invoke-static {p1, v1, v2}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v3, :cond_1
const/4 v2, 0x1
:cond_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return v2
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public hasDependents(Ljava/lang/String;)Z
.locals 4
const/4 v0, 0x1
const-string v1, "SELECT COUNT(*)>0 FROM dependency WHERE prerequisite_id=?"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v2, 0x0
invoke-static {p1, v1, v2}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v3, :cond_1
const/4 v2, 0x1
:cond_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return v2
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public insertDependency(Landroidx/work/impl/model/Dependency;)V
.locals 1
iget-object v0, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object v0, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->beginTransaction()V
:try_start_0
iget-object v0, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__insertionAdapterOfDependency:Landroidx/room/EntityInsertionAdapter;
invoke-virtual {v0, p1}, Landroidx/room/EntityInsertionAdapter;->insert(Ljava/lang/Object;)V
iget-object p1, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
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/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Landroidx/work/impl/model/DependencyDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->endTransaction()V
throw p1
.end method

View file

@ -0,0 +1,136 @@
.class public Landroidx/work/impl/model/SystemIdInfo;
.super Ljava/lang/Object;
.source "SystemIdInfo.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/room/Entity;
foreignKeys = {
.subannotation Landroidx/room/ForeignKey;
childColumns = {
"work_spec_id"
}
entity = Landroidx/work/impl/model/WorkSpec;
onDelete = 0x5
onUpdate = 0x5
parentColumns = {
"id"
}
.end subannotation
}
.end annotation
# instance fields
.field public final systemId:I
.annotation build Landroidx/room/ColumnInfo;
name = "system_id"
.end annotation
.end field
.field public final workSpecId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/room/ColumnInfo;
name = "work_spec_id"
.end annotation
.annotation build Landroidx/room/PrimaryKey;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;I)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/SystemIdInfo;->workSpecId:Ljava/lang/String;
iput p2, p0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 3
if-ne p0, p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 v0, 0x0
if-eqz p1, :cond_3
const-class v1, Landroidx/work/impl/model/SystemIdInfo;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
if-eq v1, v2, :cond_1
goto :goto_0
:cond_1
check-cast p1, Landroidx/work/impl/model/SystemIdInfo;
iget v1, p0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
iget v2, p1, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
if-eq v1, v2, :cond_2
return v0
:cond_2
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfo;->workSpecId:Ljava/lang/String;
iget-object p1, p1, Landroidx/work/impl/model/SystemIdInfo;->workSpecId:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_3
:goto_0
return v0
.end method
.method public hashCode()I
.locals 2
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfo;->workSpecId:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
iget v1, p0, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
add-int/2addr v0, v1
return v0
.end method

View file

@ -0,0 +1,43 @@
.class public interface abstract Landroidx/work/impl/model/SystemIdInfoDao;
.super Ljava/lang/Object;
.source "SystemIdInfoDao.java"
# annotations
.annotation build Landroidx/room/Dao;
.end annotation
# virtual methods
.method public abstract getSystemIdInfo(Ljava/lang/String;)Landroidx/work/impl/model/SystemIdInfo;
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/room/Query;
value = "SELECT * FROM SystemIdInfo WHERE work_spec_id=:workSpecId"
.end annotation
.end method
.method public abstract insertSystemIdInfo(Landroidx/work/impl/model/SystemIdInfo;)V
.param p1 # Landroidx/work/impl/model/SystemIdInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/room/Insert;
onConflict = 0x1
.end annotation
.end method
.method public abstract removeSystemIdInfo(Ljava/lang/String;)V
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/room/Query;
value = "DELETE FROM SystemIdInfo where work_spec_id=:workSpecId"
.end annotation
.end method

View file

@ -0,0 +1,86 @@
.class public Landroidx/work/impl/model/SystemIdInfoDao_Impl$1;
.super Landroidx/room/EntityInsertionAdapter;
.source "SystemIdInfoDao_Impl.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/model/SystemIdInfoDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/room/EntityInsertionAdapter<",
"Landroidx/work/impl/model/SystemIdInfo;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/model/SystemIdInfoDao_Impl;
# direct methods
.method public constructor <init>(Landroidx/work/impl/model/SystemIdInfoDao_Impl;Landroidx/room/RoomDatabase;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl$1;->this$0:Landroidx/work/impl/model/SystemIdInfoDao_Impl;
invoke-direct {p0, p2}, Landroidx/room/EntityInsertionAdapter;-><init>(Landroidx/room/RoomDatabase;)V
return-void
.end method
# virtual methods
.method public bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/SystemIdInfo;)V
.locals 3
iget-object v0, p2, Landroidx/work/impl/model/SystemIdInfo;->workSpecId:Ljava/lang/String;
const/4 v1, 0x1
if-nez v0, :cond_0
invoke-interface {p1, v1}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_0
:cond_0
invoke-interface {p1, v1, v0}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_0
const/4 v0, 0x2
iget p2, p2, Landroidx/work/impl/model/SystemIdInfo;->systemId:I
int-to-long v1, p2
invoke-interface {p1, v0, v1, v2}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindLong(IJ)V
return-void
.end method
.method public bridge synthetic bind(Landroidx/sqlite/db/SupportSQLiteStatement;Ljava/lang/Object;)V
.locals 0
check-cast p2, Landroidx/work/impl/model/SystemIdInfo;
invoke-virtual {p0, p1, p2}, Landroidx/work/impl/model/SystemIdInfoDao_Impl$1;->bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/SystemIdInfo;)V
return-void
.end method
.method public createQuery()Ljava/lang/String;
.locals 1
const-string v0, "INSERT OR REPLACE INTO `SystemIdInfo`(`work_spec_id`,`system_id`) VALUES (?,?)"
return-object v0
.end method

View file

@ -0,0 +1,40 @@
.class public Landroidx/work/impl/model/SystemIdInfoDao_Impl$2;
.super Landroidx/room/SharedSQLiteStatement;
.source "SystemIdInfoDao_Impl.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/model/SystemIdInfoDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/model/SystemIdInfoDao_Impl;
# direct methods
.method public constructor <init>(Landroidx/work/impl/model/SystemIdInfoDao_Impl;Landroidx/room/RoomDatabase;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl$2;->this$0:Landroidx/work/impl/model/SystemIdInfoDao_Impl;
invoke-direct {p0, p2}, Landroidx/room/SharedSQLiteStatement;-><init>(Landroidx/room/RoomDatabase;)V
return-void
.end method
# virtual methods
.method public createQuery()Ljava/lang/String;
.locals 1
const-string v0, "DELETE FROM SystemIdInfo where work_spec_id=?"
return-object v0
.end method

View file

@ -0,0 +1,228 @@
.class public final Landroidx/work/impl/model/SystemIdInfoDao_Impl;
.super Ljava/lang/Object;
.source "SystemIdInfoDao_Impl.java"
# interfaces
.implements Landroidx/work/impl/model/SystemIdInfoDao;
# instance fields
.field public final __db:Landroidx/room/RoomDatabase;
.field public final __insertionAdapterOfSystemIdInfo:Landroidx/room/EntityInsertionAdapter;
.field public final __preparedStmtOfRemoveSystemIdInfo:Landroidx/room/SharedSQLiteStatement;
# direct methods
.method public constructor <init>(Landroidx/room/RoomDatabase;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
new-instance v0, Landroidx/work/impl/model/SystemIdInfoDao_Impl$1;
invoke-direct {v0, p0, p1}, Landroidx/work/impl/model/SystemIdInfoDao_Impl$1;-><init>(Landroidx/work/impl/model/SystemIdInfoDao_Impl;Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__insertionAdapterOfSystemIdInfo:Landroidx/room/EntityInsertionAdapter;
new-instance v0, Landroidx/work/impl/model/SystemIdInfoDao_Impl$2;
invoke-direct {v0, p0, p1}, Landroidx/work/impl/model/SystemIdInfoDao_Impl$2;-><init>(Landroidx/work/impl/model/SystemIdInfoDao_Impl;Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__preparedStmtOfRemoveSystemIdInfo:Landroidx/room/SharedSQLiteStatement;
return-void
.end method
# virtual methods
.method public getSystemIdInfo(Ljava/lang/String;)Landroidx/work/impl/model/SystemIdInfo;
.locals 4
const/4 v0, 0x1
const-string v1, "SELECT * FROM SystemIdInfo WHERE work_spec_id=?"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v0, 0x0
invoke-static {p1, v1, v0}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
const-string v0, "work_spec_id"
invoke-static {p1, v0}, Landroidx/room/util/CursorUtil;->getColumnIndexOrThrow(Landroid/database/Cursor;Ljava/lang/String;)I
move-result v0
const-string v2, "system_id"
invoke-static {p1, v2}, Landroidx/room/util/CursorUtil;->getColumnIndexOrThrow(Landroid/database/Cursor;Ljava/lang/String;)I
move-result v2
invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
new-instance v3, Landroidx/work/impl/model/SystemIdInfo;
invoke-direct {v3, v0, v2}, Landroidx/work/impl/model/SystemIdInfo;-><init>(Ljava/lang/String;I)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_1
:cond_1
const/4 v3, 0x0
:goto_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return-object v3
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public insertSystemIdInfo(Landroidx/work/impl/model/SystemIdInfo;)V
.locals 1
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->beginTransaction()V
:try_start_0
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__insertionAdapterOfSystemIdInfo:Landroidx/room/EntityInsertionAdapter;
invoke-virtual {v0, p1}, Landroidx/room/EntityInsertionAdapter;->insert(Ljava/lang/Object;)V
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
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/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->endTransaction()V
throw p1
.end method
.method public removeSystemIdInfo(Ljava/lang/String;)V
.locals 2
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object v0, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__preparedStmtOfRemoveSystemIdInfo:Landroidx/room/SharedSQLiteStatement;
invoke-virtual {v0}, Landroidx/room/SharedSQLiteStatement;->acquire()Landroidx/sqlite/db/SupportSQLiteStatement;
move-result-object v0
const/4 v1, 0x1
if-nez p1, :cond_0
invoke-interface {v0, v1}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_0
:cond_0
invoke-interface {v0, v1, p1}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->beginTransaction()V
:try_start_0
invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteStatement;->executeUpdateDelete()I
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
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/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__preparedStmtOfRemoveSystemIdInfo:Landroidx/room/SharedSQLiteStatement;
invoke-virtual {p1, v0}, Landroidx/room/SharedSQLiteStatement;->release(Landroidx/sqlite/db/SupportSQLiteStatement;)V
return-void
:catchall_0
move-exception p1
iget-object v1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v1}, Landroidx/room/RoomDatabase;->endTransaction()V
iget-object v1, p0, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->__preparedStmtOfRemoveSystemIdInfo:Landroidx/room/SharedSQLiteStatement;
invoke-virtual {v1, v0}, Landroidx/room/SharedSQLiteStatement;->release(Landroidx/sqlite/db/SupportSQLiteStatement;)V
throw p1
.end method

View file

@ -0,0 +1,80 @@
.class public Landroidx/work/impl/model/WorkName;
.super Ljava/lang/Object;
.source "WorkName.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation build Landroidx/room/Entity;
foreignKeys = {
.subannotation Landroidx/room/ForeignKey;
childColumns = {
"work_spec_id"
}
entity = Landroidx/work/impl/model/WorkSpec;
onDelete = 0x5
onUpdate = 0x5
parentColumns = {
"id"
}
.end subannotation
}
indices = {
.subannotation Landroidx/room/Index;
value = {
"work_spec_id"
}
.end subannotation
}
primaryKeys = {
"name",
"work_spec_id"
}
.end annotation
# instance fields
.field public final name:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/room/ColumnInfo;
name = "name"
.end annotation
.end field
.field public final workSpecId:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/room/ColumnInfo;
name = "work_spec_id"
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/WorkName;->name:Ljava/lang/String;
iput-object p2, p0, Landroidx/work/impl/model/WorkName;->workSpecId:Ljava/lang/String;
return-void
.end method

View file

@ -0,0 +1,33 @@
.class public interface abstract Landroidx/work/impl/model/WorkNameDao;
.super Ljava/lang/Object;
.source "WorkNameDao.java"
# annotations
.annotation build Landroidx/room/Dao;
.end annotation
# virtual methods
.method public abstract getWorkSpecIdsWithName(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT work_spec_id FROM workname WHERE name=:name"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract insert(Landroidx/work/impl/model/WorkName;)V
.annotation build Landroidx/room/Insert;
onConflict = 0x5
.end annotation
.end method

View file

@ -0,0 +1,92 @@
.class public Landroidx/work/impl/model/WorkNameDao_Impl$1;
.super Landroidx/room/EntityInsertionAdapter;
.source "WorkNameDao_Impl.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Landroidx/work/impl/model/WorkNameDao_Impl;-><init>(Landroidx/room/RoomDatabase;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/room/EntityInsertionAdapter<",
"Landroidx/work/impl/model/WorkName;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Landroidx/work/impl/model/WorkNameDao_Impl;
# direct methods
.method public constructor <init>(Landroidx/work/impl/model/WorkNameDao_Impl;Landroidx/room/RoomDatabase;)V
.locals 0
iput-object p1, p0, Landroidx/work/impl/model/WorkNameDao_Impl$1;->this$0:Landroidx/work/impl/model/WorkNameDao_Impl;
invoke-direct {p0, p2}, Landroidx/room/EntityInsertionAdapter;-><init>(Landroidx/room/RoomDatabase;)V
return-void
.end method
# virtual methods
.method public bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/WorkName;)V
.locals 2
iget-object v0, p2, Landroidx/work/impl/model/WorkName;->name:Ljava/lang/String;
const/4 v1, 0x1
if-nez v0, :cond_0
invoke-interface {p1, v1}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_0
:cond_0
invoke-interface {p1, v1, v0}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p2, p2, Landroidx/work/impl/model/WorkName;->workSpecId:Ljava/lang/String;
const/4 v0, 0x2
if-nez p2, :cond_1
invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindNull(I)V
goto :goto_1
:cond_1
invoke-interface {p1, v0, p2}, Landroidx/sqlite/db/SupportSQLiteProgram;->bindString(ILjava/lang/String;)V
:goto_1
return-void
.end method
.method public bridge synthetic bind(Landroidx/sqlite/db/SupportSQLiteStatement;Ljava/lang/Object;)V
.locals 0
check-cast p2, Landroidx/work/impl/model/WorkName;
invoke-virtual {p0, p1, p2}, Landroidx/work/impl/model/WorkNameDao_Impl$1;->bind(Landroidx/sqlite/db/SupportSQLiteStatement;Landroidx/work/impl/model/WorkName;)V
return-void
.end method
.method public createQuery()Ljava/lang/String;
.locals 1
const-string v0, "INSERT OR IGNORE INTO `WorkName`(`name`,`work_spec_id`) VALUES (?,?)"
return-object v0
.end method

View file

@ -0,0 +1,156 @@
.class public final Landroidx/work/impl/model/WorkNameDao_Impl;
.super Ljava/lang/Object;
.source "WorkNameDao_Impl.java"
# interfaces
.implements Landroidx/work/impl/model/WorkNameDao;
# instance fields
.field public final __db:Landroidx/room/RoomDatabase;
.field public final __insertionAdapterOfWorkName:Landroidx/room/EntityInsertionAdapter;
# direct methods
.method public constructor <init>(Landroidx/room/RoomDatabase;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
new-instance v0, Landroidx/work/impl/model/WorkNameDao_Impl$1;
invoke-direct {v0, p0, p1}, Landroidx/work/impl/model/WorkNameDao_Impl$1;-><init>(Landroidx/work/impl/model/WorkNameDao_Impl;Landroidx/room/RoomDatabase;)V
iput-object v0, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__insertionAdapterOfWorkName:Landroidx/room/EntityInsertionAdapter;
return-void
.end method
# virtual methods
.method public getWorkSpecIdsWithName(Ljava/lang/String;)Ljava/util/List;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
const/4 v0, 0x1
const-string v1, "SELECT work_spec_id FROM workname WHERE name=?"
invoke-static {v1, v0}, Landroidx/room/RoomSQLiteQuery;->acquire(Ljava/lang/String;I)Landroidx/room/RoomSQLiteQuery;
move-result-object v1
if-nez p1, :cond_0
invoke-virtual {v1, v0}, Landroidx/room/RoomSQLiteQuery;->bindNull(I)V
goto :goto_0
:cond_0
invoke-virtual {v1, v0, p1}, Landroidx/room/RoomSQLiteQuery;->bindString(ILjava/lang/String;)V
:goto_0
iget-object p1, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object p1, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
const/4 v0, 0x0
invoke-static {p1, v1, v0}, Landroidx/room/util/DBUtil;->query(Landroidx/room/RoomDatabase;Landroidx/sqlite/db/SupportSQLiteQuery;Z)Landroid/database/Cursor;
move-result-object p1
:try_start_0
new-instance v2, Ljava/util/ArrayList;
invoke-interface {p1}, Landroid/database/Cursor;->getCount()I
move-result v3
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
:goto_1
invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {p1, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_1
:cond_1
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
return-object v2
:catchall_0
move-exception v0
invoke-interface {p1}, Landroid/database/Cursor;->close()V
invoke-virtual {v1}, Landroidx/room/RoomSQLiteQuery;->release()V
throw v0
.end method
.method public insert(Landroidx/work/impl/model/WorkName;)V
.locals 1
iget-object v0, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->assertNotSuspendingTransaction()V
iget-object v0, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->beginTransaction()V
:try_start_0
iget-object v0, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__insertionAdapterOfWorkName:Landroidx/room/EntityInsertionAdapter;
invoke-virtual {v0, p1}, Landroidx/room/EntityInsertionAdapter;->insert(Ljava/lang/Object;)V
iget-object p1, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
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/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {p1}, Landroidx/room/RoomDatabase;->endTransaction()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Landroidx/work/impl/model/WorkNameDao_Impl;->__db:Landroidx/room/RoomDatabase;
invoke-virtual {v0}, Landroidx/room/RoomDatabase;->endTransaction()V
throw p1
.end method

View file

@ -0,0 +1,112 @@
.class public final Landroidx/work/impl/model/WorkSpec$1;
.super Ljava/lang/Object;
.source "WorkSpec.java"
# interfaces
.implements Landroidx/arch/core/util/Function;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/model/WorkSpec;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Landroidx/arch/core/util/Function<",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;",
"Ljava/util/List<",
"Landroidx/work/WorkInfo;",
">;>;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
check-cast p1, Ljava/util/List;
invoke-virtual {p0, p1}, Landroidx/work/impl/model/WorkSpec$1;->apply(Ljava/util/List;)Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method public apply(Ljava/util/List;)Ljava/util/List;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;)",
"Ljava/util/List<",
"Landroidx/work/WorkInfo;",
">;"
}
.end annotation
if-nez p1, :cond_0
const/4 p1, 0x0
return-object p1
:cond_0
new-instance v0, Ljava/util/ArrayList;
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
invoke-virtual {v1}, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->toWorkInfo()Landroidx/work/WorkInfo;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-object v0
.end method

View file

@ -0,0 +1,113 @@
.class public Landroidx/work/impl/model/WorkSpec$IdAndState;
.super Ljava/lang/Object;
.source "WorkSpec.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/model/WorkSpec;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "IdAndState"
.end annotation
# instance fields
.field public id:Ljava/lang/String;
.annotation build Landroidx/room/ColumnInfo;
name = "id"
.end annotation
.end field
.field public state:Landroidx/work/WorkInfo$State;
.annotation build Landroidx/room/ColumnInfo;
name = "state"
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 3
if-ne p0, p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 v0, 0x0
if-eqz p1, :cond_3
const-class v1, Landroidx/work/impl/model/WorkSpec$IdAndState;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
if-eq v1, v2, :cond_1
goto :goto_0
:cond_1
check-cast p1, Landroidx/work/impl/model/WorkSpec$IdAndState;
iget-object v1, p0, Landroidx/work/impl/model/WorkSpec$IdAndState;->state:Landroidx/work/WorkInfo$State;
iget-object v2, p1, Landroidx/work/impl/model/WorkSpec$IdAndState;->state:Landroidx/work/WorkInfo$State;
if-eq v1, v2, :cond_2
return v0
:cond_2
iget-object v0, p0, Landroidx/work/impl/model/WorkSpec$IdAndState;->id:Ljava/lang/String;
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec$IdAndState;->id:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_3
:goto_0
return v0
.end method
.method public hashCode()I
.locals 2
iget-object v0, p0, Landroidx/work/impl/model/WorkSpec$IdAndState;->id:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Landroidx/work/impl/model/WorkSpec$IdAndState;->state:Landroidx/work/WorkInfo$State;
invoke-virtual {v1}, Ljava/lang/Enum;->hashCode()I
move-result v1
add-int/2addr v1, v0
return v1
.end method

View file

@ -0,0 +1,293 @@
.class public Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
.super Ljava/lang/Object;
.source "WorkSpec.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/model/WorkSpec;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "WorkInfoPojo"
.end annotation
# instance fields
.field public id:Ljava/lang/String;
.annotation build Landroidx/room/ColumnInfo;
name = "id"
.end annotation
.end field
.field public output:Landroidx/work/Data;
.annotation build Landroidx/room/ColumnInfo;
name = "output"
.end annotation
.end field
.field public runAttemptCount:I
.annotation build Landroidx/room/ColumnInfo;
name = "run_attempt_count"
.end annotation
.end field
.field public state:Landroidx/work/WorkInfo$State;
.annotation build Landroidx/room/ColumnInfo;
name = "state"
.end annotation
.end field
.field public tags:Ljava/util/List;
.annotation build Landroidx/room/Relation;
entity = Landroidx/work/impl/model/WorkTag;
entityColumn = "work_spec_id"
parentColumn = "id"
projection = {
"tag"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
:cond_0
const/4 v1, 0x0
if-eqz p1, :cond_a
const-class v2, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
if-eq v2, v3, :cond_1
goto :goto_3
:cond_1
check-cast p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
iget v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->runAttemptCount:I
iget v3, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->runAttemptCount:I
if-eq v2, v3, :cond_2
return v1
:cond_2
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->id:Ljava/lang/String;
if-eqz v2, :cond_3
iget-object v3, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->id:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_4
goto :goto_0
:cond_3
iget-object v2, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->id:Ljava/lang/String;
if-eqz v2, :cond_4
:goto_0
return v1
:cond_4
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->state:Landroidx/work/WorkInfo$State;
iget-object v3, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->state:Landroidx/work/WorkInfo$State;
if-eq v2, v3, :cond_5
return v1
:cond_5
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->output:Landroidx/work/Data;
if-eqz v2, :cond_6
iget-object v3, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->output:Landroidx/work/Data;
invoke-virtual {v2, v3}, Landroidx/work/Data;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_7
goto :goto_1
:cond_6
iget-object v2, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->output:Landroidx/work/Data;
if-eqz v2, :cond_7
:goto_1
return v1
:cond_7
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->tags:Ljava/util/List;
iget-object p1, p1, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->tags:Ljava/util/List;
if-eqz v2, :cond_8
invoke-interface {v2, p1}, Ljava/util/List;->equals(Ljava/lang/Object;)Z
move-result v0
goto :goto_2
:cond_8
if-nez p1, :cond_9
goto :goto_2
:cond_9
const/4 v0, 0x0
:goto_2
return v0
:cond_a
:goto_3
return v1
.end method
.method public hashCode()I
.locals 3
iget-object v0, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->id:Ljava/lang/String;
const/4 v1, 0x0
if-eqz v0, :cond_0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
mul-int/lit8 v0, v0, 0x1f
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->state:Landroidx/work/WorkInfo$State;
if-eqz v2, :cond_1
invoke-virtual {v2}, Ljava/lang/Enum;->hashCode()I
move-result v2
goto :goto_1
:cond_1
const/4 v2, 0x0
:goto_1
add-int/2addr v0, v2
mul-int/lit8 v0, v0, 0x1f
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->output:Landroidx/work/Data;
if-eqz v2, :cond_2
invoke-virtual {v2}, Landroidx/work/Data;->hashCode()I
move-result v2
goto :goto_2
:cond_2
const/4 v2, 0x0
:goto_2
add-int/2addr v0, v2
mul-int/lit8 v0, v0, 0x1f
iget v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->runAttemptCount:I
add-int/2addr v0, v2
mul-int/lit8 v0, v0, 0x1f
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->tags:Ljava/util/List;
if-eqz v2, :cond_3
invoke-interface {v2}, Ljava/util/List;->hashCode()I
move-result v1
:cond_3
add-int/2addr v0, v1
return v0
.end method
.method public toWorkInfo()Landroidx/work/WorkInfo;
.locals 7
new-instance v6, Landroidx/work/WorkInfo;
iget-object v0, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->id:Ljava/lang/String;
invoke-static {v0}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
move-result-object v1
iget-object v2, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->state:Landroidx/work/WorkInfo$State;
iget-object v3, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->output:Landroidx/work/Data;
iget-object v4, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->tags:Ljava/util/List;
iget v5, p0, Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;->runAttemptCount:I
move-object v0, v6
invoke-direct/range {v0 .. v5}, Landroidx/work/WorkInfo;-><init>(Ljava/util/UUID;Landroidx/work/WorkInfo$State;Landroidx/work/Data;Ljava/util/List;I)V
return-object v6
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,387 @@
.class public interface abstract Landroidx/work/impl/model/WorkSpecDao;
.super Ljava/lang/Object;
.source "WorkSpecDao.java"
# annotations
.annotation build Landroidx/room/Dao;
.end annotation
# virtual methods
.method public abstract delete(Ljava/lang/String;)V
.annotation build Landroidx/room/Query;
value = "DELETE FROM workspec WHERE id=:id"
.end annotation
.end method
.method public abstract getAllUnfinishedWork()Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id FROM workspec WHERE state NOT IN (2, 3, 5)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getAllWorkSpecIds()Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id FROM workspec"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getEligibleWorkForScheduling(I)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT * FROM workspec WHERE state=0 AND schedule_requested_at=-1 LIMIT (SELECT MAX(:schedulerLimit-COUNT(*), 0) FROM workspec WHERE schedule_requested_at<>-1 AND state NOT IN (2, 3, 5))"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;"
}
.end annotation
.end method
.method public abstract getInputsFromPrerequisites(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT output FROM workspec WHERE id IN (SELECT prerequisite_id FROM dependency WHERE work_spec_id=:id)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Landroidx/work/Data;",
">;"
}
.end annotation
.end method
.method public abstract getRunningWork()Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT * FROM workspec WHERE state=1"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;"
}
.end annotation
.end method
.method public abstract getScheduledWork()Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT * FROM workspec WHERE state=0 AND schedule_requested_at<>-1"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec;",
">;"
}
.end annotation
.end method
.method public abstract getState(Ljava/lang/String;)Landroidx/work/WorkInfo$State;
.annotation build Landroidx/room/Query;
value = "SELECT state FROM workspec WHERE id=:id"
.end annotation
.end method
.method public abstract getUnfinishedWorkWithName(Ljava/lang/String;)Ljava/util/List;
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/room/Query;
value = "SELECT id FROM workspec WHERE state NOT IN (2, 3, 5) AND id IN (SELECT work_spec_id FROM workname WHERE name=:name)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getUnfinishedWorkWithTag(Ljava/lang/String;)Ljava/util/List;
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/room/Query;
value = "SELECT id FROM workspec WHERE state NOT IN (2, 3, 5) AND id IN (SELECT work_spec_id FROM worktag WHERE tag=:tag)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getWorkSpec(Ljava/lang/String;)Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/room/Query;
value = "SELECT * FROM workspec WHERE id=:id"
.end annotation
.end method
.method public abstract getWorkSpecIdAndStatesForName(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id, state FROM workspec WHERE id IN (SELECT work_spec_id FROM workname WHERE name=:name)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$IdAndState;",
">;"
}
.end annotation
.end method
.method public abstract getWorkSpecs(Ljava/util/List;)[Landroidx/work/impl/model/WorkSpec;
.annotation build Landroidx/room/Query;
value = "SELECT * FROM workspec WHERE id IN (:ids)"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)[",
"Landroidx/work/impl/model/WorkSpec;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoForId(Ljava/lang/String;)Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id=:id"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.end method
.method public abstract getWorkStatusPojoForIds(Ljava/util/List;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (:ids)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoForName(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM workname WHERE name=:name)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoForTag(Ljava/lang/String;)Ljava/util/List;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM worktag WHERE tag=:tag)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoLiveDataForIds(Ljava/util/List;)Landroidx/lifecycle/LiveData;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (:ids)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Landroidx/lifecycle/LiveData<",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;>;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoLiveDataForName(Ljava/lang/String;)Landroidx/lifecycle/LiveData;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM workname WHERE name=:name)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroidx/lifecycle/LiveData<",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;>;"
}
.end annotation
.end method
.method public abstract getWorkStatusPojoLiveDataForTag(Ljava/lang/String;)Landroidx/lifecycle/LiveData;
.annotation build Landroidx/room/Query;
value = "SELECT id, state, output, run_attempt_count FROM workspec WHERE id IN (SELECT work_spec_id FROM worktag WHERE tag=:tag)"
.end annotation
.annotation build Landroidx/room/Transaction;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroidx/lifecycle/LiveData<",
"Ljava/util/List<",
"Landroidx/work/impl/model/WorkSpec$WorkInfoPojo;",
">;>;"
}
.end annotation
.end method
.method public abstract incrementWorkSpecRunAttemptCount(Ljava/lang/String;)I
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET run_attempt_count=run_attempt_count+1 WHERE id=:id"
.end annotation
.end method
.method public abstract insertWorkSpec(Landroidx/work/impl/model/WorkSpec;)V
.annotation build Landroidx/room/Insert;
onConflict = 0x5
.end annotation
.end method
.method public abstract markWorkSpecScheduled(Ljava/lang/String;J)I
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET schedule_requested_at=:startTime WHERE id=:id"
.end annotation
.end method
.method public abstract pruneFinishedWorkWithZeroDependentsIgnoringKeepForAtLeast()V
.annotation build Landroidx/room/Query;
value = "DELETE FROM workspec WHERE state IN (2, 3, 5) AND (SELECT COUNT(*)=0 FROM dependency WHERE prerequisite_id=id AND work_spec_id NOT IN (SELECT id FROM workspec WHERE state IN (2, 3, 5)))"
.end annotation
.end method
.method public abstract resetScheduledState()I
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET schedule_requested_at=-1 WHERE state NOT IN (2, 3, 5)"
.end annotation
.end method
.method public abstract resetWorkSpecRunAttemptCount(Ljava/lang/String;)I
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET run_attempt_count=0 WHERE id=:id"
.end annotation
.end method
.method public abstract setOutput(Ljava/lang/String;Landroidx/work/Data;)V
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET output=:output WHERE id=:id"
.end annotation
.end method
.method public abstract setPeriodStartTime(Ljava/lang/String;J)V
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET period_start_time=:periodStartTime WHERE id=:id"
.end annotation
.end method
.method public varargs abstract setState(Landroidx/work/WorkInfo$State;[Ljava/lang/String;)I
.annotation build Landroidx/room/Query;
value = "UPDATE workspec SET state=:state WHERE id IN (:ids)"
.end annotation
.end method

Some files were not shown because too many files have changed in this diff Show more