d.smali
.class public final Lcom/imo/android/imoim/av/c/d;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/imo/android/imoim/av/c/b;
# instance fields
.field a:Ljava/lang/String;
.field public b:I
.field public c:[B
.field d:Lcom/imo/android/imoim/av/c/a;
.field private e:Ljava/lang/String;
.field private f:Lcom/android/volley/j;
.field private g:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"[B>;"
}
.end annotation
.end field
.field private h:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.registers 7
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0xf
.line 27
iput v0, p0, Lcom/imo/android/imoim/av/c/d;->b:I
.line 29
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
const/4 v0, 0x0
.line 30
iput-boolean v0, p0, Lcom/imo/android/imoim/av/c/d;->h:Z
const/4 v0, 0x0
.line 31
iput-object v0, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
.line 36
new-instance v0, Lcom/android/volley/j;
new-instance v1, Lcom/android/volley/toolbox/o;
invoke-direct {v1}, Lcom/android/volley/toolbox/o;-><init>()V
new-instance v2, Lcom/android/volley/toolbox/c;
new-instance v3, Lcom/android/volley/toolbox/j;
invoke-direct {v3}, Lcom/android/volley/toolbox/j;-><init>()V
invoke-direct {v2, v3}, Lcom/android/volley/toolbox/c;-><init>(Lcom/android/volley/toolbox/b;)V
const/4 v3, 0x1
invoke-direct {v0, v1, v2, v3}, Lcom/android/volley/j;-><init>(Lcom/android/volley/a;Lcom/android/volley/f;I)V
iput-object v0, p0, Lcom/imo/android/imoim/av/c/d;->f:Lcom/android/volley/j;
.line 37
invoke-virtual {v0}, Lcom/android/volley/j;->a()V
.line 38
iput-object p1, p0, Lcom/imo/android/imoim/av/c/d;->e:Ljava/lang/String;
.line 39
iput-object p2, p0, Lcom/imo/android/imoim/av/c/d;->a:Ljava/lang/String;
return-void
.end method
.method private declared-synchronized d()V
.registers 9
monitor-enter p0
.line 65
:try_start_1
iget-boolean v0, p0, Lcom/imo/android/imoim/av/c/d;->h:Z
if-nez v0, :cond_a0
iget-object v0, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->size()I
move-result v0
if-lez v0, :cond_a0
const/4 v0, 0x1
.line 66
iput-boolean v0, p0, Lcom/imo/android/imoim/av/c/d;->h:Z
.line 69
iget-object v1, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->iterator()Ljava/util/Iterator;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_19
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_42
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, [B
if-nez v3, :cond_3d
.line 70
iget-object v6, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
if-eqz v6, :cond_3d
iget-object v6, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
array-length v6, v6
if-lez v6, :cond_3d
iget-object v6, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
.line 72
invoke-static {v5, v6}, Ljava/util/Arrays;->equals([B[B)Z
move-result v6
if-nez v6, :cond_3d
.line 73
iget-object v4, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
array-length v4, v4
add-int/2addr v3, v4
const/4 v4, 0x1
.line 76
:cond_3d
array-length v5, v5
add-int/lit8 v5, v5, 0x2
add-int/2addr v3, v5
goto :goto_19
.line 78
:cond_42
new-array v0, v3, [B
const/4 v1, 0x0
.line 80
:goto_45
iget-object v3, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v3}, Ljava/util/LinkedList;->size()I
move-result v3
if-lez v3, :cond_80
.line 81
iget-object v3, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v3}, Ljava/util/LinkedList;->poll()Ljava/lang/Object;
move-result-object v3
check-cast v3, [B
.line 82
array-length v5, v3
if-eqz v4, :cond_5c
.line 84
iget-object v6, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
array-length v6, v6
add-int/2addr v5, v6
:cond_5c
add-int/lit8 v6, v1, 0x1
shr-int/lit8 v7, v5, 0x8
int-to-byte v7, v7
.line 86
aput-byte v7, v0, v1
add-int/lit8 v1, v6, 0x1
and-int/lit16 v5, v5, 0xff
int-to-byte v5, v5
.line 87
aput-byte v5, v0, v6
if-eqz v4, :cond_78
.line 89
iget-object v4, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
iget-object v5, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
array-length v5, v5
invoke-static {v4, v2, v0, v1, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 90
iget-object v4, p0, Lcom/imo/android/imoim/av/c/d;->c:[B
array-length v4, v4
add-int/2addr v1, v4
.line 92
:cond_78
array-length v4, v3
invoke-static {v3, v2, v0, v1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 93
array-length v3, v3
add-int/2addr v1, v3
const/4 v4, 0x0
goto :goto_45
.line 1118
:cond_80
new-instance v1, Lcom/imo/android/imoim/av/c/d$2;
iget-object v3, p0, Lcom/imo/android/imoim/av/c/d;->e:Ljava/lang/String;
new-instance v4, Lcom/imo/android/imoim/av/c/d$1;
invoke-direct {v4, p0}, Lcom/imo/android/imoim/av/c/d$1;-><init>(Lcom/imo/android/imoim/av/c/d;)V
invoke-direct {v1, p0, v3, v4, v0}, Lcom/imo/android/imoim/av/c/d$2;-><init>(Lcom/imo/android/imoim/av/c/d;Ljava/lang/String;Lcom/android/volley/k$a;[B)V
.line 1160
new-instance v0, Lcom/android/volley/c;
const/16 v3, 0x9c4
const/high16 v4, 0x3f800000 # 1.0f
invoke-direct {v0, v3, v2, v4}, Lcom/android/volley/c;-><init>(IIF)V
invoke-virtual {v1, v0}, Lcom/android/volley/i;->setRetryPolicy(Lcom/android/volley/m;)Lcom/android/volley/i;
.line 1164
invoke-virtual {v1, v2}, Lcom/android/volley/i;->setShouldCache(Z)Lcom/android/volley/i;
.line 1165
iget-object v0, p0, Lcom/imo/android/imoim/av/c/d;->f:Lcom/android/volley/j;
invoke-virtual {v0, v1}, Lcom/android/volley/j;->a(Lcom/android/volley/i;)Lcom/android/volley/i;
:try_end_a0
.catchall {:try_start_1 .. :try_end_a0} :catchall_a2
.line 98
:cond_a0
monitor-exit p0
return-void
:catchall_a2
move-exception v0
monitor-exit p0
goto :goto_a6
:goto_a5
throw v0
:goto_a6
goto :goto_a5
.end method
# virtual methods
.method public final a()V
.registers 2
.line 53
iget-object v0, p0, Lcom/imo/android/imoim/av/c/d;->f:Lcom/android/volley/j;
invoke-virtual {v0}, Lcom/android/volley/j;->b()V
return-void
.end method
.method public final a(Lcom/imo/android/imoim/av/c/a;)V
.registers 2
.line 44
iput-object p1, p0, Lcom/imo/android/imoim/av/c/d;->d:Lcom/imo/android/imoim/av/c/a;
return-void
.end method
.method public final declared-synchronized a([B)V
.registers 5
monitor-enter p0
:try_start_1
const-string v0, "http"
.line 102
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Adding "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
array-length v2, p1
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " bytes. Queue size "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v2}, Ljava/util/LinkedList;->size()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 2071
invoke-static {v0, v1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 103
iget-object v0, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->offer(Ljava/lang/Object;)Z
.line 104
:goto_28
iget-object p1, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->size()I
move-result p1
iget v0, p0, Lcom/imo/android/imoim/av/c/d;->b:I
if-le p1, v0, :cond_3f
const-string p1, "http"
const-string v0, "Dropping item from queue"
.line 3071
invoke-static {p1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 106
iget-object p1, p0, Lcom/imo/android/imoim/av/c/d;->g:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->poll()Ljava/lang/Object;
goto :goto_28
.line 108
:cond_3f
invoke-direct {p0}, Lcom/imo/android/imoim/av/c/d;->d()V
:try_end_42
.catchall {:try_start_1 .. :try_end_42} :catchall_44
.line 109
monitor-exit p0
return-void
:catchall_44
move-exception p1
monitor-exit p0
goto :goto_48
:goto_47
throw p1
:goto_48
goto :goto_47
.end method
.method public final b()V
.registers 1
return-void
.end method
.method final declared-synchronized c()V
.registers 2
monitor-enter p0
const/4 v0, 0x0
.line 112
:try_start_2
iput-boolean v0, p0, Lcom/imo/android/imoim/av/c/d;->h:Z
.line 113
invoke-direct {p0}, Lcom/imo/android/imoim/av/c/d;->d()V
:try_end_7
.catchall {:try_start_2 .. :try_end_7} :catchall_9
.line 114
monitor-exit p0
return-void
:catchall_9
move-exception v0
monitor-exit p0
throw v0
.end method