TPTaskManager.smali

.class public Lcom/tradplus/ads/common/task/TPTaskManager;
.super Ljava/lang/Object;


# static fields
.field public static final TYPE_IMAGE_TYPE:I = 0x5

.field public static final TYPE_NETWORK_REQUEST:I = 0x3

.field public static final TYPE_NORMAL:I = 0x2

.field public static final TYPE_PRELOAD_TASK:I = 0x6

.field public static final TYPE_SINGLE:I = 0x1

.field public static final TYPE_TCP_LOG:I = 0x4

.field private static b:Lcom/tradplus/ads/common/task/TPTaskManager;


# instance fields
.field private final a:I

.field private c:Ljava/util/concurrent/ExecutorService;

.field private d:Ljava/util/concurrent/ExecutorService;

.field private e:Ljava/util/concurrent/ExecutorService;

.field private f:Ljava/util/concurrent/ExecutorService;

.field private g:Ljava/util/concurrent/ExecutorService;

.field private h:Ljava/util/concurrent/ExecutorService;


# direct methods
.method static constructor <clinit>()V
    .registers 0

    return-void
.end method

.method protected constructor <init>()V
    .registers 2

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

    const/4 v0, 0x2

    iput v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->a:I

    const/4 v0, 0x0

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->c:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->d:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->e:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->f:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->g:Ljava/util/concurrent/ExecutorService;

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->h:Ljava/util/concurrent/ExecutorService;

    invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->c:Ljava/util/concurrent/ExecutorService;

    invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->d:Ljava/util/concurrent/ExecutorService;

    invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->e:Ljava/util/concurrent/ExecutorService;

    return-void
.end method

.method public static getInstance()Lcom/tradplus/ads/common/task/TPTaskManager;
    .registers 1

    sget-object v0, Lcom/tradplus/ads/common/task/TPTaskManager;->b:Lcom/tradplus/ads/common/task/TPTaskManager;

    if-nez v0, :cond_b

    new-instance v0, Lcom/tradplus/ads/common/task/TPTaskManager;

    invoke-direct {v0}, Lcom/tradplus/ads/common/task/TPTaskManager;-><init>()V

    sput-object v0, Lcom/tradplus/ads/common/task/TPTaskManager;->b:Lcom/tradplus/ads/common/task/TPTaskManager;

    :cond_b
    sget-object v0, Lcom/tradplus/ads/common/task/TPTaskManager;->b:Lcom/tradplus/ads/common/task/TPTaskManager;

    return-object v0
.end method


# virtual methods
.method public release()V
    .registers 2

    iget-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->d:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->shutdown()V

    iget-object v0, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->c:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->shutdown()V

    return-void
.end method

.method public run(Lcom/tradplus/ads/common/task/TPWorker;)V
    .registers 3

    const/4 v0, 0x2

    invoke-virtual {p0, p1, v0}, Lcom/tradplus/ads/common/task/TPTaskManager;->run(Lcom/tradplus/ads/common/task/TPWorker;I)V

    return-void
.end method

.method public run(Lcom/tradplus/ads/common/task/TPWorker;I)V
    .registers 3

    packed-switch p2, :pswitch_data_38

    goto :goto_37

    :pswitch_4
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->h:Ljava/util/concurrent/ExecutorService;

    if-nez p2, :cond_e

    invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;

    move-result-object p2

    iput-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->h:Ljava/util/concurrent/ExecutorService;

    :cond_e
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->h:Ljava/util/concurrent/ExecutorService;

    goto :goto_34

    :pswitch_11
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->g:Ljava/util/concurrent/ExecutorService;

    if-nez p2, :cond_1c

    const/4 p2, 0x2

    invoke-static {p2}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;

    move-result-object p2

    iput-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->g:Ljava/util/concurrent/ExecutorService;

    :cond_1c
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->g:Ljava/util/concurrent/ExecutorService;

    goto :goto_34

    :pswitch_1f
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->f:Ljava/util/concurrent/ExecutorService;

    if-nez p2, :cond_29

    invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;

    move-result-object p2

    iput-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->f:Ljava/util/concurrent/ExecutorService;

    :cond_29
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->f:Ljava/util/concurrent/ExecutorService;

    goto :goto_34

    :pswitch_2c
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->e:Ljava/util/concurrent/ExecutorService;

    goto :goto_34

    :pswitch_2f
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->c:Ljava/util/concurrent/ExecutorService;

    goto :goto_34

    :pswitch_32
    iget-object p2, p0, Lcom/tradplus/ads/common/task/TPTaskManager;->d:Ljava/util/concurrent/ExecutorService;

    :goto_34
    invoke-interface {p2, p1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    :goto_37
    return-void

    :pswitch_data_38
    .packed-switch 0x1
        :pswitch_32
        :pswitch_2f
        :pswitch_2c
        :pswitch_1f
        :pswitch_11
        :pswitch_4
    .end packed-switch
.end method

.method public run_proxy(Ljava/lang/Runnable;)V
    .registers 4

    const-wide/16 v0, 0x0

    invoke-virtual {p0, p1, v0, v1}, Lcom/tradplus/ads/common/task/TPTaskManager;->run_proxyDelayed(Ljava/lang/Runnable;J)V

    return-void
.end method

.method public run_proxyDelayed(Ljava/lang/Runnable;J)V
    .registers 7

    if-eqz p1, :cond_1d

    new-instance v0, Lcom/tradplus/ads/common/task/TPTaskManager$1;

    invoke-direct {v0, p0, p2, p3, p1}, Lcom/tradplus/ads/common/task/TPTaskManager$1;-><init>(Lcom/tradplus/ads/common/task/TPTaskManager;JLjava/lang/Runnable;)V

    new-instance p1, Ljava/lang/Long;

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide p2

    const-wide/16 v1, 0x3e8

    div-long/2addr p2, v1

    invoke-direct {p1, p2, p3}, Ljava/lang/Long;-><init>(J)V

    invoke-virtual {p1}, Ljava/lang/Long;->intValue()I

    move-result p1

    invoke-virtual {v0, p1}, Lcom/tradplus/ads/common/task/TPWorker;->a(I)V

    invoke-virtual {p0, v0}, Lcom/tradplus/ads/common/task/TPTaskManager;->run(Lcom/tradplus/ads/common/task/TPWorker;)V

    :cond_1d
    return-void
.end method