dl.smali

.class public abstract Lcom/baidu/mobstat/dl;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static a:I

.field public static b:I

.field public static final c:[B


# instance fields
.field protected d:Lcom/baidu/mobstat/de;

.field protected e:Lcom/baidu/mobstat/ec;


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

    .prologue
    .line 50
    const/16 v0, 0x3e8

    sput v0, Lcom/baidu/mobstat/dl;->a:I

    .line 51
    const/16 v0, 0x40

    sput v0, Lcom/baidu/mobstat/dl;->b:I

    .line 53
    const-string v0, "<policy-file-request/>\u0000"

    invoke-static {v0}, Lcom/baidu/mobstat/ep;->a(Ljava/lang/String;)[B

    move-result-object v0

    sput-object v0, Lcom/baidu/mobstat/dl;->c:[B

    return-void
.end method

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

    .prologue
    const/4 v0, 0x0

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

    .line 56
    iput-object v0, p0, Lcom/baidu/mobstat/dl;->d:Lcom/baidu/mobstat/de;

    .line 58
    iput-object v0, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    return-void
.end method

.method public static a(Ljava/nio/ByteBuffer;Lcom/baidu/mobstat/de;)Lcom/baidu/mobstat/eg;
    .registers 9

    .prologue
    const/4 v3, 0x3

    const/4 v6, 0x2

    const/4 v5, 0x1

    .line 88
    invoke-static {p0}, Lcom/baidu/mobstat/dl;->b(Ljava/nio/ByteBuffer;)Ljava/lang/String;

    move-result-object v0

    .line 89
    if-nez v0, :cond_15

    .line 90
    new-instance v0, Lcom/baidu/mobstat/dr;

    invoke-virtual {p0}, Ljava/nio/ByteBuffer;->capacity()I

    move-result v1

    add-int/lit16 v1, v1, 0x80

    invoke-direct {v0, v1}, Lcom/baidu/mobstat/dr;-><init>(I)V

    throw v0

    .line 92
    :cond_15
    const-string v1, " "

    invoke-virtual {v0, v1, v3}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

    move-result-object v2

    .line 93
    array-length v0, v2

    if-eq v0, v3, :cond_24

    .line 94
    new-instance v0, Lcom/baidu/mobstat/du;

    invoke-direct {v0}, Lcom/baidu/mobstat/du;-><init>()V

    throw v0

    .line 97
    :cond_24
    sget-object v0, Lcom/baidu/mobstat/de;->a:Lcom/baidu/mobstat/de;

    if-ne p1, v0, :cond_5b

    .line 99
    new-instance v1, Lcom/baidu/mobstat/ei;

    invoke-direct {v1}, Lcom/baidu/mobstat/ei;-><init>()V

    move-object v0, v1

    .line 100
    check-cast v0, Lcom/baidu/mobstat/em;

    .line 101
    aget-object v3, v2, v5

    invoke-static {v3}, Ljava/lang/Short;->parseShort(Ljava/lang/String;)S

    move-result v3

    invoke-interface {v0, v3}, Lcom/baidu/mobstat/em;->a(S)V

    .line 102
    aget-object v2, v2, v6

    invoke-interface {v0, v2}, Lcom/baidu/mobstat/em;->a(Ljava/lang/String;)V

    .line 110
    :goto_3e
    invoke-static {p0}, Lcom/baidu/mobstat/dl;->b(Ljava/nio/ByteBuffer;)Ljava/lang/String;

    move-result-object v0

    .line 111
    :goto_42
    if-eqz v0, :cond_7b

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    if-lez v2, :cond_7b

    .line 112
    const-string v2, ":"

    invoke-virtual {v0, v2, v6}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

    move-result-object v0

    .line 113
    array-length v2, v0

    if-eq v2, v6, :cond_66

    .line 114
    new-instance v0, Lcom/baidu/mobstat/du;

    const-string v1, "not an http header"

    invoke-direct {v0, v1}, Lcom/baidu/mobstat/du;-><init>(Ljava/lang/String;)V

    throw v0

    .line 105
    :cond_5b
    new-instance v1, Lcom/baidu/mobstat/eh;

    invoke-direct {v1}, Lcom/baidu/mobstat/eh;-><init>()V

    .line 106
    aget-object v0, v2, v5

    invoke-interface {v1, v0}, Lcom/baidu/mobstat/ef;->a(Ljava/lang/String;)V

    goto :goto_3e

    .line 115
    :cond_66
    const/4 v2, 0x0

    aget-object v2, v0, v2

    aget-object v0, v0, v5

    const-string v3, "^ +"

    const-string v4, ""

    invoke-virtual {v0, v3, v4}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-interface {v1, v2, v0}, Lcom/baidu/mobstat/eg;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 116
    invoke-static {p0}, Lcom/baidu/mobstat/dl;->b(Ljava/nio/ByteBuffer;)Ljava/lang/String;

    move-result-object v0

    goto :goto_42

    .line 118
    :cond_7b
    if-nez v0, :cond_83

    .line 119
    new-instance v0, Lcom/baidu/mobstat/dr;

    invoke-direct {v0}, Lcom/baidu/mobstat/dr;-><init>()V

    throw v0

    .line 120
    :cond_83
    return-object v1
.end method

.method public static a(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    .registers 5

    .prologue
    .line 61
    invoke-virtual {p0}, Ljava/nio/ByteBuffer;->remaining()I

    move-result v0

    invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;

    move-result-object v2

    .line 63
    const/16 v0, 0x30

    .line 64
    :goto_a
    invoke-virtual {p0}, Ljava/nio/ByteBuffer;->hasRemaining()Z

    move-result v1

    if-eqz v1, :cond_2e

    .line 66
    invoke-virtual {p0}, Ljava/nio/ByteBuffer;->get()B

    move-result v1

    .line 67
    invoke-virtual {v2, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;

    .line 68
    const/16 v3, 0xd

    if-ne v0, v3, :cond_3c

    const/16 v0, 0xa

    if-ne v1, v0, :cond_3c

    .line 69
    invoke-virtual {v2}, Ljava/nio/ByteBuffer;->position()I

    move-result v0

    add-int/lit8 v0, v0, -0x2

    invoke-virtual {v2, v0}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;

    .line 70
    const/4 v0, 0x0

    invoke-virtual {v2, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    move-object v0, v2

    .line 77
    :goto_2d
    return-object v0

    .line 76
    :cond_2e
    invoke-virtual {p0}, Ljava/nio/ByteBuffer;->position()I

    move-result v0

    invoke-virtual {v2}, Ljava/nio/ByteBuffer;->position()I

    move-result v1

    sub-int/2addr v0, v1

    invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;

    .line 77
    const/4 v0, 0x0

    goto :goto_2d

    :cond_3c
    move v0, v1

    goto :goto_a
.end method

.method public static b(Ljava/nio/ByteBuffer;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 81
    invoke-static {p0}, Lcom/baidu/mobstat/dl;->a(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;

    move-result-object v0

    .line 82
    if-nez v0, :cond_8

    const/4 v0, 0x0

    :goto_7
    return-object v0

    :cond_8
    invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B

    move-result-object v1

    const/4 v2, 0x0

    invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I

    move-result v0

    invoke-static {v1, v2, v0}, Lcom/baidu/mobstat/ep;->a([BII)Ljava/lang/String;

    move-result-object v0

    goto :goto_7
.end method


# virtual methods
.method public a(I)I
    .registers 5

    .prologue
    .line 222
    if-gez p1, :cond_c

    .line 223
    new-instance v0, Lcom/baidu/mobstat/ds;

    const/16 v1, 0x3ea

    const-string v2, "Negative count"

    invoke-direct {v0, v1, v2}, Lcom/baidu/mobstat/ds;-><init>(ILjava/lang/String;)V

    throw v0

    .line 224
    :cond_c
    return p1
.end method

.method public abstract a(Lcom/baidu/mobstat/ee;Lcom/baidu/mobstat/el;)Lcom/baidu/mobstat/dn;
.end method

.method public abstract a(Lcom/baidu/mobstat/ef;)Lcom/baidu/mobstat/ef;
.end method

.method public abstract a(Lcom/baidu/mobstat/eb;)Ljava/nio/ByteBuffer;
.end method

.method public a(Lcom/baidu/mobstat/ec;Ljava/nio/ByteBuffer;Z)Ljava/util/List;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/baidu/mobstat/ec;",
            "Ljava/nio/ByteBuffer;",
            "Z)",
            "Ljava/util/List",
            "<",
            "Lcom/baidu/mobstat/eb;",
            ">;"
        }
    .end annotation

    .prologue
    .line 138
    sget-object v0, Lcom/baidu/mobstat/ec;->c:Lcom/baidu/mobstat/ec;

    if-eq p1, v0, :cond_10

    sget-object v0, Lcom/baidu/mobstat/ec;->b:Lcom/baidu/mobstat/ec;

    if-eq p1, v0, :cond_10

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

    const-string v1, "Only Opcode.BINARY or  Opcode.TEXT are allowed"

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

    throw v0

    .line 142
    :cond_10
    iget-object v0, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    if-eqz v0, :cond_2f

    .line 143
    sget-object v0, Lcom/baidu/mobstat/ec;->a:Lcom/baidu/mobstat/ec;

    iput-object v0, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    .line 148
    :goto_18
    new-instance v0, Lcom/baidu/mobstat/ed;

    iget-object v1, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    invoke-direct {v0, v1}, Lcom/baidu/mobstat/ed;-><init>(Lcom/baidu/mobstat/ec;)V

    .line 150
    :try_start_1f
    invoke-interface {v0, p2}, Lcom/baidu/mobstat/ea;->a(Ljava/nio/ByteBuffer;)V
    :try_end_22
    .catch Lcom/baidu/mobstat/ds; {:try_start_1f .. :try_end_22} :catch_32

    .line 154
    invoke-interface {v0, p3}, Lcom/baidu/mobstat/ea;->a(Z)V

    .line 155
    if-eqz p3, :cond_39

    .line 156
    const/4 v1, 0x0

    iput-object v1, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    .line 160
    :goto_2a
    invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    return-object v0

    .line 145
    :cond_2f
    iput-object p1, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    goto :goto_18

    .line 151
    :catch_32
    move-exception v0

    .line 152
    new-instance v1, Ljava/lang/RuntimeException;

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

    throw v1

    .line 158
    :cond_39
    iput-object p1, p0, Lcom/baidu/mobstat/dl;->e:Lcom/baidu/mobstat/ec;

    goto :goto_2a
.end method

.method public a(Lcom/baidu/mobstat/ej;Lcom/baidu/mobstat/de;)Ljava/util/List;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/baidu/mobstat/ej;",
            "Lcom/baidu/mobstat/de;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation

    .prologue
    .line 166
    const/4 v0, 0x1

    invoke-virtual {p0, p1, p2, v0}, Lcom/baidu/mobstat/dl;->a(Lcom/baidu/mobstat/ej;Lcom/baidu/mobstat/de;Z)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public a(Lcom/baidu/mobstat/ej;Lcom/baidu/mobstat/de;Z)Ljava/util/List;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/baidu/mobstat/ej;",
            "Lcom/baidu/mobstat/de;",
            "Z)",
            "Ljava/util/List",
            "<",
            "Ljava/nio/ByteBuffer;",
            ">;"
        }
    .end annotation

    .prologue
    .line 170
    new-instance v1, Ljava/lang/StringBuilder;

    const/16 v0, 0x64

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

    .line 171
    instance-of v0, p1, Lcom/baidu/mobstat/ee;

    if-eqz v0, :cond_49

    .line 172
    const-string v0, "GET "

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object v0, p1

    .line 173
    check-cast v0, Lcom/baidu/mobstat/ee;

    invoke-interface {v0}, Lcom/baidu/mobstat/ee;->a()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 174
    const-string v0, " HTTP/1.1"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 180
    :goto_1f
    const-string v0, "\r\n"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 181
    invoke-interface {p1}, Lcom/baidu/mobstat/ej;->b()Ljava/util/Iterator;

    move-result-object v2

    .line 182
    :goto_28
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_66

    .line 183
    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 184
    invoke-interface {p1, v0}, Lcom/baidu/mobstat/ej;->b(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    .line 185
    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 186
    const-string v0, ": "

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 187
    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 188
    const-string v0, "\r\n"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_28

    .line 175
    :cond_49
    instance-of v0, p1, Lcom/baidu/mobstat/el;

    if-eqz v0, :cond_5e

    .line 176
    const-string v0, "HTTP/1.1 101 "

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    move-object v0, p1

    check-cast v0, Lcom/baidu/mobstat/el;

    invoke-interface {v0}, Lcom/baidu/mobstat/el;->a()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_1f

    .line 178
    :cond_5e
    new-instance v0, Ljava/lang/RuntimeException;

    const-string v1, "unknown role"

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

    throw v0

    .line 190
    :cond_66
    const-string v0, "\r\n"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 191
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/baidu/mobstat/ep;->b(Ljava/lang/String;)[B

    move-result-object v2

    .line 193
    if-eqz p3, :cond_93

    invoke-interface {p1}, Lcom/baidu/mobstat/ej;->c()[B

    move-result-object v0

    move-object v1, v0

    .line 194
    :goto_7a
    if-nez v1, :cond_96

    const/4 v0, 0x0

    :goto_7d
    array-length v3, v2

    add-int/2addr v0, v3

    invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;

    move-result-object v0

    .line 195
    invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;

    .line 196
    if-eqz v1, :cond_8b

    .line 197
    invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;

    .line 198
    :cond_8b
    invoke-virtual {v0}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;

    .line 199
    invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    return-object v0

    .line 193
    :cond_93
    const/4 v0, 0x0

    move-object v1, v0

    goto :goto_7a

    .line 194
    :cond_96
    array-length v0, v1

    goto :goto_7d
.end method

.method public abstract a(Ljava/nio/ByteBuffer;Z)Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/nio/ByteBuffer;",
            "Z)",
            "Ljava/util/List",
            "<",
            "Lcom/baidu/mobstat/eb;",
            ">;"
        }
    .end annotation
.end method

.method public abstract a()V
.end method

.method public a(Lcom/baidu/mobstat/de;)V
    .registers 2

    .prologue
    .line 228
    iput-object p1, p0, Lcom/baidu/mobstat/dl;->d:Lcom/baidu/mobstat/de;

    .line 229
    return-void
.end method

.method public abstract b()Lcom/baidu/mobstat/dm;
.end method

.method public abstract c()Lcom/baidu/mobstat/dl;
.end method

.method public abstract c(Ljava/nio/ByteBuffer;)Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/nio/ByteBuffer;",
            ")",
            "Ljava/util/List",
            "<",
            "Lcom/baidu/mobstat/eb;",
            ">;"
        }
    .end annotation
.end method

.method public d(Ljava/nio/ByteBuffer;)Lcom/baidu/mobstat/ej;
    .registers 3

    .prologue
    .line 218
    iget-object v0, p0, Lcom/baidu/mobstat/dl;->d:Lcom/baidu/mobstat/de;

    invoke-static {p1, v0}, Lcom/baidu/mobstat/dl;->a(Ljava/nio/ByteBuffer;Lcom/baidu/mobstat/de;)Lcom/baidu/mobstat/eg;

    move-result-object v0

    return-object v0
.end method