JobExecutor$JobCallable.smali

.class final Lcom/evernote/android/job/JobExecutor$JobCallable;
.super Ljava/lang/Object;

# interfaces
.implements Ljava/util/concurrent/Callable;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/evernote/android/job/JobExecutor;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x12
    name = "JobCallable"
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Ljava/util/concurrent/Callable<",
        "Lcom/evernote/android/job/Job$Result;",
        ">;"
    }
.end annotation


# instance fields
.field private final f:Lcom/evernote/android/job/Job;

.field private final g:Landroid/os/PowerManager$WakeLock;

.field final synthetic h:Lcom/evernote/android/job/JobExecutor;


# direct methods
.method private constructor <init>(Lcom/evernote/android/job/JobExecutor;Lcom/evernote/android/job/Job;)V
    .registers 5

    iput-object p1, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->h:Lcom/evernote/android/job/JobExecutor;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput-object p2, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {p2}, Lcom/evernote/android/job/Job;->c()Landroid/content/Context;

    move-result-object p1

    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->a()J

    move-result-wide v0

    const-string p2, "JobExecutor"

    invoke-static {p1, p2, v0, v1}, Lcom/evernote/android/job/WakeLockUtil;->a(Landroid/content/Context;Ljava/lang/String;J)Landroid/os/PowerManager$WakeLock;

    move-result-object p1

    iput-object p1, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    return-void
.end method

.method synthetic constructor <init>(Lcom/evernote/android/job/JobExecutor;Lcom/evernote/android/job/Job;Lcom/evernote/android/job/JobExecutor$1;)V
    .registers 4

    invoke-direct {p0, p1, p2}, Lcom/evernote/android/job/JobExecutor$JobCallable;-><init>(Lcom/evernote/android/job/JobExecutor;Lcom/evernote/android/job/Job;)V

    return-void
.end method

.method private b(Lcom/evernote/android/job/Job;Lcom/evernote/android/job/Job$Result;)V
    .registers 7

    iget-object v0, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v0}, Lcom/evernote/android/job/Job;->e()Lcom/evernote/android/job/Job$Params;

    move-result-object v0

    invoke-virtual {v0}, Lcom/evernote/android/job/Job$Params;->d()Lcom/evernote/android/job/JobRequest;

    move-result-object v0

    invoke-virtual {v0}, Lcom/evernote/android/job/JobRequest;->y()Z

    move-result v1

    const/4 v2, 0x0

    const/4 v3, 0x1

    if-nez v1, :cond_2e

    sget-object v1, Lcom/evernote/android/job/Job$Result;->h:Lcom/evernote/android/job/Job$Result;

    invoke-virtual {v1, p2}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_2e

    invoke-virtual {p1}, Lcom/evernote/android/job/Job;->g()Z

    move-result v1

    if-nez v1, :cond_2e

    invoke-virtual {v0, v3, v3}, Lcom/evernote/android/job/JobRequest;->I(ZZ)Lcom/evernote/android/job/JobRequest;

    move-result-object v0

    iget-object p2, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v0}, Lcom/evernote/android/job/JobRequest;->n()I

    move-result v1

    invoke-virtual {p2, v1}, Lcom/evernote/android/job/Job;->p(I)V

    goto :goto_3f

    :cond_2e
    invoke-virtual {v0}, Lcom/evernote/android/job/JobRequest;->y()Z

    move-result v1

    if-eqz v1, :cond_3e

    sget-object v1, Lcom/evernote/android/job/Job$Result;->f:Lcom/evernote/android/job/Job$Result;

    invoke-virtual {v1, p2}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-nez p2, :cond_3f

    const/4 v2, 0x1

    goto :goto_3f

    :cond_3e
    const/4 v3, 0x0

    :cond_3f
    :goto_3f
    invoke-virtual {p1}, Lcom/evernote/android/job/Job;->g()Z

    move-result p1

    if-nez p1, :cond_4c

    if-nez v2, :cond_49

    if-eqz v3, :cond_4c

    :cond_49
    invoke-virtual {v0, v2, v3}, Lcom/evernote/android/job/JobRequest;->P(ZZ)V

    :cond_4c
    return-void
.end method

.method private c()Lcom/evernote/android/job/Job$Result;
    .registers 8

    const/4 v0, 0x0

    const/4 v1, 0x1

    :try_start_2
    iget-object v2, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v2}, Lcom/evernote/android/job/Job;->r()Lcom/evernote/android/job/Job$Result;

    move-result-object v2

    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->b()Lcom/evernote/android/job/util/JobCat;

    move-result-object v3

    const-string v4, "Finished %s"

    new-array v5, v1, [Ljava/lang/Object;

    iget-object v6, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    aput-object v6, v5, v0

    invoke-virtual {v3, v4, v5}, Lcom/evernote/android/job/util/JobCat;->i(Ljava/lang/String;[Ljava/lang/Object;)V

    iget-object v3, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-direct {p0, v3, v2}, Lcom/evernote/android/job/JobExecutor$JobCallable;->b(Lcom/evernote/android/job/Job;Lcom/evernote/android/job/Job$Result;)V
    :try_end_1c
    .catchall {:try_start_2 .. :try_end_1c} :catchall_1d

    goto :goto_33

    :catchall_1d
    move-exception v2

    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->b()Lcom/evernote/android/job/util/JobCat;

    move-result-object v3

    new-array v1, v1, [Ljava/lang/Object;

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    aput-object v4, v1, v0

    const-string v0, "Crashed %s"

    invoke-virtual {v3, v2, v0, v1}, Lcom/evernote/android/job/util/JobCat;->g(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V

    iget-object v0, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v0}, Lcom/evernote/android/job/Job;->f()Lcom/evernote/android/job/Job$Result;

    move-result-object v2

    :goto_33
    return-object v2
.end method


# virtual methods
.method public a()Lcom/evernote/android/job/Job$Result;
    .registers 8
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    const-string v0, "Wake lock was not held after job %s was done. The job took too long to complete. This could have unintended side effects on your app."

    const/4 v1, 0x0

    const/4 v2, 0x1

    :try_start_4
    iget-object v3, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v3}, Lcom/evernote/android/job/Job;->c()Landroid/content/Context;

    move-result-object v3

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->a()J

    move-result-wide v5

    invoke-static {v3, v4, v5, v6}, Lcom/evernote/android/job/WakeLockUtil;->b(Landroid/content/Context;Landroid/os/PowerManager$WakeLock;J)Z

    invoke-direct {p0}, Lcom/evernote/android/job/JobExecutor$JobCallable;->c()Lcom/evernote/android/job/Job$Result;

    move-result-object v3
    :try_end_17
    .catchall {:try_start_4 .. :try_end_17} :catchall_3b

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->h:Lcom/evernote/android/job/JobExecutor;

    iget-object v5, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v4, v5}, Lcom/evernote/android/job/JobExecutor;->i(Lcom/evernote/android/job/Job;)V

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    if-eqz v4, :cond_28

    invoke-virtual {v4}, Landroid/os/PowerManager$WakeLock;->isHeld()Z

    move-result v4

    if-nez v4, :cond_35

    :cond_28
    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->b()Lcom/evernote/android/job/util/JobCat;

    move-result-object v4

    new-array v2, v2, [Ljava/lang/Object;

    iget-object v5, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    aput-object v5, v2, v1

    invoke-virtual {v4, v0, v2}, Lcom/evernote/android/job/util/JobCat;->l(Ljava/lang/String;[Ljava/lang/Object;)V

    :cond_35
    iget-object v0, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    invoke-static {v0}, Lcom/evernote/android/job/WakeLockUtil;->d(Landroid/os/PowerManager$WakeLock;)V

    return-object v3

    :catchall_3b
    move-exception v3

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->h:Lcom/evernote/android/job/JobExecutor;

    iget-object v5, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    invoke-virtual {v4, v5}, Lcom/evernote/android/job/JobExecutor;->i(Lcom/evernote/android/job/Job;)V

    iget-object v4, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    if-eqz v4, :cond_4d

    invoke-virtual {v4}, Landroid/os/PowerManager$WakeLock;->isHeld()Z

    move-result v4

    if-nez v4, :cond_5a

    :cond_4d
    invoke-static {}, Lcom/evernote/android/job/JobExecutor;->b()Lcom/evernote/android/job/util/JobCat;

    move-result-object v4

    new-array v2, v2, [Ljava/lang/Object;

    iget-object v5, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->f:Lcom/evernote/android/job/Job;

    aput-object v5, v2, v1

    invoke-virtual {v4, v0, v2}, Lcom/evernote/android/job/util/JobCat;->l(Ljava/lang/String;[Ljava/lang/Object;)V

    :cond_5a
    iget-object v0, p0, Lcom/evernote/android/job/JobExecutor$JobCallable;->g:Landroid/os/PowerManager$WakeLock;

    invoke-static {v0}, Lcom/evernote/android/job/WakeLockUtil;->d(Landroid/os/PowerManager$WakeLock;)V

    throw v3
.end method

.method public bridge synthetic call()Ljava/lang/Object;
    .registers 2
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    invoke-virtual {p0}, Lcom/evernote/android/job/JobExecutor$JobCallable;->a()Lcom/evernote/android/job/Job$Result;

    move-result-object v0

    return-object v0
.end method