JavaUrlRequest.smali
.class final Laegon/chrome/net/impl/JavaUrlRequest;
.super Laegon/chrome/net/impl/UrlRequestBase;
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xe
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Laegon/chrome/net/impl/JavaUrlRequest$DirectPreventingExecutor;,
Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;,
Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;,
Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;,
Laegon/chrome/net/impl/JavaUrlRequest$SinkState;,
Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;,
Laegon/chrome/net/impl/JavaUrlRequest$State;
}
.end annotation
# static fields
.field private static final DEFAULT_CHUNK_LENGTH:I = 0x2000
.field private static final DEFAULT_UPLOAD_BUFFER_SIZE:I = 0x2000
.field private static final TAG:Ljava/lang/String;
.field private static final USER_AGENT:Ljava/lang/String; = "User-Agent"
.field private static final X_ANDROID:Ljava/lang/String; = "X-Android"
.field private static final X_ANDROID_SELECTED_TRANSPORT:Ljava/lang/String; = "X-Android-Selected-Transport"
# instance fields
.field private volatile mAdditionalStatusDetails:I
.field private final mAllowDirectExecutor:Z
.field private final mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
.field private mCurrentUrl:Ljava/lang/String;
.field private mCurrentUrlConnection:Ljava/net/HttpURLConnection;
.field private final mExecutor:Ljava/util/concurrent/Executor;
.field private mInitialMethod:Ljava/lang/String;
.field private mOutputStreamDataSink:Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;
.field private mPendingRedirectUrl:Ljava/lang/String;
.field private final mRequestHeaders:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private mResponseChannel:Ljava/nio/channels/ReadableByteChannel;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end field
.field private final mState:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private mUploadDataProvider:Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
.field private mUploadExecutor:Ljava/util/concurrent/Executor;
.field private final mUploadProviderClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
.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 mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
.field private final mUserAgent:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-class v0, Laegon/chrome/net/impl/JavaUrlRequest;
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
sput-object v0, Laegon/chrome/net/impl/JavaUrlRequest;->TAG:Ljava/lang/String;
return-void
.end method
.method constructor <init>(Laegon/chrome/net/UrlRequest$Callback;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/lang/String;Ljava/lang/String;ZZIZI)V
.registers 18
invoke-direct {p0}, Laegon/chrome/net/impl/UrlRequestBase;-><init>()V
new-instance v0, Ljava/util/TreeMap;
sget-object v1, Ljava/lang/String;->CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
invoke-direct {v0, v1}, Ljava/util/TreeMap;-><init>(Ljava/util/Comparator;)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlChain:Ljava/util/List;
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadProviderClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v0, -0x1
iput v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAdditionalStatusDetails:I
if-nez p4, :cond_34
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "URL is required"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_34
if-nez p1, :cond_3e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Listener is required"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_3e
if-nez p2, :cond_48
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Executor is required"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_48
if-nez p3, :cond_52
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "userExecutor is required"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_52
iput-boolean p6, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAllowDirectExecutor:Z
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
invoke-direct {v0, p0, p1, p3}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/UrlRequest$Callback;Ljava/util/concurrent/Executor;)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
if-eqz p7, :cond_75
move v3, p8
:goto_5e
new-instance v6, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$1;
move-object v1, p0
move-object v2, p2
move/from16 v4, p9
move/from16 v5, p10
invoke-direct/range {v0 .. v5}, Laegon/chrome/net/impl/JavaUrlRequest$1;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/util/concurrent/Executor;IZI)V
invoke-direct {v6, v0}, Laegon/chrome/net/impl/JavaUrlRequest$SerializingExecutor;-><init>(Ljava/util/concurrent/Executor;)V
iput-object v6, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
iput-object p4, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCurrentUrl:Ljava/lang/String;
iput-object p5, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUserAgent:Ljava/lang/String;
return-void
:cond_75
invoke-static {}, Landroid/net/TrafficStats;->getThreadStatsTag()I
move-result v3
goto :goto_5e
.end method
.method static synthetic access$1000(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/lang/String;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCurrentUrl:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$1002(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/String;)Ljava/lang/String;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCurrentUrl:Ljava/lang/String;
return-object p1
.end method
.method static synthetic access$1100(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/util/List;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlChain:Ljava/util/List;
return-object v0
.end method
.method static synthetic access$1200(Laegon/chrome/net/impl/JavaUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireOpenConnection()V
return-void
.end method
.method static synthetic access$1300(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/lang/String;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mPendingRedirectUrl:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$1302(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/String;)Ljava/lang/String;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mPendingRedirectUrl:Ljava/lang/String;
return-object p1
.end method
.method static synthetic access$1400(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/net/HttpURLConnection;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCurrentUrlConnection:Ljava/net/HttpURLConnection;
return-object v0
.end method
.method static synthetic access$1402(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/net/HttpURLConnection;)Ljava/net/HttpURLConnection;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCurrentUrlConnection:Ljava/net/HttpURLConnection;
return-object p1
.end method
.method static synthetic access$1500(Laegon/chrome/net/impl/JavaUrlRequest;)Laegon/chrome/net/impl/UrlResponseInfoImpl;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
return-object v0
.end method
.method static synthetic access$1502(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/UrlResponseInfoImpl;)Laegon/chrome/net/impl/UrlResponseInfoImpl;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
return-object p1
.end method
.method static synthetic access$1600(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/util/Map;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->fireRedirectReceived(Ljava/util/Map;)V
return-void
.end method
.method static synthetic access$1700(Laegon/chrome/net/impl/JavaUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireCloseUploadDataProvider()V
return-void
.end method
.method static synthetic access$1800(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/nio/channels/ReadableByteChannel;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mResponseChannel:Ljava/nio/channels/ReadableByteChannel;
return-object v0
.end method
.method static synthetic access$1802(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/nio/channels/ReadableByteChannel;)Ljava/nio/channels/ReadableByteChannel;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mResponseChannel:Ljava/nio/channels/ReadableByteChannel;
return-object p1
.end method
.method static synthetic access$1900(Laegon/chrome/net/impl/JavaUrlRequest;)Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
return-object v0
.end method
.method static synthetic access$2000(Laegon/chrome/net/impl/JavaUrlRequest;)Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadDataProvider:Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
return-object v0
.end method
.method static synthetic access$2100(Laegon/chrome/net/impl/JavaUrlRequest;IILjava/lang/Runnable;)V
.registers 4
invoke-direct {p0, p1, p2, p3}, Laegon/chrome/net/impl/JavaUrlRequest;->transitionStates(IILjava/lang/Runnable;)V
return-void
.end method
.method static synthetic access$2200(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/util/concurrent/atomic/AtomicReference;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
return-object v0
.end method
.method static synthetic access$2300(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/util/Map;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
return-object v0
.end method
.method static synthetic access$2400(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/lang/String;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUserAgent:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$2500(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/lang/String;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mInitialMethod:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$2502(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/String;)Ljava/lang/String;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mInitialMethod:Ljava/lang/String;
return-object p1
.end method
.method static synthetic access$2600(Laegon/chrome/net/impl/JavaUrlRequest;)Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mOutputStreamDataSink:Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;
return-object v0
.end method
.method static synthetic access$2602(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;)Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;
.registers 2
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mOutputStreamDataSink:Laegon/chrome/net/impl/JavaUrlRequest$OutputStreamDataSink;
return-object p1
.end method
.method static synthetic access$2700(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/util/concurrent/Executor;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadExecutor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method static synthetic access$2800(Laegon/chrome/net/impl/JavaUrlRequest;)Ljava/util/concurrent/Executor;
.registers 2
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method static synthetic access$2900(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/Throwable;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->enterCronetErrorState(Ljava/lang/Throwable;)V
return-void
.end method
.method static synthetic access$3000(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/Throwable;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->enterUserErrorState(Ljava/lang/Throwable;)V
return-void
.end method
.method static synthetic access$3100(Laegon/chrome/net/impl/JavaUrlRequest;ILjava/nio/ByteBuffer;)V
.registers 3
invoke-direct {p0, p1, p2}, Laegon/chrome/net/impl/JavaUrlRequest;->processReadResult(ILjava/nio/ByteBuffer;)V
return-void
.end method
.method static synthetic access$3200()Ljava/lang/String;
.registers 1
sget-object v0, Laegon/chrome/net/impl/JavaUrlRequest;->TAG:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$3300(Laegon/chrome/net/impl/JavaUrlRequest;)Z
.registers 2
iget-boolean v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAllowDirectExecutor:Z
return v0
.end method
.method static synthetic access$3400(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->userErrorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v0
return-object v0
.end method
.method static synthetic access$3500(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/CronetException;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->enterErrorState(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method static synthetic access$3600(Laegon/chrome/net/impl/JavaUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->closeResponseChannel()V
return-void
.end method
.method static synthetic access$400(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/lang/Throwable;)V
.registers 2
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->enterUploadErrorState(Ljava/lang/Throwable;)V
return-void
.end method
.method static synthetic access$600(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->errorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v0
return-object v0
.end method
.method static synthetic access$702(Laegon/chrome/net/impl/JavaUrlRequest;I)I
.registers 2
iput p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAdditionalStatusDetails:I
return p1
.end method
.method static synthetic access$800(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->uploadErrorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v0
return-object v0
.end method
.method static synthetic access$900(Laegon/chrome/net/impl/JavaUrlRequest;)V
.registers 1
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireGetHeaders()V
return-void
.end method
.method private checkNotStarted()V
.registers 5
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-eqz v0, :cond_27
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Request is already started. State is: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
:cond_27
return-void
.end method
.method private closeResponseChannel()V
.registers 3
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
new-instance v1, Laegon/chrome/net/impl/JavaUrlRequest$13;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/JavaUrlRequest$13;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private enterCronetErrorState(Ljava/lang/Throwable;)V
.registers 4
new-instance v0, Laegon/chrome/net/impl/CronetExceptionImpl;
const-string v1, "System error"
invoke-direct {v0, v1, p1}, Laegon/chrome/net/impl/CronetExceptionImpl;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
invoke-direct {p0, v0}, Laegon/chrome/net/impl/JavaUrlRequest;->enterErrorState(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method private enterErrorState(Laegon/chrome/net/CronetException;)V
.registers 4
const/4 v0, 0x6
invoke-direct {p0, v0}, Laegon/chrome/net/impl/JavaUrlRequest;->setTerminalState(I)Z
move-result v0
if-eqz v0, :cond_14
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireDisconnect()V
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireCloseUploadDataProvider()V
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, v1, p1}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;->onFailed(Laegon/chrome/net/UrlResponseInfo;Laegon/chrome/net/CronetException;)V
:cond_14
return-void
.end method
.method private enterUploadErrorState(Ljava/lang/Throwable;)V
.registers 4
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
invoke-direct {p0, v0}, Laegon/chrome/net/impl/JavaUrlRequest;->enterErrorState(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method private enterUserErrorState(Ljava/lang/Throwable;)V
.registers 4
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
invoke-direct {p0, v0}, Laegon/chrome/net/impl/JavaUrlRequest;->enterErrorState(Laegon/chrome/net/CronetException;)V
return-void
.end method
.method private errorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$8;
invoke-direct {v0, p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest$8;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)V
return-object v0
.end method
.method private fireCloseUploadDataProvider()V
.registers 4
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadDataProvider:Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
if-eqz v0, :cond_1c
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadProviderClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_1c
:try_start_e
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadExecutor:Ljava/util/concurrent/Executor;
new-instance v1, Laegon/chrome/net/impl/JavaUrlRequest$5;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/JavaUrlRequest$5;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/JavaUrlRequest;->uploadErrorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
:try_end_1c
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_e .. :try_end_1c} :catch_1d
:cond_1c
:goto_1c
return-void
:catch_1d
move-exception v0
sget-object v1, Laegon/chrome/net/impl/JavaUrlRequest;->TAG:Ljava/lang/String;
const-string v2, "Exception when closing uploadDataProvider"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_1c
.end method
.method private fireDisconnect()V
.registers 3
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
new-instance v1, Laegon/chrome/net/impl/JavaUrlRequest$12;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/JavaUrlRequest$12;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private fireGetHeaders()V
.registers 3
const/16 v0, 0xd
iput v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAdditionalStatusDetails:I
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
new-instance v1, Laegon/chrome/net/impl/JavaUrlRequest$4;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/JavaUrlRequest$4;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/JavaUrlRequest;->errorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private fireOpenConnection()V
.registers 3
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mExecutor:Ljava/util/concurrent/Executor;
new-instance v1, Laegon/chrome/net/impl/JavaUrlRequest$7;
invoke-direct {v1, p0}, Laegon/chrome/net/impl/JavaUrlRequest$7;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-direct {p0, v1}, Laegon/chrome/net/impl/JavaUrlRequest;->errorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private fireRedirectReceived(Ljava/util/Map;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;>;)V"
}
.end annotation
const/4 v0, 0x1
const/4 v1, 0x2
new-instance v2, Laegon/chrome/net/impl/JavaUrlRequest$6;
invoke-direct {v2, p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest$6;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/util/Map;)V
invoke-direct {p0, v0, v1, v2}, Laegon/chrome/net/impl/JavaUrlRequest;->transitionStates(IILjava/lang/Runnable;)V
return-void
.end method
.method private isValidHeaderName(Ljava/lang/String;)Z
.registers 6
const/4 v1, 0x0
move v0, v1
:goto_2
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
if-ge v0, v2, :cond_1f
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v2
sparse-switch v2, :sswitch_data_22
invoke-static {v2}, Ljava/lang/Character;->isISOControl(C)Z
move-result v3
if-nez v3, :cond_1b
invoke-static {v2}, Ljava/lang/Character;->isWhitespace(C)Z
move-result v2
if-eqz v2, :cond_1c
:cond_1b
:goto_1b
:sswitch_1b
return v1
:cond_1c
add-int/lit8 v0, v0, 0x1
goto :goto_2
:cond_1f
const/4 v1, 0x1
goto :goto_1b
nop
:sswitch_data_22
.sparse-switch
0x27 -> :sswitch_1b
0x28 -> :sswitch_1b
0x29 -> :sswitch_1b
0x2c -> :sswitch_1b
0x2f -> :sswitch_1b
0x3a -> :sswitch_1b
0x3b -> :sswitch_1b
0x3c -> :sswitch_1b
0x3d -> :sswitch_1b
0x3e -> :sswitch_1b
0x3f -> :sswitch_1b
0x40 -> :sswitch_1b
0x5b -> :sswitch_1b
0x5c -> :sswitch_1b
0x5d -> :sswitch_1b
0x7b -> :sswitch_1b
0x7d -> :sswitch_1b
.end sparse-switch
.end method
.method private processReadResult(ILjava/nio/ByteBuffer;)V
.registers 6
const/4 v0, -0x1
if-eq p1, v0, :cond_b
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, v1, p2}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;->onReadCompleted(Laegon/chrome/net/UrlResponseInfo;Ljava/nio/ByteBuffer;)V
:cond_a
:goto_a
return-void
:cond_b
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mResponseChannel:Ljava/nio/channels/ReadableByteChannel;
if-eqz v0, :cond_14
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mResponseChannel:Ljava/nio/channels/ReadableByteChannel;
invoke-interface {v0}, Ljava/nio/channels/ReadableByteChannel;->close()V
:cond_14
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x5
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const/4 v2, 0x7
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireDisconnect()V
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, v1}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;->onSucceeded(Laegon/chrome/net/UrlResponseInfo;)V
goto :goto_a
.end method
.method private setTerminalState(I)Z
.registers 5
:cond_0
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
packed-switch v0, :pswitch_data_2c
:pswitch_f
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v1, v0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_20
return v0
:pswitch_21
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Can\'t enter error state before start"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_29
const/4 v0, 0x0
goto :goto_20
nop
:pswitch_data_2c
.packed-switch 0x0
:pswitch_21
:pswitch_f
:pswitch_f
:pswitch_f
:pswitch_f
:pswitch_f
:pswitch_29
:pswitch_29
:pswitch_29
.end packed-switch
.end method
.method private transitionStates(IILjava/lang/Runnable;)V
.registers 8
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_46
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
const/16 v1, 0x8
if-eq v0, v1, :cond_49
const/4 v1, 0x6
if-eq v0, v1, :cond_49
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid state transition - expected "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
:cond_46
invoke-interface {p3}, Ljava/lang/Runnable;->run()V
:cond_49
return-void
.end method
.method private uploadErrorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$10;
invoke-direct {v0, p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest$10;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)V
return-object v0
.end method
.method private userErrorSetting(Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)Ljava/lang/Runnable;
.registers 3
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$9;
invoke-direct {v0, p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest$9;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Laegon/chrome/net/impl/JavaUrlRequest$CheckedRunnable;)V
return-object v0
.end method
# virtual methods
.method public addHeader(Ljava/lang/String;Ljava/lang/String;)V
.registers 6
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->checkNotStarted()V
invoke-direct {p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest;->isValidHeaderName(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_11
const-string v0, "\r\n"
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_34
:cond_11
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid header "
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(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, 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
:cond_34
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_41
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_41
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public cancel()V
.registers 3
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
const/16 v1, 0x8
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
packed-switch v0, :pswitch_data_24
:goto_15
:pswitch_15
return-void
:pswitch_16
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireDisconnect()V
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->fireCloseUploadDataProvider()V
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUrlResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-virtual {v0, v1}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;->onCanceled(Laegon/chrome/net/UrlResponseInfo;)V
goto :goto_15
:pswitch_data_24
.packed-switch 0x1
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_15
:pswitch_15
:pswitch_15
.end packed-switch
.end method
.method public followRedirect()V
.registers 4
const/4 v0, 0x3
const/4 v1, 0x1
new-instance v2, Laegon/chrome/net/impl/JavaUrlRequest$3;
invoke-direct {v2, p0}, Laegon/chrome/net/impl/JavaUrlRequest$3;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-direct {p0, v0, v1, v2}, Laegon/chrome/net/impl/JavaUrlRequest;->transitionStates(IILjava/lang/Runnable;)V
return-void
.end method
.method public getStatus(Laegon/chrome/net/UrlRequest$StatusListener;)V
.registers 6
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v1
iget v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAdditionalStatusDetails:I
packed-switch v1, :pswitch_data_3c
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Switch is exhaustive: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, 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
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_2a
const/4 v0, -0x1
:goto_2b
:pswitch_2b
iget-object v1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mCallbackAsync:Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;
new-instance v2, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;
invoke-direct {v2, p1}, Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;-><init>(Laegon/chrome/net/UrlRequest$StatusListener;)V
invoke-virtual {v1, v2, v0}, Laegon/chrome/net/impl/JavaUrlRequest$AsyncUrlRequestCallback;->sendStatus(Laegon/chrome/net/impl/VersionSafeCallbacks$UrlRequestStatusListener;I)V
return-void
:pswitch_36
const/4 v0, 0x0
goto :goto_2b
:pswitch_38
const/16 v0, 0xe
goto :goto_2b
nop
:pswitch_data_3c
.packed-switch 0x0
:pswitch_2a
:pswitch_2b
:pswitch_36
:pswitch_36
:pswitch_36
:pswitch_38
:pswitch_2a
:pswitch_2a
:pswitch_2a
.end packed-switch
.end method
.method public isDone()Z
.registers 3
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mState:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
const/4 v1, 0x7
if-eq v0, v1, :cond_16
const/4 v1, 0x6
if-eq v0, v1, :cond_16
const/16 v1, 0x8
if-ne v0, v1, :cond_18
:cond_16
const/4 v0, 0x1
:goto_17
return v0
:cond_18
const/4 v0, 0x0
goto :goto_17
.end method
.method public read(Ljava/nio/ByteBuffer;)V
.registers 5
invoke-static {p1}, Laegon/chrome/net/impl/Preconditions;->checkDirect(Ljava/nio/ByteBuffer;)V
invoke-static {p1}, Laegon/chrome/net/impl/Preconditions;->checkHasRemaining(Ljava/nio/ByteBuffer;)V
const/4 v0, 0x4
const/4 v1, 0x5
new-instance v2, Laegon/chrome/net/impl/JavaUrlRequest$11;
invoke-direct {v2, p0, p1}, Laegon/chrome/net/impl/JavaUrlRequest$11;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;Ljava/nio/ByteBuffer;)V
invoke-direct {p0, v0, v1, v2}, Laegon/chrome/net/impl/JavaUrlRequest;->transitionStates(IILjava/lang/Runnable;)V
return-void
.end method
.method public setHttpMethod(Ljava/lang/String;)V
.registers 5
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->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
const-string v0, "OPTIONS"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "GET"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "HEAD"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "POST"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "PUT"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "DELETE"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "TRACE"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_4d
const-string v0, "PATCH"
invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_50
:cond_4d
iput-object p1, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mInitialMethod:Ljava/lang/String;
return-void
:cond_50
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
invoke-virtual {v1, p1}, 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
.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/JavaUrlRequest;->mRequestHeaders:Ljava/util/Map;
const-string v1, "Content-Type"
invoke-interface {v0, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1c
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_1c
invoke-direct {p0}, Laegon/chrome/net/impl/JavaUrlRequest;->checkNotStarted()V
iget-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mInitialMethod:Ljava/lang/String;
if-nez v0, :cond_27
const-string v0, "POST"
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mInitialMethod:Ljava/lang/String;
:cond_27
new-instance v0, Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
invoke-direct {v0, p1}, Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;-><init>(Laegon/chrome/net/UploadDataProvider;)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadDataProvider:Laegon/chrome/net/impl/VersionSafeCallbacks$UploadDataProviderWrapper;
iget-boolean v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAllowDirectExecutor:Z
if-eqz v0, :cond_35
iput-object p2, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadExecutor:Ljava/util/concurrent/Executor;
:goto_34
return-void
:cond_35
new-instance v0, Laegon/chrome/net/impl/JavaUrlRequest$DirectPreventingExecutor;
invoke-direct {v0, p2}, Laegon/chrome/net/impl/JavaUrlRequest$DirectPreventingExecutor;-><init>(Ljava/util/concurrent/Executor;)V
iput-object v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mUploadExecutor:Ljava/util/concurrent/Executor;
goto :goto_34
.end method
.method public start()V
.registers 4
const/16 v0, 0xa
iput v0, p0, Laegon/chrome/net/impl/JavaUrlRequest;->mAdditionalStatusDetails:I
const/4 v0, 0x0
const/4 v1, 0x1
new-instance v2, Laegon/chrome/net/impl/JavaUrlRequest$2;
invoke-direct {v2, p0}, Laegon/chrome/net/impl/JavaUrlRequest$2;-><init>(Laegon/chrome/net/impl/JavaUrlRequest;)V
invoke-direct {p0, v0, v1, v2}, Laegon/chrome/net/impl/JavaUrlRequest;->transitionStates(IILjava/lang/Runnable;)V
return-void
.end method