g.smali

.class public Lcom/bytedance/sdk/openadsdk/preload/a/g;
.super Lcom/bytedance/sdk/openadsdk/preload/a/d;
.source "ParallelInterceptor.java"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        ">",
        "Lcom/bytedance/sdk/openadsdk/preload/a/d",
        "<",
        "Ljava/util/List",
        "<TT;>;TT;>;"
    }
.end annotation


# instance fields
.field private d:Ljava/util/concurrent/Executor;


# direct methods
.method public constructor <init>()V
    .registers 1

    .prologue
    .line 16
    invoke-direct {p0}, Lcom/bytedance/sdk/openadsdk/preload/a/d;-><init>()V

    return-void
.end method


# virtual methods
.method public final a(Lcom/bytedance/sdk/openadsdk/preload/a/b;Ljava/util/List;)Ljava/lang/Object;
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/bytedance/sdk/openadsdk/preload/a/b",
            "<TT;>;",
            "Ljava/util/List",
            "<TT;>;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Throwable;
        }
    .end annotation

    .prologue
    .line 23
    new-instance v6, Ljava/util/concurrent/CountDownLatch;

    invoke-interface {p2}, Ljava/util/List;->size()I

    move-result v0

    invoke-direct {v6, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V

    .line 24
    new-instance v4, Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {v4}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V

    .line 25
    new-instance v5, Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {v5}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V

    .line 26
    invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v7

    :goto_17
    invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_2e

    invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    .line 27
    iget-object v8, p0, Lcom/bytedance/sdk/openadsdk/preload/a/g;->d:Ljava/util/concurrent/Executor;

    new-instance v0, Lcom/bytedance/sdk/openadsdk/preload/a/g$1;

    move-object v1, p0

    move-object v2, p1

    invoke-direct/range {v0 .. v6}, Lcom/bytedance/sdk/openadsdk/preload/a/g$1;-><init>(Lcom/bytedance/sdk/openadsdk/preload/a/g;Lcom/bytedance/sdk/openadsdk/preload/a/b;Ljava/lang/Object;Ljava/util/List;Ljava/util/List;Ljava/util/concurrent/CountDownLatch;)V

    invoke-interface {v8, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V

    goto :goto_17

    .line 46
    :cond_2e
    invoke-virtual {v6}, Ljava/util/concurrent/CountDownLatch;->await()V

    .line 47
    invoke-interface {v5}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_38

    .line 48
    return-object v4

    .line 50
    :cond_38
    new-instance v0, Lcom/bytedance/sdk/openadsdk/preload/a/a/a;

    invoke-direct {v0, v5}, Lcom/bytedance/sdk/openadsdk/preload/a/a/a;-><init>(Ljava/util/List;)V

    throw v0
.end method

.method protected varargs a([Ljava/lang/Object;)V
    .registers 11

    .prologue
    const/4 v8, 0x1

    const/4 v1, 0x0

    .line 55
    invoke-super {p0, p1}, Lcom/bytedance/sdk/openadsdk/preload/a/d;->a([Ljava/lang/Object;)V

    .line 56
    if-eqz p1, :cond_27

    .line 57
    array-length v0, p1

    if-eq v0, v8, :cond_12

    .line 58
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "ParallelInterceptor only need one param"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 60
    :cond_12
    aget-object v0, p1, v1

    instance-of v0, v0, Ljava/util/concurrent/Executor;

    if-nez v0, :cond_20

    .line 61
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "ParallelInterceptor args must be instance of Executor"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 63
    :cond_20
    aget-object v0, p1, v1

    check-cast v0, Ljava/util/concurrent/Executor;

    iput-object v0, p0, Lcom/bytedance/sdk/openadsdk/preload/a/g;->d:Ljava/util/concurrent/Executor;

    .line 70
    :goto_26
    return-void

    .line 65
    :cond_27
    new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor;

    const/4 v2, 0x2

    const/4 v3, 0x3

    const-wide/16 v4, 0xa

    sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;

    invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V

    invoke-direct/range {v1 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V

    .line 67
    invoke-virtual {v1, v8}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V

    .line 68
    iput-object v1, p0, Lcom/bytedance/sdk/openadsdk/preload/a/g;->d:Ljava/util/concurrent/Executor;

    goto :goto_26
.end method

.method public synthetic a_(Lcom/bytedance/sdk/openadsdk/preload/a/b;Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Throwable;
        }
    .end annotation

    .prologue
    .line 16
    check-cast p2, Ljava/util/List;

    invoke-virtual {p0, p1, p2}, Lcom/bytedance/sdk/openadsdk/preload/a/g;->a(Lcom/bytedance/sdk/openadsdk/preload/a/b;Ljava/util/List;)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method