CronetUrlRequest.smali
.class public final Laegon/chrome/net/impl/CronetUrlRequest;
.super Laegon/chrome/net/impl/UrlRequestBase;
# annotations
.annotation build Laegon/chrome/base/VisibleForTesting;
.end annotation
.annotation build Laegon/chrome/base/annotations/JNIAdditionalImport;
value = {
Laegon/chrome/net/impl/VersionSafeCallbacks;
}
.end annotation
.annotation runtime Laegon/chrome/base/annotations/JNINamespace;
value = "cronet"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;,
Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
}
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
# instance fields
.field private final mAllowDirectExecutor:Z
.field private final mCallback:Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;
.field private final mDisableCache:Z
.field private final mDisableConnectionMigration:Z
.field private mException:Laegon/chrome/net/CronetException;
.field private final mExecutor:Ljava/util/concurrent/Executor;
.field private mFinishedReason:I
.field private mInitialMethod:Ljava/lang/String;
.field private final mInitialUrl:Ljava/lang/String;
.field private mMetrics:Laegon/chrome/net/impl/CronetMetrics;
.field private mOnDestroyedCallbackForTesting:Ljava/lang/Runnable;
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
.end field
.field private mOnReadCompletedTask:Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
.field private final mPriority:I
.field private final mRequestAnnotations:Ljava/util/Collection;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Collection",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private final mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
.field private final mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
.field private final mRequestHeaders:Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
.field private mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
.field private mStarted:Z
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
.end field
.field private final mTrafficStatsTag:I
.field private final mTrafficStatsTagSet:Z
.field private final mTrafficStatsUid:I
.field private final mTrafficStatsUidSet:Z
.field private mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
.field private final mUrlChain:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private mUrlRequestAdapter:J
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
.end field
.field private final mUrlRequestAdapterLock:Ljava/lang/Object;
.field private mWaitingOnRead:Z
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
.end field
.field private mWaitingOnRedirect:Z
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
const-class v0, Laegon/chrome/net/impl/CronetUrlRequest;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_c
const/4 v0, 0x1
:goto_9
sput-boolean v0, Laegon/chrome/net/impl/CronetUrlRequest;->$assertionsDisabled:Z
return-void
:cond_c
const/4 v0, 0x0
goto :goto_9
.end method
.method constructor <init>(Laegon/chrome/net/impl/CronetUrlRequestContext;Ljava/lang/String;ILaegon/chrome/net/UrlRequest$Callback;Ljava/util/concurrent/Executor;Ljava/util/Collection;ZZZZIZILaegon/chrome/net/RequestFinishedInfo$Listener;)V
.registers 18
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Laegon/chrome/net/impl/CronetUrlRequestContext;",
"Ljava/lang/String;",
"I",
"Laegon/chrome/net/UrlRequest$Callback;",
"Ljava/util/concurrent/Executor;",
"Ljava/util/Collection",
"<",
"Ljava/lang/Object;",
">;ZZZZIZI",
"Laegon/chrome/net/RequestFinishedInfo$Listener;",
")V"
}
.end annotation
invoke-direct {p0}, Laegon/chrome/net/impl/UrlRequestBase;-><init>()V
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
iput-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlChain:Ljava/util/List;
new-instance v1, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
const/4 v2, 0x0
invoke-direct {v1, v2}, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;-><init>(Laegon/chrome/net/impl/CronetUrlRequest$1;)V
iput-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestHeaders:Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
if-nez p2, :cond_23
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "URL is required"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_23
if-nez p4, :cond_2d
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "Listener is required"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_2d
if-nez p5, :cond_37
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "Executor is required"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_37
iput-boolean p9, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mAllowDirectExecutor:Z
iput-object p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
iput-object p2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialUrl:Ljava/lang/String;
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlChain:Ljava/util/List;
invoke-interface {v1, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
invoke-static {p3}, Laegon/chrome/net/impl/CronetUrlRequest;->convertRequestPriority(I)I
move-result v1
iput v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mPriority:I
new-instance v1, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;
invoke-direct {v1, p4}, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;-><init>(Laegon/chrome/net/UrlRequest$Callback;)V
iput-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mCallback:Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;
iput-object p5, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
iput-object p6, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestAnnotations:Ljava/util/Collection;
iput-boolean p7, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mDisableCache:Z
iput-boolean p8, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mDisableConnectionMigration:Z
iput-boolean p10, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsTagSet:Z
iput p11, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsTag:I
iput-boolean p12, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsUidSet:Z
move/from16 v0, p13
iput v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsUid:I
if-eqz p14, :cond_6d
new-instance v1, Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
move-object/from16 v0, p14
invoke-direct {v1, v0}, Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;-><init>(Laegon/chrome/net/RequestFinishedInfo$Listener;)V
:goto_6a
iput-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
return-void
:cond_6d
const/4 v1, 0x0
goto :goto_6a
.end method
.method static synthetic access$100(Laegon/chrome/net/impl/CronetUrlRequest;)Ljava/lang/Object;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$1002(Laegon/chrome/net/impl/CronetUrlRequest;Z)Z
.registers 2
iput-boolean p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRedirect:Z
return p1
.end method
.method static synthetic access$1200(Laegon/chrome/net/impl/CronetUrlRequest;I)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/CronetUrlRequest;->destroyRequestAdapterLocked(I)V
return-void
.end method
.method static synthetic access$1300(Laegon/chrome/net/impl/CronetUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->maybeReportMetrics()V
return-void
.end method
.method static synthetic access$1400(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/CronetException;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
return-object v0
.end method
.method static synthetic access$1500(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
return-object v0
.end method
.method static synthetic access$200(Laegon/chrome/net/impl/CronetUrlRequest;)Z
.registers 2
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
return v0
.end method
.method static synthetic access$302(Laegon/chrome/net/impl/CronetUrlRequest;Z)Z
.registers 2
iput-boolean p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRead:Z
return p1
.end method
.method static synthetic access$400(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/impl/UrlResponseInfoImpl;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
return-object v0
.end method
.method static synthetic access$500(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mCallback:Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestCallback;
return-object v0
.end method
.method static synthetic access$600(Laegon/chrome/net/impl/CronetUrlRequest;Ljava/lang/Exception;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/CronetUrlRequest;->onCallbackException(Ljava/lang/Exception;)V
return-void
.end method
.method static synthetic access$700(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/impl/CronetUploadDataStream;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
return-object v0
.end method
.method static synthetic access$800(Laegon/chrome/net/impl/CronetUrlRequest;)J
.registers 3
iget-wide v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
return-wide v0
.end method
.method static synthetic access$900(Laegon/chrome/net/impl/CronetUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->startInternalLocked()V
return-void
.end method
.method private checkNotStarted()V
.registers 4
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mStarted:Z
if-nez v0, :cond_d
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
if-eqz v0, :cond_18
:cond_d
new-instance v0, Ljava/lang/IllegalStateException;
const-string v2, "Request is already started."
invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
:cond_18
:try_start_18
monitor-exit v1
:try_end_19
.catchall {:try_start_18 .. :try_end_19} :catchall_15
return-void
.end method
.method private static convertRequestPriority(I)I
.registers 2
const/4 v0, 0x4
packed-switch p0, :pswitch_data_e
:goto_4
:pswitch_4
return v0
:pswitch_5
const/4 v0, 0x1
goto :goto_4
:pswitch_7
const/4 v0, 0x2
goto :goto_4
:pswitch_9
const/4 v0, 0x3
goto :goto_4
:pswitch_b
const/4 v0, 0x5
goto :goto_4
nop
:pswitch_data_e
.packed-switch 0x0
:pswitch_5
:pswitch_7
:pswitch_9
:pswitch_4
:pswitch_b
.end packed-switch
.end method
.method private destroyRequestAdapterLocked(I)V
.registers 8
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
const-wide/16 v4, 0x0
const/4 v0, 0x1
sget-boolean v1, Laegon/chrome/net/impl/CronetUrlRequest;->$assertionsDisabled:Z
if-nez v1, :cond_13
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
if-eqz v1, :cond_13
if-eq p1, v0, :cond_13
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
:cond_13
iput p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mFinishedReason:I
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
cmp-long v1, v2, v4
if-nez v1, :cond_1c
:goto_1b
return-void
:cond_1c
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-virtual {v1}, Laegon/chrome/net/impl/CronetUrlRequestContext;->onRequestDestroyed()V
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
const/4 v1, 0x2
if-ne p1, v1, :cond_2c
:goto_26
invoke-direct {p0, v2, v3, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeDestroy(JZ)V
iput-wide v4, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
goto :goto_1b
:cond_2c
const/4 v0, 0x0
goto :goto_26
.end method
.method private failWithException(Laegon/chrome/net/CronetException;)V
.registers 4
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
if-eqz v0, :cond_b
monitor-exit v1
:goto_a
return-void
:cond_b
sget-boolean v0, Laegon/chrome/net/impl/CronetUrlRequest;->$assertionsDisabled:Z
if-nez v0, :cond_1c
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
if-eqz v0, :cond_1c
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
:catchall_19
move-exception v0
monitor-exit v1
:try_end_1b
.catchall {:try_start_3 .. :try_end_1b} :catchall_19
throw v0
:cond_1c
:try_start_1c
iput-object p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
const/4 v0, 0x1
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->destroyRequestAdapterLocked(I)V
monitor-exit v1
:try_end_23
.catchall {:try_start_1c .. :try_end_23} :catchall_19
goto :goto_a
.end method
.method private isDoneLocked()Z
.registers 5
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mStarted:Z
if-eqz v0, :cond_e
iget-wide v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_e
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method
.method static synthetic lambda$start$0(Laegon/chrome/net/impl/CronetUrlRequest;)Ljava/lang/Long;
.registers 14
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-virtual {v0}, Laegon/chrome/net/impl/CronetUrlRequestContext;->getUrlRequestContextAdapter()J
move-result-wide v2
iget-object v4, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialUrl:Ljava/lang/String;
iget v5, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mPriority:I
iget-boolean v6, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mDisableCache:Z
iget-boolean v7, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mDisableConnectionMigration:Z
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-virtual {v0}, Laegon/chrome/net/impl/CronetUrlRequestContext;->hasRequestFinishedListener()Z
move-result v0
if-nez v0, :cond_1a
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
if-eqz v0, :cond_2d
:cond_1a
const/4 v8, 0x1
:goto_1b
iget-boolean v9, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsTagSet:Z
iget v10, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsTag:I
iget-boolean v11, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsUidSet:Z
iget v12, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mTrafficStatsUid:I
move-object v1, p0
invoke-direct/range {v1 .. v12}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeCreateRequestAdapter(JLjava/lang/String;IZZZZIZI)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
return-object v0
:cond_2d
const/4 v8, 0x0
goto :goto_1b
.end method
.method private mapUrlRequestErrorToApiErrorCode(I)I
.registers 5
packed-switch p1, :pswitch_data_3a
sget-object v0, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unknown error code: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-static {v0, v1, v2}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:goto_1e
return p1
:pswitch_1f
const/4 p1, 0x1
goto :goto_1e
:pswitch_21
const/4 p1, 0x2
goto :goto_1e
:pswitch_23
const/4 p1, 0x3
goto :goto_1e
:pswitch_25
const/4 p1, 0x4
goto :goto_1e
:pswitch_27
const/4 p1, 0x5
goto :goto_1e
:pswitch_29
const/4 p1, 0x6
goto :goto_1e
:pswitch_2b
const/4 p1, 0x7
goto :goto_1e
:pswitch_2d
const/16 p1, 0x8
goto :goto_1e
:pswitch_30
const/16 p1, 0x9
goto :goto_1e
:pswitch_33
const/16 p1, 0xa
goto :goto_1e
:pswitch_36
const/16 p1, 0xb
goto :goto_1e
nop
:pswitch_data_3a
.packed-switch 0x1
:pswitch_1f
:pswitch_21
:pswitch_23
:pswitch_25
:pswitch_27
:pswitch_29
:pswitch_2b
:pswitch_2d
:pswitch_30
:pswitch_33
:pswitch_36
.end packed-switch
.end method
.method private maybeReportMetrics()V
.registers 8
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mMetrics:Laegon/chrome/net/impl/CronetMetrics;
if-eqz v0, :cond_2c
new-instance v0, Laegon/chrome/net/impl/RequestFinishedInfoImpl;
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialUrl:Ljava/lang/String;
iget-object v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestAnnotations:Ljava/util/Collection;
iget-object v3, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mMetrics:Laegon/chrome/net/impl/CronetMetrics;
iget v4, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mFinishedReason:I
iget-object v5, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
iget-object v6, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
invoke-direct/range {v0 .. v6}, Laegon/chrome/net/impl/RequestFinishedInfoImpl;-><init>(Ljava/lang/String;Ljava/util/Collection;Laegon/chrome/net/RequestFinishedInfo$Metrics;ILaegon/chrome/net/UrlResponseInfo;Laegon/chrome/net/CronetException;)V
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-virtual {v1, v0}, Laegon/chrome/net/impl/CronetUrlRequestContext;->reportRequestFinished(Laegon/chrome/net/RequestFinishedInfo;)V
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
if-eqz v1, :cond_2c
:try_start_1e
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestFinishedListener:Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;
invoke-virtual {v1}, Laegon/chrome/net/impl/VersionSafeCallbacks$RequestFinishedInfoListener;->getExecutor()Ljava/util/concurrent/Executor;
move-result-object v1
new-instance v2, Laegon/chrome/net/impl/CronetUrlRequest$9;
invoke-direct {v2, p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest$9;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;Laegon/chrome/net/RequestFinishedInfo;)V
invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
:try_end_2c
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_1e .. :try_end_2c} :catch_2d
:cond_2c
:goto_2c
return-void
:catch_2d
move-exception v0
sget-object v1, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
const-string v2, "Exception posting task to executor"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
invoke-static {v1, v2, v3}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_2c
.end method
.method private native nativeAddRequestHeader(JLjava/lang/String;Ljava/lang/String;)Z
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeCreateRequestAdapter(JLjava/lang/String;IZZZZIZI)J
.end method
.method private native nativeDestroy(JZ)V
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeFollowDeferredRedirect(J)V
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeGetStatus(JLaegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;)V
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeReadData(JLjava/nio/ByteBuffer;II)Z
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeSetHttpMethod(JLjava/lang/String;)Z
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private native nativeStart(J)V
.annotation runtime Laegon/chrome/base/annotations/NativeClassQualifiedName;
value = "CronetURLRequestAdapter"
.end annotation
.end method
.method private onCallbackException(Ljava/lang/Exception;)V
.registers 7
new-instance v0, Laegon/chrome/net/impl/CallbackExceptionImpl;
const-string v1, "Exception received from UrlRequest.Callback"
invoke-direct {v0, v1, p1}, Laegon/chrome/net/impl/CallbackExceptionImpl;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
sget-object v1, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
const-string v2, "Exception in CalledByNative method"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-static {v1, v2, v3}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method private onCanceled()V
.registers 2
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$6;
invoke-direct {v0, p0}, Laegon/chrome/net/impl/CronetUrlRequest$6;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
return-void
.end method
.method private onError(IIILjava/lang/String;J)V
.registers 12
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
if-eqz v0, :cond_9
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, p5, p6}, Laegon/chrome/net/impl/UrlResponseInfoImpl;->setReceivedByteCount(J)V
:cond_9
const/16 v0, 0xa
if-eq p1, v0, :cond_10
const/4 v0, 0x3
if-ne p1, v0, :cond_2c
:cond_10
new-instance v0, Laegon/chrome/net/impl/QuicExceptionImpl;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Exception in CronetUrlRequest: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p1, p2, p3}, Laegon/chrome/net/impl/QuicExceptionImpl;-><init>(Ljava/lang/String;III)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
:goto_2b
return-void
:cond_2c
invoke-direct {p0, p1}, Laegon/chrome/net/impl/CronetUrlRequest;->mapUrlRequestErrorToApiErrorCode(I)I
move-result v0
new-instance v1, Laegon/chrome/net/impl/NetworkExceptionImpl;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Exception in CronetUrlRequest: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0, p2}, Laegon/chrome/net/impl/NetworkExceptionImpl;-><init>(Ljava/lang/String;II)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
goto :goto_2b
.end method
.method private onMetricsCollected(JJJJJJJJJJJJJZJJ)V
.registers 69
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
move-object/from16 v0, p0
iget-object v0, v0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
move-object/from16 v35, v0
monitor-enter v35
:try_start_7
move-object/from16 v0, p0
iget-object v2, v0, Laegon/chrome/net/impl/CronetUrlRequest;->mMetrics:Laegon/chrome/net/impl/CronetMetrics;
if-eqz v2, :cond_18
new-instance v2, Ljava/lang/IllegalStateException;
const-string v3, "Metrics collection should only happen once."
invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v2
:catchall_15
move-exception v2
monitor-exit v35
:try_end_17
.catchall {:try_start_7 .. :try_end_17} :catchall_15
throw v2
:cond_18
:try_start_18
new-instance v3, Laegon/chrome/net/impl/CronetMetrics;
move-wide/from16 v4, p1
move-wide/from16 v6, p3
move-wide/from16 v8, p5
move-wide/from16 v10, p7
move-wide/from16 v12, p9
move-wide/from16 v14, p11
move-wide/from16 v16, p13
move-wide/from16 v18, p15
move-wide/from16 v20, p17
move-wide/from16 v22, p19
move-wide/from16 v24, p21
move-wide/from16 v26, p23
move-wide/from16 v28, p25
move/from16 v30, p27
move-wide/from16 v31, p28
move-wide/from16 v33, p30
invoke-direct/range {v3 .. v34}, Laegon/chrome/net/impl/CronetMetrics;-><init>(JJJJJJJJJJJJJZJJ)V
move-object/from16 v0, p0
iput-object v3, v0, Laegon/chrome/net/impl/CronetUrlRequest;->mMetrics:Laegon/chrome/net/impl/CronetMetrics;
monitor-exit v35
:try_end_42
.catchall {:try_start_18 .. :try_end_42} :catchall_15
return-void
.end method
.method private onNativeAdapterDestroyed()V
.registers 6
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnDestroyedCallbackForTesting:Ljava/lang/Runnable;
if-eqz v0, :cond_c
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnDestroyedCallbackForTesting:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:cond_c
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mException:Laegon/chrome/net/CronetException;
if-nez v0, :cond_12
monitor-exit v1
:goto_11
return-void
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_3 .. :try_end_13} :catchall_2d
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$8;
invoke-direct {v0, p0}, Laegon/chrome/net/impl/CronetUrlRequest$8;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;)V
:try_start_18
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
invoke-interface {v1, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
:try_end_1d
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_18 .. :try_end_1d} :catch_1e
goto :goto_11
:catch_1e
move-exception v0
sget-object v1, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
const-string v2, "Exception posting task to executor"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
invoke-static {v1, v2, v3}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_11
:catchall_2d
move-exception v0
:try_start_2e
monitor-exit v1
:try_end_2f
.catchall {:try_start_2e .. :try_end_2f} :catchall_2d
throw v0
.end method
.method private onReadCompleted(Ljava/nio/ByteBuffer;IIIJ)V
.registers 10
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
const/4 v2, 0x0
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, p5, p6}, Laegon/chrome/net/impl/UrlResponseInfoImpl;->setReceivedByteCount(J)V
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->position()I
move-result v0
if-ne v0, p3, :cond_12
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->limit()I
move-result v0
if-eq v0, p4, :cond_1d
:cond_12
new-instance v0, Laegon/chrome/net/impl/CronetExceptionImpl;
const-string v1, "ByteBuffer modified externally during read"
invoke-direct {v0, v1, v2}, Laegon/chrome/net/impl/CronetExceptionImpl;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
:goto_1c
return-void
:cond_1d
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnReadCompletedTask:Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
if-nez v0, :cond_28
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
invoke-direct {v0, p0, v2}, Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;Laegon/chrome/net/impl/CronetUrlRequest$1;)V
iput-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnReadCompletedTask:Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
:cond_28
add-int v0, p3, p2
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnReadCompletedTask:Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
iput-object p1, v0, Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;->mByteBuffer:Ljava/nio/ByteBuffer;
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnReadCompletedTask:Laegon/chrome/net/impl/CronetUrlRequest$OnReadCompletedRunnable;
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
goto :goto_1c
.end method
.method private onRedirectReceived(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;J)V
.registers 20
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
move-object v1, p0
move v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
move-object/from16 v6, p6
move-object/from16 v7, p7
move-wide/from16 v8, p8
invoke-direct/range {v1 .. v9}, Laegon/chrome/net/impl/CronetUrlRequest;->prepareResponseInfoOnNetworkThread(ILjava/lang/String;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;J)Laegon/chrome/net/impl/UrlResponseInfoImpl;
move-result-object v0
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlChain:Ljava/util/List;
invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
new-instance v1, Laegon/chrome/net/impl/CronetUrlRequest$3;
invoke-direct {v1, p0, v0, p1}, Laegon/chrome/net/impl/CronetUrlRequest$3;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;Laegon/chrome/net/impl/UrlResponseInfoImpl;Ljava/lang/String;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
return-void
.end method
.method private onResponseStarted(ILjava/lang/String;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;J)V
.registers 10
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
invoke-direct/range {p0 .. p8}, Laegon/chrome/net/impl/CronetUrlRequest;->prepareResponseInfoOnNetworkThread(ILjava/lang/String;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;J)Laegon/chrome/net/impl/UrlResponseInfoImpl;
move-result-object v0
iput-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$4;
invoke-direct {v0, p0}, Laegon/chrome/net/impl/CronetUrlRequest$4;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
return-void
.end method
.method private onStatus(Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;I)V
.registers 4
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$7;
invoke-direct {v0, p0, p1, p2}, Laegon/chrome/net/impl/CronetUrlRequest$7;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;I)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
return-void
.end method
.method private onSucceeded(J)V
.registers 4
.annotation build Laegon/chrome/base/annotations/CalledByNative;
.end annotation
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, p1, p2}, Laegon/chrome/net/impl/UrlResponseInfoImpl;->setReceivedByteCount(J)V
new-instance v0, Laegon/chrome/net/impl/CronetUrlRequest$5;
invoke-direct {v0, p0}, Laegon/chrome/net/impl/CronetUrlRequest$5;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
return-void
.end method
.method private postTaskToExecutor(Ljava/lang/Runnable;)V
.registers 7
:try_start_0
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
invoke-interface {v0, p1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
:try_end_5
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_5} :catch_6
:goto_5
return-void
:catch_6
move-exception v0
sget-object v1, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
const-string v2, "Exception posting task to executor"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v0, v3, v4
invoke-static {v1, v2, v3}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
new-instance v1, Laegon/chrome/net/impl/CronetExceptionImpl;
const-string v2, "Exception posting task to executor"
invoke-direct {v1, v2, v0}, Laegon/chrome/net/impl/CronetExceptionImpl;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
goto :goto_5
.end method
.method private prepareResponseInfoOnNetworkThread(ILjava/lang/String;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;J)Laegon/chrome/net/impl/UrlResponseInfoImpl;
.registers 20
new-instance v4, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
const/4 v0, 0x0
invoke-direct {v4, v0}, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;-><init>(Laegon/chrome/net/impl/CronetUrlRequest$1;)V
const/4 v0, 0x0
:goto_7
array-length v1, p3
if-ge v0, v1, :cond_1b
new-instance v1, Ljava/util/AbstractMap$SimpleImmutableEntry;
aget-object v2, p3, v0
add-int/lit8 v3, v0, 0x1
aget-object v3, p3, v3
invoke-direct {v1, v2, v3}, Ljava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-virtual {v4, v1}, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v0, 0x2
goto :goto_7
:cond_1b
new-instance v0, Laegon/chrome/net/impl/UrlResponseInfoImpl;
new-instance v1, Ljava/util/ArrayList;
iget-object v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlChain:Ljava/util/List;
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
move v2, p1
move-object v3, p2
move v5, p4
move-object/from16 v6, p5
move-object/from16 v7, p6
move-wide/from16 v8, p7
invoke-direct/range {v0 .. v9}, Laegon/chrome/net/impl/UrlResponseInfoImpl;-><init>(Ljava/util/List;ILjava/lang/String;Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;J)V
return-object v0
.end method
.method private startInternalLocked()V
.registers 3
.annotation build Ljavax/annotation/concurrent/GuardedBy;
value = "mUrlRequestAdapterLock"
.end annotation
iget-wide v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
invoke-direct {p0, v0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeStart(J)V
return-void
.end method
# virtual methods
.method public addHeader(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->checkNotStarted()V
if-nez p1, :cond_d
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Invalid header name."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_d
if-nez p2, :cond_17
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Invalid header value."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_17
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestHeaders:Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
new-instance v1, Ljava/util/AbstractMap$SimpleImmutableEntry;
invoke-direct {v1, p1, p2}, Ljava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-virtual {v0, v1}, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public cancel()V
.registers 3
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
if-nez v0, :cond_d
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mStarted:Z
if-nez v0, :cond_f
:cond_d
monitor-exit v1
:goto_e
return-void
:cond_f
const/4 v0, 0x2
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->destroyRequestAdapterLocked(I)V
monitor-exit v1
goto :goto_e
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method checkCallingThread()V
.registers 3
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mAllowDirectExecutor:Z
if-nez v0, :cond_16
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v0, v1}, Laegon/chrome/net/impl/CronetUrlRequestContext;->isNetworkThread(Ljava/lang/Thread;)Z
move-result v0
if-eqz v0, :cond_16
new-instance v0, Laegon/chrome/net/InlineExecutionProhibitedException;
invoke-direct {v0}, Laegon/chrome/net/InlineExecutionProhibitedException;-><init>()V
throw v0
:cond_16
return-void
.end method
.method public followRedirect()V
.registers 5
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRedirect:Z
if-nez v0, :cond_12
new-instance v0, Ljava/lang/IllegalStateException;
const-string v2, "No redirect to follow."
invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_f
move-exception v0
monitor-exit v1
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_f
throw v0
:cond_12
const/4 v0, 0x0
:try_start_13
iput-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRedirect:Z
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
if-eqz v0, :cond_1d
monitor-exit v1
:goto_1c
return-void
:cond_1d
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
invoke-direct {p0, v2, v3}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeFollowDeferredRedirect(J)V
monitor-exit v1
:try_end_23
.catchall {:try_start_13 .. :try_end_23} :catchall_f
goto :goto_1c
.end method
.method public getStatus(Laegon/chrome/net/UrlRequest$StatusListener;)V
.registers 8
new-instance v0, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;
invoke-direct {v0, p1}, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;-><init>(Laegon/chrome/net/UrlRequest$StatusListener;)V
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_8
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
const-wide/16 v4, 0x0
cmp-long v2, v2, v4
if-eqz v2, :cond_17
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
invoke-direct {p0, v2, v3, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeGetStatus(JLaegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;)V
monitor-exit v1
:goto_16
return-void
:cond_17
monitor-exit v1
:try_end_18
.catchall {:try_start_8 .. :try_end_18} :catchall_21
new-instance v1, Laegon/chrome/net/impl/CronetUrlRequest$2;
invoke-direct {v1, p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest$2;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->postTaskToExecutor(Ljava/lang/Runnable;)V
goto :goto_16
:catchall_21
move-exception v0
:try_start_22
monitor-exit v1
:try_end_23
.catchall {:try_start_22 .. :try_end_23} :catchall_21
throw v0
.end method
.method public getUrlRequestAdapterForTesting()J
.registers 5
.annotation build Laegon/chrome/base/VisibleForTesting;
.end annotation
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
monitor-exit v1
return-wide v2
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public isDone()Z
.registers 3
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
monitor-exit v1
return v0
:catchall_9
move-exception v0
monitor-exit v1
:try_end_b
.catchall {:try_start_3 .. :try_end_b} :catchall_9
throw v0
.end method
.method onUploadException(Ljava/lang/Throwable;)V
.registers 7
new-instance v0, Laegon/chrome/net/impl/CallbackExceptionImpl;
const-string v1, "Exception received from UploadDataProvider"
invoke-direct {v0, v1, p1}, Laegon/chrome/net/impl/CallbackExceptionImpl;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
sget-object v1, Laegon/chrome/net/impl/CronetUrlRequestContext;->LOG_TAG:Ljava/lang/String;
const-string v2, "Exception in upload method"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-static {v1, v2, v3}, Laegon/chrome/base/Log;->e(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/CronetUrlRequest;->failWithException(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method public read(Ljava/nio/ByteBuffer;)V
.registers 10
invoke-static {p1}, Laegon/chrome/net/impl/Preconditions;->checkHasRemaining(Ljava/nio/ByteBuffer;)V
invoke-static {p1}, Laegon/chrome/net/impl/Preconditions;->checkDirect(Ljava/nio/ByteBuffer;)V
iget-object v7, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v7
:try_start_9
iget-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRead:Z
if-nez v0, :cond_18
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Unexpected read attempt."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_15
move-exception v0
monitor-exit v7
:try_end_17
.catchall {:try_start_9 .. :try_end_17} :catchall_15
throw v0
:cond_18
const/4 v0, 0x0
:try_start_19
iput-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRead:Z
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->isDoneLocked()Z
move-result v0
if-eqz v0, :cond_23
monitor-exit v7
:goto_22
return-void
:cond_23
iget-wide v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->position()I
move-result v5
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->limit()I
move-result v6
move-object v1, p0
move-object v4, p1
invoke-direct/range {v1 .. v6}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeReadData(JLjava/nio/ByteBuffer;II)Z
move-result v0
if-nez v0, :cond_40
const/4 v0, 0x1
iput-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mWaitingOnRead:Z
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Unable to call native read"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_40
monitor-exit v7
:try_end_41
.catchall {:try_start_19 .. :try_end_41} :catchall_15
goto :goto_22
.end method
.method public setHttpMethod(Ljava/lang/String;)V
.registers 4
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->checkNotStarted()V
if-nez p1, :cond_d
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Method is required."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_d
iput-object p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
return-void
.end method
.method public setOnDestroyedCallbackForTesting(Ljava/lang/Runnable;)V
.registers 4
.annotation build Laegon/chrome/base/VisibleForTesting;
.end annotation
iget-object v1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iput-object p1, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mOnDestroyedCallbackForTesting:Ljava/lang/Runnable;
monitor-exit v1
return-void
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public setOnDestroyedUploadCallbackForTesting(Ljava/lang/Runnable;)V
.registers 3
.annotation build Laegon/chrome/base/VisibleForTesting;
.end annotation
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
invoke-virtual {v0, p1}, Laegon/chrome/net/impl/CronetUploadDataStream;->setOnDestroyedCallbackForTesting(Ljava/lang/Runnable;)V
return-void
.end method
.method public setUploadDataProvider(Laegon/chrome/net/UploadDataProvider;Ljava/util/concurrent/Executor;)V
.registers 5
if-nez p1, :cond_a
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Invalid UploadDataProvider."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_a
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
if-nez v0, :cond_12
const-string v0, "POST"
iput-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
:cond_12
new-instance v0, Laegon/chrome/net/impl/CronetUploadDataStream;
invoke-direct {v0, p1, p2, p0}, Laegon/chrome/net/impl/CronetUploadDataStream;-><init>(Laegon/chrome/net/UploadDataProvider;Ljava/util/concurrent/Executor;Laegon/chrome/net/impl/CronetUrlRequest;)V
iput-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
return-void
.end method
.method public start()V
.registers 11
const/4 v4, 0x1
iget-object v5, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapterLock:Ljava/lang/Object;
monitor-enter v5
:try_start_4
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->checkNotStarted()V
:try_end_7
.catchall {:try_start_4 .. :try_end_7} :catchall_4b
:try_start_7
invoke-static {p0}, Laegon/chrome/net/impl/CronetUrlRequest$$Lambda$1;->lambdaFactory$(Laegon/chrome/net/impl/CronetUrlRequest;)Laegon/chrome/net/impl/SafeNativeFunctionCaller$Supplier;
move-result-object v0
invoke-static {v0}, Laegon/chrome/net/impl/SafeNativeFunctionCaller;->EnsureResult(Laegon/chrome/net/impl/SafeNativeFunctionCaller$Supplier;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
iput-wide v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestContext:Laegon/chrome/net/impl/CronetUrlRequestContext;
invoke-virtual {v0}, Laegon/chrome/net/impl/CronetUrlRequestContext;->onRequestStarted()V
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
if-eqz v0, :cond_4e
iget-wide v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
iget-object v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
invoke-direct {p0, v0, v1, v2}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeSetHttpMethod(JLjava/lang/String;)Z
move-result v0
if-nez v0, :cond_4e
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid http method "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mInitialMethod:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_45
.catch Ljava/lang/RuntimeException; {:try_start_7 .. :try_end_45} :catch_45
.catchall {:try_start_7 .. :try_end_45} :catchall_4b
:catch_45
move-exception v0
const/4 v1, 0x1
:try_start_47
invoke-direct {p0, v1}, Laegon/chrome/net/impl/CronetUrlRequest;->destroyRequestAdapterLocked(I)V
throw v0
:catchall_4b
move-exception v0
monitor-exit v5
:try_end_4d
.catchall {:try_start_47 .. :try_end_4d} :catchall_4b
throw v0
:cond_4e
const/4 v2, 0x0
:try_start_4f
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mRequestHeaders:Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;
invoke-virtual {v0}, Laegon/chrome/net/impl/CronetUrlRequest$HeadersList;->iterator()Ljava/util/Iterator;
move-result-object v6
:goto_55
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_c1
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
const-string v3, "Content-Type"
invoke-virtual {v1, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_e6
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_e6
move v3, v4
:goto_7c
iget-wide v8, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUrlRequestAdapter:J
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-direct {p0, v8, v9, v1, v2}, Laegon/chrome/net/impl/CronetUrlRequest;->nativeAddRequestHeader(JLjava/lang/String;Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_bf
new-instance v2, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid header "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, "="
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v2
:cond_bf
move v2, v3
goto :goto_55
:cond_c1
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
if-eqz v0, :cond_de
if-nez v2, :cond_cf
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Requests with upload data must have a Content-Type."
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_cf
const/4 v0, 0x1
iput-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mStarted:Z
iget-object v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mUploadDataStream:Laegon/chrome/net/impl/CronetUploadDataStream;
new-instance v1, Laegon/chrome/net/impl/CronetUrlRequest$1;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/CronetUrlRequest$1;-><init>(Laegon/chrome/net/impl/CronetUrlRequest;)V
invoke-virtual {v0, v1}, Laegon/chrome/net/impl/CronetUploadDataStream;->postTaskToExecutor(Ljava/lang/Runnable;)V
:try_end_dc
.catch Ljava/lang/RuntimeException; {:try_start_4f .. :try_end_dc} :catch_45
.catchall {:try_start_4f .. :try_end_dc} :catchall_4b
:try_start_dc
monitor-exit v5
:goto_dd
return-void
:cond_de
const/4 v0, 0x1
iput-boolean v0, p0, Laegon/chrome/net/impl/CronetUrlRequest;->mStarted:Z
invoke-direct {p0}, Laegon/chrome/net/impl/CronetUrlRequest;->startInternalLocked()V
monitor-exit v5
:try_end_e5
.catchall {:try_start_dc .. :try_end_e5} :catchall_4b
goto :goto_dd
:cond_e6
move v3, v2
goto :goto_7c
.end method