JobManager.smali
.class public final Lcom/evernote/android/job/JobManager;
.super Ljava/lang/Object;
# static fields
.field private static final f:Lcom/evernote/android/job/util/JobCat;
.field private static volatile g:Lcom/evernote/android/job/JobManager;
.annotation build Landroid/annotation/SuppressLint;
value = {
"StaticFieldLeak"
}
.end annotation
.end field
# instance fields
.field private final a:Landroid/content/Context;
.field private final b:Lcom/evernote/android/job/JobCreatorHolder;
.field private final c:Lcom/evernote/android/job/JobExecutor;
.field private volatile d:Lcom/evernote/android/job/JobStorage;
.field private final e:Ljava/util/concurrent/CountDownLatch;
# direct methods
.method static constructor <clinit>()V
.registers 2
new-instance v0, Lcom/evernote/android/job/util/JobCat;
const-string v1, "JobManager"
invoke-direct {v0, v1}, Lcom/evernote/android/job/util/JobCat;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
new-instance v0, Lcom/evernote/android/job/JobCreatorHolder;
invoke-direct {v0}, Lcom/evernote/android/job/JobCreatorHolder;-><init>()V
iput-object v0, p0, Lcom/evernote/android/job/JobManager;->b:Lcom/evernote/android/job/JobCreatorHolder;
new-instance v0, Lcom/evernote/android/job/JobExecutor;
invoke-direct {v0}, Lcom/evernote/android/job/JobExecutor;-><init>()V
iput-object v0, p0, Lcom/evernote/android/job/JobManager;->c:Lcom/evernote/android/job/JobExecutor;
invoke-static {}, Lcom/evernote/android/job/JobConfig;->j()Z
move-result v0
if-nez v0, :cond_1e
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-static {v0}, Lcom/evernote/android/job/JobRescheduleService;->k(Landroid/content/Context;)V
:cond_1e
new-instance v0, Ljava/util/concurrent/CountDownLatch;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v0, p0, Lcom/evernote/android/job/JobManager;->e:Ljava/util/concurrent/CountDownLatch;
new-instance v0, Lcom/evernote/android/job/JobManager$1;
const-string v1, "AndroidJob-storage-init"
invoke-direct {v0, p0, v1, p1}, Lcom/evernote/android/job/JobManager$1;-><init>(Lcom/evernote/android/job/JobManager;Ljava/lang/String;Landroid/content/Context;)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
return-void
.end method
.method static synthetic a(Lcom/evernote/android/job/JobManager;Lcom/evernote/android/job/JobStorage;)Lcom/evernote/android/job/JobStorage;
.registers 2
iput-object p1, p0, Lcom/evernote/android/job/JobManager;->d:Lcom/evernote/android/job/JobStorage;
return-object p1
.end method
.method static synthetic b(Lcom/evernote/android/job/JobManager;)Ljava/util/concurrent/CountDownLatch;
.registers 1
iget-object p0, p0, Lcom/evernote/android/job/JobManager;->e:Ljava/util/concurrent/CountDownLatch;
return-object p0
.end method
.method private declared-synchronized f(Ljava/lang/String;)I
.registers 5
monitor-enter p0
const/4 v0, 0x0
const/4 v1, 0x1
:try_start_3
invoke-virtual {p0, p1, v1, v0}, Lcom/evernote/android/job/JobManager;->k(Ljava/lang/String;ZZ)Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_b
:goto_b
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_20
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/evernote/android/job/JobRequest;
invoke-direct {p0, v2}, Lcom/evernote/android/job/JobManager;->h(Lcom/evernote/android/job/JobRequest;)Z
move-result v2
if-eqz v2, :cond_b
add-int/lit8 v0, v0, 0x1
goto :goto_b
:cond_20
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_2b
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->m()Ljava/util/Set;
move-result-object p1
goto :goto_2f
:cond_2b
invoke-virtual {p0, p1}, Lcom/evernote/android/job/JobManager;->n(Ljava/lang/String;)Ljava/util/Set;
move-result-object p1
:goto_2f
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_33
:goto_33
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_48
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/evernote/android/job/Job;
invoke-direct {p0, v1}, Lcom/evernote/android/job/JobManager;->g(Lcom/evernote/android/job/Job;)Z
move-result v1
:try_end_43
.catchall {:try_start_3 .. :try_end_43} :catchall_4a
if-eqz v1, :cond_33
add-int/lit8 v0, v0, 0x1
goto :goto_33
:cond_48
monitor-exit p0
return v0
:catchall_4a
move-exception p1
monitor-exit p0
throw p1
.end method
.method private g(Lcom/evernote/android/job/Job;)Z
.registers 6
const/4 v0, 0x0
if-eqz p1, :cond_16
const/4 v1, 0x1
invoke-virtual {p1, v1}, Lcom/evernote/android/job/Job;->b(Z)Z
move-result v2
if-eqz v2, :cond_16
sget-object v2, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
new-array v3, v1, [Ljava/lang/Object;
aput-object p1, v3, v0
const-string p1, "Cancel running %s"
invoke-virtual {v2, p1, v3}, Lcom/evernote/android/job/util/JobCat;->i(Ljava/lang/String;[Ljava/lang/Object;)V
return v1
:cond_16
return v0
.end method
.method private h(Lcom/evernote/android/job/JobRequest;)Z
.registers 6
const/4 v0, 0x0
if-eqz p1, :cond_2b
sget-object v1, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Object;
aput-object p1, v3, v0
const-string v0, "Found pending job %s, canceling"
invoke-virtual {v1, v0, v3}, Lcom/evernote/android/job/util/JobCat;->i(Ljava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->m()Lcom/evernote/android/job/JobApi;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/evernote/android/job/JobManager;->s(Lcom/evernote/android/job/JobApi;)Lcom/evernote/android/job/JobProxy;
move-result-object v0
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->n()I
move-result v1
invoke-interface {v0, v1}, Lcom/evernote/android/job/JobProxy;->c(I)V
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
const-wide/16 v0, 0x0
invoke-virtual {p1, v0, v1}, Lcom/evernote/android/job/JobRequest;->M(J)V
return v2
:cond_2b
return v0
.end method
.method public static i(Landroid/content/Context;)Lcom/evernote/android/job/JobManager;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/evernote/android/job/JobManagerCreateException;
}
.end annotation
sget-object v0, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
if-nez v0, :cond_5a
const-class v0, Lcom/evernote/android/job/JobManager;
monitor-enter v0
:try_start_7
sget-object v1, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
if-nez v1, :cond_55
const-string v1, "Context cannot be null"
invoke-static {p0, v1}, Lcom/evernote/android/job/util/JobPreconditions;->g(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v1
if-eqz v1, :cond_1a
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
:cond_1a
invoke-static {p0}, Lcom/evernote/android/job/JobApi;->g(Landroid/content/Context;)Lcom/evernote/android/job/JobApi;
move-result-object v1
sget-object v2, Lcom/evernote/android/job/JobApi;->n:Lcom/evernote/android/job/JobApi;
if-ne v1, v2, :cond_31
invoke-virtual {v1, p0}, Lcom/evernote/android/job/JobApi;->s(Landroid/content/Context;)Z
move-result v1
if-eqz v1, :cond_29
goto :goto_31
:cond_29
new-instance p0, Lcom/evernote/android/job/JobManagerCreateException;
const-string v1, "All APIs are disabled, cannot schedule any job"
invoke-direct {p0, v1}, Lcom/evernote/android/job/JobManagerCreateException;-><init>(Ljava/lang/String;)V
throw p0
:cond_31
:goto_31
new-instance v1, Lcom/evernote/android/job/JobManager;
invoke-direct {v1, p0}, Lcom/evernote/android/job/JobManager;-><init>(Landroid/content/Context;)V
sput-object v1, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
invoke-static {p0}, Lcom/evernote/android/job/util/JobUtil;->c(Landroid/content/Context;)Z
move-result v1
if-nez v1, :cond_45
sget-object v1, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
const-string v2, "No wake lock permission"
invoke-virtual {v1, v2}, Lcom/evernote/android/job/util/JobCat;->k(Ljava/lang/String;)V
:cond_45
invoke-static {p0}, Lcom/evernote/android/job/util/JobUtil;->a(Landroid/content/Context;)Z
move-result v1
if-nez v1, :cond_52
sget-object v1, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
const-string v2, "No boot permission"
invoke-virtual {v1, v2}, Lcom/evernote/android/job/util/JobCat;->k(Ljava/lang/String;)V
:cond_52
invoke-static {p0}, Lcom/evernote/android/job/JobManager;->z(Landroid/content/Context;)V
:cond_55
monitor-exit v0
goto :goto_5a
:catchall_57
move-exception p0
monitor-exit v0
:try_end_59
.catchall {:try_start_7 .. :try_end_59} :catchall_57
throw p0
:cond_5a
:goto_5a
sget-object p0, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
return-object p0
.end method
.method public static w()Lcom/evernote/android/job/JobManager;
.registers 3
sget-object v0, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
if-nez v0, :cond_18
const-class v0, Lcom/evernote/android/job/JobManager;
monitor-enter v0
:try_start_7
sget-object v1, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
if-eqz v1, :cond_d
monitor-exit v0
goto :goto_18
:cond_d
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "You need to call create() at least once to create the singleton"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
:catchall_15
move-exception v1
monitor-exit v0
:try_end_17
.catchall {:try_start_7 .. :try_end_17} :catchall_15
throw v1
:cond_18
:goto_18
sget-object v0, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
return-object v0
.end method
.method private y(Lcom/evernote/android/job/JobRequest;Lcom/evernote/android/job/JobApi;ZZ)V
.registers 5
invoke-virtual {p0, p2}, Lcom/evernote/android/job/JobManager;->s(Lcom/evernote/android/job/JobApi;)Lcom/evernote/android/job/JobProxy;
move-result-object p2
if-eqz p3, :cond_10
if-eqz p4, :cond_c
invoke-interface {p2, p1}, Lcom/evernote/android/job/JobProxy;->d(Lcom/evernote/android/job/JobRequest;)V
goto :goto_13
:cond_c
invoke-interface {p2, p1}, Lcom/evernote/android/job/JobProxy;->b(Lcom/evernote/android/job/JobRequest;)V
goto :goto_13
:cond_10
invoke-interface {p2, p1}, Lcom/evernote/android/job/JobProxy;->e(Lcom/evernote/android/job/JobRequest;)V
:goto_13
return-void
.end method
.method private static z(Landroid/content/Context;)V
.registers 5
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
new-instance v1, Landroid/content/Intent;
const-string v2, "com.evernote.android.job.ADD_JOB_CREATOR"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
:try_start_e
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
const/4 v3, 0x0
invoke-virtual {v2, v1, v3}, Landroid/content/pm/PackageManager;->queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;
move-result-object v1
:try_end_17
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_17} :catch_18
goto :goto_1c
:catch_18
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v1
:goto_1c
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_20
:goto_20
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_59
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/content/pm/ResolveInfo;
iget-object v2, v2, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;
if-eqz v2, :cond_20
iget-boolean v3, v2, Landroid/content/pm/ActivityInfo;->exported:Z
if-nez v3, :cond_20
iget-object v3, v2, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_20
iget-object v3, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_45
goto :goto_20
:cond_45
:try_start_45
iget-object v2, v2, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String;
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/evernote/android/job/JobCreator$AddJobCreatorReceiver;
sget-object v3, Lcom/evernote/android/job/JobManager;->g:Lcom/evernote/android/job/JobManager;
invoke-virtual {v2, p0, v3}, Lcom/evernote/android/job/JobCreator$AddJobCreatorReceiver;->a(Landroid/content/Context;Lcom/evernote/android/job/JobManager;)V
:try_end_56
.catch Ljava/lang/Exception; {:try_start_45 .. :try_end_56} :catch_57
goto :goto_20
:catch_57
nop
goto :goto_20
:cond_59
return-void
.end method
# virtual methods
.method public c(Lcom/evernote/android/job/JobCreator;)V
.registers 3
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->b:Lcom/evernote/android/job/JobCreatorHolder;
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobCreatorHolder;->a(Lcom/evernote/android/job/JobCreator;)V
return-void
.end method
.method public d(I)Z
.registers 4
const/4 v0, 0x1
invoke-virtual {p0, p1, v0}, Lcom/evernote/android/job/JobManager;->u(IZ)Lcom/evernote/android/job/JobRequest;
move-result-object v0
invoke-direct {p0, v0}, Lcom/evernote/android/job/JobManager;->h(Lcom/evernote/android/job/JobRequest;)Z
move-result v0
invoke-virtual {p0, p1}, Lcom/evernote/android/job/JobManager;->p(I)Lcom/evernote/android/job/Job;
move-result-object v1
invoke-direct {p0, v1}, Lcom/evernote/android/job/JobManager;->g(Lcom/evernote/android/job/Job;)Z
move-result v1
or-int/2addr v0, v1
iget-object v1, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-static {v1, p1}, Lcom/evernote/android/job/JobProxy$Common;->d(Landroid/content/Context;I)V
return v0
.end method
.method public e(Ljava/lang/String;)I
.registers 2
invoke-direct {p0, p1}, Lcom/evernote/android/job/JobManager;->f(Ljava/lang/String;)I
move-result p1
return p1
.end method
.method public j()Ljava/util/Set;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Lcom/evernote/android/job/JobRequest;",
">;"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {p0, v0, v1, v2}, Lcom/evernote/android/job/JobManager;->k(Ljava/lang/String;ZZ)Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method k(Ljava/lang/String;ZZ)Ljava/util/Set;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"ZZ)",
"Ljava/util/Set<",
"Lcom/evernote/android/job/JobRequest;",
">;"
}
.end annotation
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/evernote/android/job/JobStorage;->j(Ljava/lang/String;Z)Ljava/util/Set;
move-result-object p1
if-eqz p3, :cond_3b
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p2
:cond_e
:goto_e
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result p3
if-eqz p3, :cond_3b
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p3
check-cast p3, Lcom/evernote/android/job/JobRequest;
invoke-virtual {p3}, Lcom/evernote/android/job/JobRequest;->A()Z
move-result v0
if-eqz v0, :cond_e
invoke-virtual {p3}, Lcom/evernote/android/job/JobRequest;->m()Lcom/evernote/android/job/JobApi;
move-result-object v0
iget-object v1, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-virtual {v0, v1}, Lcom/evernote/android/job/JobApi;->j(Landroid/content/Context;)Lcom/evernote/android/job/JobProxy;
move-result-object v0
invoke-interface {v0, p3}, Lcom/evernote/android/job/JobProxy;->a(Lcom/evernote/android/job/JobRequest;)Z
move-result v0
if-nez v0, :cond_e
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p3}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
invoke-interface {p2}, Ljava/util/Iterator;->remove()V
goto :goto_e
:cond_3b
return-object p1
.end method
.method public l(Ljava/lang/String;)Ljava/util/Set;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Set<",
"Lcom/evernote/android/job/JobRequest;",
">;"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x1
invoke-virtual {p0, p1, v0, v1}, Lcom/evernote/android/job/JobManager;->k(Ljava/lang/String;ZZ)Ljava/util/Set;
move-result-object p1
return-object p1
.end method
.method public m()Ljava/util/Set;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Lcom/evernote/android/job/Job;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->c:Lcom/evernote/android/job/JobExecutor;
invoke-virtual {v0}, Lcom/evernote/android/job/JobExecutor;->e()Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method public n(Ljava/lang/String;)Ljava/util/Set;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Set<",
"Lcom/evernote/android/job/Job;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->c:Lcom/evernote/android/job/JobExecutor;
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobExecutor;->f(Ljava/lang/String;)Ljava/util/Set;
move-result-object p1
return-object p1
.end method
.method o()Landroid/content/Context;
.registers 2
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
return-object v0
.end method
.method public p(I)Lcom/evernote/android/job/Job;
.registers 3
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->c:Lcom/evernote/android/job/JobExecutor;
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobExecutor;->g(I)Lcom/evernote/android/job/Job;
move-result-object p1
return-object p1
.end method
.method q()Lcom/evernote/android/job/JobCreatorHolder;
.registers 2
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->b:Lcom/evernote/android/job/JobCreatorHolder;
return-object v0
.end method
.method r()Lcom/evernote/android/job/JobExecutor;
.registers 2
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->c:Lcom/evernote/android/job/JobExecutor;
return-object v0
.end method
.method s(Lcom/evernote/android/job/JobApi;)Lcom/evernote/android/job/JobProxy;
.registers 3
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-virtual {p1, v0}, Lcom/evernote/android/job/JobApi;->j(Landroid/content/Context;)Lcom/evernote/android/job/JobProxy;
move-result-object p1
return-object p1
.end method
.method public t(I)Lcom/evernote/android/job/JobRequest;
.registers 4
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/evernote/android/job/JobManager;->u(IZ)Lcom/evernote/android/job/JobRequest;
move-result-object p1
if-eqz p1, :cond_25
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->A()Z
move-result v0
if-eqz v0, :cond_25
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->m()Lcom/evernote/android/job/JobApi;
move-result-object v0
iget-object v1, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-virtual {v0, v1}, Lcom/evernote/android/job/JobApi;->j(Landroid/content/Context;)Lcom/evernote/android/job/JobProxy;
move-result-object v0
invoke-interface {v0, p1}, Lcom/evernote/android/job/JobProxy;->a(Lcom/evernote/android/job/JobRequest;)Z
move-result v0
if-nez v0, :cond_25
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
const/4 p1, 0x0
:cond_25
return-object p1
.end method
.method u(IZ)Lcom/evernote/android/job/JobRequest;
.registers 4
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobStorage;->i(I)Lcom/evernote/android/job/JobRequest;
move-result-object p1
if-nez p2, :cond_13
if-eqz p1, :cond_13
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->z()Z
move-result p2
if-eqz p2, :cond_13
const/4 p1, 0x0
:cond_13
return-object p1
.end method
.method v()Lcom/evernote/android/job/JobStorage;
.registers 5
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->d:Lcom/evernote/android/job/JobStorage;
if-nez v0, :cond_15
:try_start_4
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->e:Ljava/util/concurrent/CountDownLatch;
const-wide/16 v1, 0x14
sget-object v3, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, v2, v3}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
:try_end_d
.catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_d} :catch_e
goto :goto_15
:catch_e
move-exception v0
new-instance v1, Ljava/lang/RuntimeException;
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v1
:cond_15
:goto_15
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->d:Lcom/evernote/android/job/JobStorage;
if-eqz v0, :cond_1c
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->d:Lcom/evernote/android/job/JobStorage;
return-object v0
:cond_1c
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Job storage shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public declared-synchronized x(Lcom/evernote/android/job/JobRequest;)V
.registers 9
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->b:Lcom/evernote/android/job/JobCreatorHolder;
invoke-virtual {v0}, Lcom/evernote/android/job/JobCreatorHolder;->c()Z
move-result v0
if-eqz v0, :cond_10
sget-object v0, Lcom/evernote/android/job/JobManager;->f:Lcom/evernote/android/job/util/JobCat;
const-string v1, "you haven\'t registered a JobCreator with addJobCreator(), it\'s likely that your job never will be executed"
invoke-virtual {v0, v1}, Lcom/evernote/android/job/util/JobCat;->k(Ljava/lang/String;)V
:cond_10
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->r()J
move-result-wide v0
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_aa
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-lez v4, :cond_1c
monitor-exit p0
return-void
:cond_1c
:try_start_1c
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->B()Z
move-result v0
if-eqz v0, :cond_29
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->t()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/evernote/android/job/JobManager;->e(Ljava/lang/String;)I
:cond_29
iget-object v0, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->n()I
move-result v1
invoke-static {v0, v1}, Lcom/evernote/android/job/JobProxy$Common;->d(Landroid/content/Context;I)V
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->m()Lcom/evernote/android/job/JobApi;
move-result-object v0
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->y()Z
move-result v1
if-eqz v1, :cond_50
invoke-virtual {v0}, Lcom/evernote/android/job/JobApi;->o()Z
move-result v2
if-eqz v2, :cond_50
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->k()J
move-result-wide v2
invoke-virtual {p1}, Lcom/evernote/android/job/JobRequest;->l()J
move-result-wide v4
cmp-long v6, v2, v4
if-gez v6, :cond_50
const/4 v2, 0x1
goto :goto_51
:cond_50
const/4 v2, 0x0
:goto_51
invoke-static {}, Lcom/evernote/android/job/JobConfig;->a()Lcom/evernote/android/job/util/Clock;
move-result-object v3
invoke-interface {v3}, Lcom/evernote/android/job/util/Clock;->b()J
move-result-wide v3
invoke-virtual {p1, v3, v4}, Lcom/evernote/android/job/JobRequest;->M(J)V
invoke-virtual {p1, v2}, Lcom/evernote/android/job/JobRequest;->L(Z)V
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v3
invoke-virtual {v3, p1}, Lcom/evernote/android/job/JobStorage;->o(Lcom/evernote/android/job/JobRequest;)V
:try_end_66
.catchall {:try_start_1c .. :try_end_66} :catchall_aa
:try_start_66
invoke-direct {p0, p1, v0, v1, v2}, Lcom/evernote/android/job/JobManager;->y(Lcom/evernote/android/job/JobRequest;Lcom/evernote/android/job/JobApi;ZZ)V
:try_end_69
.catch Lcom/evernote/android/job/JobProxyIllegalStateException; {:try_start_66 .. :try_end_69} :catch_74
.catch Ljava/lang/Exception; {:try_start_66 .. :try_end_69} :catch_6b
.catchall {:try_start_66 .. :try_end_69} :catchall_aa
monitor-exit p0
return-void
:catch_6b
move-exception v0
:try_start_6c
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v1
invoke-virtual {v1, p1}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
throw v0
:try_end_74
.catchall {:try_start_6c .. :try_end_74} :catchall_aa
:catch_74
:try_start_74
invoke-virtual {v0}, Lcom/evernote/android/job/JobApi;->k()V
invoke-direct {p0, p1, v0, v1, v2}, Lcom/evernote/android/job/JobManager;->y(Lcom/evernote/android/job/JobRequest;Lcom/evernote/android/job/JobApi;ZZ)V
:try_end_7a
.catch Ljava/lang/Exception; {:try_start_74 .. :try_end_7a} :catch_7c
.catchall {:try_start_74 .. :try_end_7a} :catchall_aa
monitor-exit p0
return-void
:catch_7c
move-exception v3
:try_start_7d
sget-object v4, Lcom/evernote/android/job/JobApi;->n:Lcom/evernote/android/job/JobApi;
if-eq v0, v4, :cond_a2
sget-object v4, Lcom/evernote/android/job/JobApi;->m:Lcom/evernote/android/job/JobApi;
if-eq v0, v4, :cond_a2
sget-object v0, Lcom/evernote/android/job/JobApi;->m:Lcom/evernote/android/job/JobApi;
iget-object v3, p0, Lcom/evernote/android/job/JobManager;->a:Landroid/content/Context;
invoke-virtual {v0, v3}, Lcom/evernote/android/job/JobApi;->s(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_92
sget-object v0, Lcom/evernote/android/job/JobApi;->m:Lcom/evernote/android/job/JobApi;
goto :goto_94
:cond_92
sget-object v0, Lcom/evernote/android/job/JobApi;->n:Lcom/evernote/android/job/JobApi;
:try_end_94
.catchall {:try_start_7d .. :try_end_94} :catchall_aa
:goto_94
:try_start_94
invoke-direct {p0, p1, v0, v1, v2}, Lcom/evernote/android/job/JobManager;->y(Lcom/evernote/android/job/JobRequest;Lcom/evernote/android/job/JobApi;ZZ)V
:try_end_97
.catch Ljava/lang/Exception; {:try_start_94 .. :try_end_97} :catch_99
.catchall {:try_start_94 .. :try_end_97} :catchall_aa
monitor-exit p0
return-void
:catch_99
move-exception v0
:try_start_9a
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v1
invoke-virtual {v1, p1}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
throw v0
:cond_a2
invoke-virtual {p0}, Lcom/evernote/android/job/JobManager;->v()Lcom/evernote/android/job/JobStorage;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/evernote/android/job/JobStorage;->p(Lcom/evernote/android/job/JobRequest;)V
throw v3
:try_end_aa
.catchall {:try_start_9a .. :try_end_aa} :catchall_aa
:catchall_aa
move-exception p1
monitor-exit p0
throw p1
.end method