NetworkingModule.smali
.class public final Lcom/facebook/react/modules/network/NetworkingModule;
.super Lcom/facebook/fbreact/specs/NativeNetworkingAndroidSpec;
.source "NetworkingModule.java"
# annotations
.annotation runtime Lcom/facebook/react/module/annotations/ReactModule;
name = "Networking"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;,
Lcom/facebook/react/modules/network/NetworkingModule$ResponseHandler;,
Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;,
Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;
}
.end annotation
# static fields
.field public static final CHUNK_TIMEOUT_NS:I = 0x5f5e100
.field public static final CONTENT_ENCODING_HEADER_NAME:Ljava/lang/String; = "content-encoding"
.field public static final CONTENT_TYPE_HEADER_NAME:Ljava/lang/String; = "content-type"
.field public static final MAX_CHUNK_SIZE_BETWEEN_FLUSHES:I = 0x2000
.field public static final NAME:Ljava/lang/String; = "Networking"
.field public static final REQUEST_BODY_KEY_BASE64:Ljava/lang/String; = "base64"
.field public static final REQUEST_BODY_KEY_FORMDATA:Ljava/lang/String; = "formData"
.field public static final REQUEST_BODY_KEY_STRING:Ljava/lang/String; = "string"
.field public static final REQUEST_BODY_KEY_URI:Ljava/lang/String; = "uri"
.field public static final TAG:Ljava/lang/String; = "NetworkingModule"
.field public static final USER_AGENT_HEADER_NAME:Ljava/lang/String; = "user-agent"
.field public static customClientBuilder:Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
# instance fields
.field public final mClient:Lokhttp3/OkHttpClient;
.field public final mCookieHandler:Lcom/facebook/react/modules/network/ForwardingCookieHandler;
.field public final mCookieJarContainer:Lcom/facebook/react/modules/network/CookieJarContainer;
.field public final mDefaultUserAgent:Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field public final mRequestBodyHandlers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;",
">;"
}
.end annotation
.end field
.field public final mRequestIds:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field public final mResponseHandlers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/react/modules/network/NetworkingModule$ResponseHandler;",
">;"
}
.end annotation
.end field
.field public mShuttingDown:Z
.field public final mUriHandlers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;",
">;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;)V
.registers 4
invoke-static {p1}, Lcom/facebook/react/modules/network/OkHttpClientProvider;->createClient(Landroid/content/Context;)Lokhttp3/OkHttpClient;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0, v1}, Lcom/facebook/react/modules/network/NetworkingModule;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;Ljava/util/List;)V
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;)V
.registers 5
invoke-static {p1}, Lcom/facebook/react/modules/network/OkHttpClientProvider;->createClient(Landroid/content/Context;)Lokhttp3/OkHttpClient;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, p1, p2, v0, v1}, Lcom/facebook/react/modules/network/NetworkingModule;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;Ljava/util/List;)V
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;)V
.registers 5
.param p1 # Lcom/facebook/react/bridge/ReactApplicationContext;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-direct {p0, p1, p2, p3, v0}, Lcom/facebook/react/modules/network/NetworkingModule;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;Ljava/util/List;)V
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;Ljava/util/List;)V
.registers 6
.param p1 # Lcom/facebook/react/bridge/ReactApplicationContext;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/react/bridge/ReactApplicationContext;",
"Ljava/lang/String;",
"Lokhttp3/OkHttpClient;",
"Ljava/util/List<",
"Lcom/facebook/react/modules/network/NetworkInterceptorCreator;",
">;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/facebook/fbreact/specs/NativeNetworkingAndroidSpec;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;)V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestBodyHandlers:Ljava/util/List;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mUriHandlers:Ljava/util/List;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mResponseHandlers:Ljava/util/List;
if-eqz p4, :cond_3a
invoke-virtual {p3}, Lokhttp3/OkHttpClient;->newBuilder()Lokhttp3/OkHttpClient$Builder;
move-result-object p3
invoke-interface {p4}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p4
:goto_22
invoke-interface {p4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_36
invoke-interface {p4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/facebook/react/modules/network/NetworkInterceptorCreator;
invoke-interface {v0}, Lcom/facebook/react/modules/network/NetworkInterceptorCreator;->create()Lokhttp3/Interceptor;
move-result-object v0
invoke-virtual {p3, v0}, Lokhttp3/OkHttpClient$Builder;->addNetworkInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient$Builder;
goto :goto_22
:cond_36
invoke-virtual {p3}, Lokhttp3/OkHttpClient$Builder;->build()Lokhttp3/OkHttpClient;
move-result-object p3
:cond_3a
iput-object p3, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mClient:Lokhttp3/OkHttpClient;
new-instance p3, Lcom/facebook/react/modules/network/ForwardingCookieHandler;
invoke-direct {p3, p1}, Lcom/facebook/react/modules/network/ForwardingCookieHandler;-><init>(Lcom/facebook/react/bridge/ReactContext;)V
iput-object p3, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieHandler:Lcom/facebook/react/modules/network/ForwardingCookieHandler;
iget-object p1, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mClient:Lokhttp3/OkHttpClient;
invoke-virtual {p1}, Lokhttp3/OkHttpClient;->cookieJar()Lokhttp3/CookieJar;
move-result-object p1
check-cast p1, Lcom/facebook/react/modules/network/CookieJarContainer;
iput-object p1, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieJarContainer:Lcom/facebook/react/modules/network/CookieJarContainer;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mShuttingDown:Z
iput-object p2, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mDefaultUserAgent:Ljava/lang/String;
new-instance p1, Ljava/util/HashSet;
invoke-direct {p1}, Ljava/util/HashSet;-><init>()V
iput-object p1, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestIds:Ljava/util/Set;
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/react/bridge/ReactApplicationContext;",
"Ljava/util/List<",
"Lcom/facebook/react/modules/network/NetworkInterceptorCreator;",
">;)V"
}
.end annotation
invoke-static {p1}, Lcom/facebook/react/modules/network/OkHttpClientProvider;->createClient(Landroid/content/Context;)Lokhttp3/OkHttpClient;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0, p2}, Lcom/facebook/react/modules/network/NetworkingModule;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;Ljava/lang/String;Lokhttp3/OkHttpClient;Ljava/util/List;)V
return-void
.end method
.method public static synthetic access$000(JJ)Z
.registers 4
invoke-static {p0, p1, p2, p3}, Lcom/facebook/react/modules/network/NetworkingModule;->shouldDispatch(JJ)Z
move-result p0
return p0
.end method
.method public static synthetic access$100(Lcom/facebook/react/modules/network/NetworkingModule;)Z
.registers 1
iget-boolean p0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mShuttingDown:Z
return p0
.end method
.method public static synthetic access$200(Lcom/facebook/react/modules/network/NetworkingModule;I)V
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/NetworkingModule;->removeRequest(I)V
return-void
.end method
.method public static synthetic access$300(Lokhttp3/Headers;)Lcom/facebook/react/bridge/WritableMap;
.registers 1
invoke-static {p0}, Lcom/facebook/react/modules/network/NetworkingModule;->translateHeaders(Lokhttp3/Headers;)Lcom/facebook/react/bridge/WritableMap;
move-result-object p0
return-object p0
.end method
.method public static synthetic access$400(Lcom/facebook/react/modules/network/NetworkingModule;)Ljava/util/List;
.registers 1
iget-object p0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mResponseHandlers:Ljava/util/List;
return-object p0
.end method
.method public static synthetic access$500(Lcom/facebook/react/modules/network/NetworkingModule;Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILokhttp3/ResponseBody;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1, p2, p3}, Lcom/facebook/react/modules/network/NetworkingModule;->readWithProgress(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILokhttp3/ResponseBody;)V
return-void
.end method
.method public static synthetic access$600(Lcom/facebook/react/modules/network/NetworkingModule;)Lokhttp3/OkHttpClient;
.registers 1
iget-object p0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mClient:Lokhttp3/OkHttpClient;
return-object p0
.end method
.method private declared-synchronized addRequest(I)V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestIds:Ljava/util/Set;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
monitor-exit p0
return-void
:catchall_c
move-exception p1
monitor-exit p0
throw p1
.end method
.method public static applyCustomBuilder(Lokhttp3/OkHttpClient$Builder;)V
.registers 2
sget-object v0, Lcom/facebook/react/modules/network/NetworkingModule;->customClientBuilder:Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;
if-eqz v0, :cond_7
invoke-interface {v0, p0}, Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;->apply(Lokhttp3/OkHttpClient$Builder;)V
:cond_7
return-void
.end method
.method private declared-synchronized cancelAllRequests()V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestIds:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_7
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1b
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
invoke-direct {p0, v1}, Lcom/facebook/react/modules/network/NetworkingModule;->cancelRequest(I)V
goto :goto_7
:cond_1b
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestIds:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->clear()V
:try_end_20
.catchall {:try_start_1 .. :try_end_20} :catchall_22
monitor-exit p0
return-void
:catchall_22
move-exception v0
monitor-exit p0
goto :goto_26
:goto_25
throw v0
:goto_26
goto :goto_25
.end method
.method private cancelRequest(I)V
.registers 4
new-instance v0, Lcom/facebook/react/modules/network/NetworkingModule$4;
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContext()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object v1
invoke-direct {v0, p0, v1, p1}, Lcom/facebook/react/modules/network/NetworkingModule$4;-><init>(Lcom/facebook/react/modules/network/NetworkingModule;Lcom/facebook/react/bridge/ReactContext;I)V
const/4 p1, 0x0
new-array p1, p1, [Ljava/lang/Void;
invoke-virtual {v0, p1}, Landroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
return-void
.end method
.method private constructMultipartBody(Lcom/facebook/react/bridge/ReadableArray;Ljava/lang/String;I)Lokhttp3/MultipartBody$Builder;
.registers 13
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "constructMultipartBody"
invoke-direct {p0, v0}, Lcom/facebook/react/modules/network/NetworkingModule;->getEventEmitter(Ljava/lang/String;)Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
move-result-object v0
new-instance v1, Lokhttp3/MultipartBody$Builder;
invoke-direct {v1}, Lokhttp3/MultipartBody$Builder;-><init>()V
invoke-static {p2}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object p2
invoke-virtual {v1, p2}, Lokhttp3/MultipartBody$Builder;->setType(Lokhttp3/MediaType;)Lokhttp3/MultipartBody$Builder;
invoke-interface {p1}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result p2
const/4 v2, 0x0
:goto_17
if-ge v2, p2, :cond_a2
invoke-interface {p1, v2}, Lcom/facebook/react/bridge/ReadableArray;->getMap(I)Lcom/facebook/react/bridge/ReadableMap;
move-result-object v3
const-string v4, "headers"
invoke-interface {v3, v4}, Lcom/facebook/react/bridge/ReadableMap;->getArray(Ljava/lang/String;)Lcom/facebook/react/bridge/ReadableArray;
move-result-object v4
const/4 v5, 0x0
invoke-direct {p0, v4, v5}, Lcom/facebook/react/modules/network/NetworkingModule;->extractHeaders(Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;)Lokhttp3/Headers;
move-result-object v4
if-nez v4, :cond_30
const-string p1, "Missing or invalid header format for FormData part."
invoke-static {v0, p3, p1, v5}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-object v5
:cond_30
const-string v6, "content-type"
invoke-virtual {v4, v6}, Lokhttp3/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
if-eqz v7, :cond_49
invoke-static {v7}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v7
invoke-virtual {v4}, Lokhttp3/Headers;->newBuilder()Lokhttp3/Headers$Builder;
move-result-object v4
invoke-virtual {v4, v6}, Lokhttp3/Headers$Builder;->removeAll(Ljava/lang/String;)Lokhttp3/Headers$Builder;
move-result-object v4
invoke-virtual {v4}, Lokhttp3/Headers$Builder;->build()Lokhttp3/Headers;
move-result-object v4
goto :goto_4a
:cond_49
move-object v7, v5
:goto_4a
const-string v6, "string"
invoke-interface {v3, v6}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_5e
invoke-interface {v3, v6}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v7, v3}, Lokhttp3/RequestBody;->create(Lokhttp3/MediaType;Ljava/lang/String;)Lokhttp3/RequestBody;
move-result-object v3
invoke-virtual {v1, v4, v3}, Lokhttp3/MultipartBody$Builder;->addPart(Lokhttp3/Headers;Lokhttp3/RequestBody;)Lokhttp3/MultipartBody$Builder;
goto :goto_9e
:cond_5e
const-string v6, "uri"
invoke-interface {v3, v6}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_99
if-nez v7, :cond_6e
const-string p1, "Binary FormData part needs a content-type header."
invoke-static {v0, p3, p1, v5}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-object v5
:cond_6e
invoke-interface {v3, v6}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContext()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object v6
invoke-static {v6, v3}, Lcom/facebook/react/modules/network/RequestBodyUtil;->getFileInputStream(Landroid/content/Context;Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v6
if-nez v6, :cond_91
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Could not retrieve file for uri "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p3, p1, v5}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-object v5
:cond_91
invoke-static {v7, v6}, Lcom/facebook/react/modules/network/RequestBodyUtil;->create(Lokhttp3/MediaType;Ljava/io/InputStream;)Lokhttp3/RequestBody;
move-result-object v3
invoke-virtual {v1, v4, v3}, Lokhttp3/MultipartBody$Builder;->addPart(Lokhttp3/Headers;Lokhttp3/RequestBody;)Lokhttp3/MultipartBody$Builder;
goto :goto_9e
:cond_99
const-string v3, "Unrecognized FormData part."
invoke-static {v0, p3, v3, v5}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
:goto_9e
add-int/lit8 v2, v2, 0x1
goto/16 :goto_17
:cond_a2
return-object v1
.end method
.method private extractHeaders(Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;)Lokhttp3/Headers;
.registers 12
.param p1 # Lcom/facebook/react/bridge/ReadableArray;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Lcom/facebook/react/bridge/ReadableMap;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
if-nez p1, :cond_4
return-object v0
:cond_4
new-instance v1, Lokhttp3/Headers$Builder;
invoke-direct {v1}, Lokhttp3/Headers$Builder;-><init>()V
invoke-interface {p1}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v2
const/4 v3, 0x0
const/4 v4, 0x0
:goto_f
const/4 v5, 0x1
if-ge v4, v2, :cond_3c
invoke-interface {p1, v4}, Lcom/facebook/react/bridge/ReadableArray;->getArray(I)Lcom/facebook/react/bridge/ReadableArray;
move-result-object v6
if-eqz v6, :cond_3b
invoke-interface {v6}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v7
const/4 v8, 0x2
if-eq v7, v8, :cond_20
goto :goto_3b
:cond_20
invoke-interface {v6, v3}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Lcom/facebook/react/modules/network/HeaderUtil;->stripHeaderName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
invoke-interface {v6, v5}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Lcom/facebook/react/modules/network/HeaderUtil;->stripHeaderValue(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
if-eqz v7, :cond_3b
if-nez v5, :cond_35
goto :goto_3b
:cond_35
invoke-virtual {v1, v7, v5}, Lokhttp3/Headers$Builder;->add(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;
add-int/lit8 v4, v4, 0x1
goto :goto_f
:cond_3b
:goto_3b
return-object v0
:cond_3c
const-string p1, "user-agent"
invoke-virtual {v1, p1}, Lokhttp3/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_4b
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mDefaultUserAgent:Ljava/lang/String;
if-eqz v0, :cond_4b
invoke-virtual {v1, p1, v0}, Lokhttp3/Headers$Builder;->add(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;
:cond_4b
if-eqz p2, :cond_56
const-string p1, "string"
invoke-interface {p2, p1}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_56
const/4 v3, 0x1
:cond_56
if-nez v3, :cond_5d
const-string p1, "content-encoding"
invoke-virtual {v1, p1}, Lokhttp3/Headers$Builder;->removeAll(Ljava/lang/String;)Lokhttp3/Headers$Builder;
:cond_5d
invoke-virtual {v1}, Lokhttp3/Headers$Builder;->build()Lokhttp3/Headers;
move-result-object p1
return-object p1
.end method
.method private getEventEmitter(Ljava/lang/String;)Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
.registers 3
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContextIfActiveOrWarn()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object p1
if-eqz p1, :cond_13
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContext()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object p1
const-class v0, Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
invoke-virtual {p1, v0}, Lcom/facebook/react/bridge/ReactContext;->getJSModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/JavaScriptModule;
move-result-object p1
check-cast p1, Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
return-object p1
:cond_13
const/4 p1, 0x0
return-object p1
.end method
.method private readWithProgress(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILokhttp3/ResponseBody;)V
.registers 18
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-wide/16 v0, -0x1
:try_start_2
move-object/from16 v2, p3
check-cast v2, Lcom/facebook/react/modules/network/ProgressResponseBody;
invoke-virtual {v2}, Lcom/facebook/react/modules/network/ProgressResponseBody;->totalBytesRead()J
move-result-wide v3
:try_end_a
.catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_a} :catch_11
:try_start_a
invoke-virtual {v2}, Lcom/facebook/react/modules/network/ProgressResponseBody;->contentLength()J
move-result-wide v0
:try_end_e
.catch Ljava/lang/ClassCastException; {:try_start_a .. :try_end_e} :catch_f
goto :goto_12
:catch_f
nop
goto :goto_12
:catch_11
move-wide v3, v0
:goto_12
invoke-virtual/range {p3 .. p3}, Lokhttp3/ResponseBody;->contentType()Lokhttp3/MediaType;
move-result-object v2
if-nez v2, :cond_1b
sget-object v2, Lcom/facebook/react/common/StandardCharsets;->UTF_8:Ljava/nio/charset/Charset;
goto :goto_25
:cond_1b
invoke-virtual/range {p3 .. p3}, Lokhttp3/ResponseBody;->contentType()Lokhttp3/MediaType;
move-result-object v2
sget-object v5, Lcom/facebook/react/common/StandardCharsets;->UTF_8:Ljava/nio/charset/Charset;
invoke-virtual {v2, v5}, Lokhttp3/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
move-result-object v2
:goto_25
new-instance v12, Lcom/facebook/react/modules/network/ProgressiveStringDecoder;
invoke-direct {v12, v2}, Lcom/facebook/react/modules/network/ProgressiveStringDecoder;-><init>(Ljava/nio/charset/Charset;)V
invoke-virtual/range {p3 .. p3}, Lokhttp3/ResponseBody;->byteStream()Ljava/io/InputStream;
move-result-object v2
const/16 v5, 0x2000
:try_start_30
new-array v13, v5, [B
:goto_32
invoke-virtual {v2, v13}, Ljava/io/InputStream;->read([B)I
move-result v5
const/4 v6, -0x1
if-eq v5, v6, :cond_46
invoke-virtual {v12, v13, v5}, Lcom/facebook/react/modules/network/ProgressiveStringDecoder;->decodeNext([BI)Ljava/lang/String;
move-result-object v7
move-object v5, p1
move/from16 v6, p2
move-wide v8, v3
move-wide v10, v0
invoke-static/range {v5 .. v11}, Lcom/facebook/react/modules/network/ResponseUtil;->onIncrementalDataReceived(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;JJ)V
:try_end_45
.catchall {:try_start_30 .. :try_end_45} :catchall_4a
goto :goto_32
:cond_46
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return-void
:catchall_4a
move-exception v0
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
goto :goto_50
:goto_4f
throw v0
:goto_50
goto :goto_4f
.end method
.method private declared-synchronized removeRequest(I)V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestIds:Ljava/util/Set;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
monitor-exit p0
return-void
:catchall_c
move-exception p1
monitor-exit p0
throw p1
.end method
.method public static setCustomClientBuilder(Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;)V
.registers 1
sput-object p0, Lcom/facebook/react/modules/network/NetworkingModule;->customClientBuilder:Lcom/facebook/react/modules/network/NetworkingModule$CustomClientBuilder;
return-void
.end method
.method public static shouldDispatch(JJ)Z
.registers 6
const-wide/32 v0, 0x5f5e100
add-long/2addr p2, v0
cmp-long v0, p2, p0
if-gez v0, :cond_a
const/4 p0, 0x1
goto :goto_b
:cond_a
const/4 p0, 0x0
:goto_b
return p0
.end method
.method public static translateHeaders(Lokhttp3/Headers;)Lcom/facebook/react/bridge/WritableMap;
.registers 6
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const/4 v1, 0x0
:goto_6
invoke-virtual {p0}, Lokhttp3/Headers;->size()I
move-result v2
if-ge v1, v2, :cond_40
invoke-virtual {p0, v1}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_36
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v2}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v1}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_3d
:cond_36
invoke-virtual {p0, v1}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
:goto_3d
add-int/lit8 v1, v1, 0x1
goto :goto_6
:cond_40
invoke-static {v0}, Lcom/facebook/react/bridge/Arguments;->fromBundle(Landroid/os/Bundle;)Lcom/facebook/react/bridge/WritableMap;
move-result-object p0
return-object p0
.end method
.method private wrapRequestBodyWithProgressEmitter(Lokhttp3/RequestBody;Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;I)Lokhttp3/RequestBody;
.registers 5
if-nez p1, :cond_4
const/4 p1, 0x0
return-object p1
:cond_4
new-instance v0, Lcom/facebook/react/modules/network/NetworkingModule$3;
invoke-direct {v0, p0, p2, p3}, Lcom/facebook/react/modules/network/NetworkingModule$3;-><init>(Lcom/facebook/react/modules/network/NetworkingModule;Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;I)V
invoke-static {p1, v0}, Lcom/facebook/react/modules/network/RequestBodyUtil;->createProgressRequest(Lokhttp3/RequestBody;Lcom/facebook/react/modules/network/ProgressListener;)Lcom/facebook/react/modules/network/ProgressRequestBody;
move-result-object p1
return-object p1
.end method
# virtual methods
.method public abortRequest(D)V
.registers 3
double-to-int p1, p1
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/NetworkingModule;->cancelRequest(I)V
invoke-direct {p0, p1}, Lcom/facebook/react/modules/network/NetworkingModule;->removeRequest(I)V
return-void
.end method
.method public addListener(Ljava/lang/String;)V
.registers 2
return-void
.end method
.method public addRequestBodyHandler(Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestBodyHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addResponseHandler(Lcom/facebook/react/modules/network/NetworkingModule$ResponseHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mResponseHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addUriHandler(Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mUriHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public clearCookies(Lcom/facebook/react/bridge/Callback;)V
.registers 3
.annotation runtime Lcom/facebook/react/bridge/ReactMethod;
.end annotation
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieHandler:Lcom/facebook/react/modules/network/ForwardingCookieHandler;
invoke-virtual {v0, p1}, Lcom/facebook/react/modules/network/ForwardingCookieHandler;->clearCookies(Lcom/facebook/react/bridge/Callback;)V
return-void
.end method
.method public getName()Ljava/lang/String;
.registers 2
const-string v0, "Networking"
return-object v0
.end method
.method public initialize()V
.registers 4
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieJarContainer:Lcom/facebook/react/modules/network/CookieJarContainer;
new-instance v1, Lokhttp3/JavaNetCookieJar;
iget-object v2, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieHandler:Lcom/facebook/react/modules/network/ForwardingCookieHandler;
invoke-direct {v1, v2}, Lokhttp3/JavaNetCookieJar;-><init>(Ljava/net/CookieHandler;)V
invoke-interface {v0, v1}, Lcom/facebook/react/modules/network/CookieJarContainer;->setCookieJar(Lokhttp3/CookieJar;)V
return-void
.end method
.method public onCatalystInstanceDestroy()V
.registers 2
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mShuttingDown:Z
invoke-direct {p0}, Lcom/facebook/react/modules/network/NetworkingModule;->cancelAllRequests()V
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieHandler:Lcom/facebook/react/modules/network/ForwardingCookieHandler;
invoke-virtual {v0}, Lcom/facebook/react/modules/network/ForwardingCookieHandler;->destroy()V
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mCookieJarContainer:Lcom/facebook/react/modules/network/CookieJarContainer;
invoke-interface {v0}, Lcom/facebook/react/modules/network/CookieJarContainer;->removeCookieJar()V
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestBodyHandlers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mResponseHandlers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mUriHandlers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method public removeListeners(D)V
.registers 3
return-void
.end method
.method public removeRequestBodyHandler(Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestBodyHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeResponseHandler(Lcom/facebook/react/modules/network/NetworkingModule$ResponseHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mResponseHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeUriHandler(Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;)V
.registers 3
iget-object v0, p0, Lcom/facebook/react/modules/network/NetworkingModule;->mUriHandlers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public sendRequest(Ljava/lang/String;Ljava/lang/String;DLcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;Ljava/lang/String;ZDZ)V
.registers 23
move-wide v0, p3
double-to-int v10, v0
move-wide/from16 v0, p9
double-to-int v8, v0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, v10
move-object/from16 v4, p5
move-object/from16 v5, p6
move-object/from16 v6, p7
move/from16 v7, p8
move/from16 v9, p11
:try_start_13
invoke-virtual/range {v0 .. v9}, Lcom/facebook/react/modules/network/NetworkingModule;->sendRequestInternal(Ljava/lang/String;Ljava/lang/String;ILcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;Ljava/lang/String;ZIZ)V
:try_end_16
.catchall {:try_start_13 .. :try_end_16} :catchall_18
move-object v2, p0
goto :goto_41
:catchall_18
move-exception v0
move-object v1, v0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Failed to send url request: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-object v2, p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "NetworkingModule"
invoke-static {v2, v0, v1}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
const-string v0, "sendRequest error"
move-object v2, p0
invoke-direct {p0, v0}, Lcom/facebook/react/modules/network/NetworkingModule;->getEventEmitter(Ljava/lang/String;)Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
move-result-object v0
if-eqz v0, :cond_41
invoke-virtual {v1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v3
invoke-static {v0, v10, v3, v1}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
:cond_41
:goto_41
return-void
.end method
.method public sendRequestInternal(Ljava/lang/String;Ljava/lang/String;ILcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;Ljava/lang/String;ZIZ)V
.registers 23
move-object v7, p0
move/from16 v3, p3
move-object/from16 v0, p5
move-object/from16 v5, p6
move/from16 v1, p8
const-string v2, "sendRequestInternal"
invoke-direct {p0, v2}, Lcom/facebook/react/modules/network/NetworkingModule;->getEventEmitter(Ljava/lang/String;)Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;
move-result-object v4
:try_start_f
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v2
iget-object v6, v7, Lcom/facebook/react/modules/network/NetworkingModule;->mUriHandlers:Ljava/util/List;
invoke-interface {v6}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v6
:cond_19
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z
move-result v8
if-eqz v8, :cond_36
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;
invoke-interface {v8, v2, v5}, Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;->supports(Landroid/net/Uri;Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_19
invoke-interface {v8, v2}, Lcom/facebook/react/modules/network/NetworkingModule$UriHandler;->fetch(Landroid/net/Uri;)Lcom/facebook/react/bridge/WritableMap;
move-result-object v0
invoke-static {v4, v3, v0}, Lcom/facebook/react/modules/network/ResponseUtil;->onDataReceived(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILcom/facebook/react/bridge/WritableMap;)V
invoke-static {v4, v3}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestSuccess(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;I)V
:try_end_35
.catch Ljava/io/IOException; {:try_start_f .. :try_end_35} :catch_1bb
return-void
:cond_36
const/4 v2, 0x0
:try_start_37
new-instance v6, Lokhttp3/Request$Builder;
invoke-direct {v6}, Lokhttp3/Request$Builder;-><init>()V
move-object v8, p2
invoke-virtual {v6, p2}, Lokhttp3/Request$Builder;->url(Ljava/lang/String;)Lokhttp3/Request$Builder;
move-result-object v6
:try_end_41
.catch Ljava/lang/Exception; {:try_start_37 .. :try_end_41} :catch_1b2
if-eqz v3, :cond_4a
invoke-static/range {p3 .. p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
invoke-virtual {v6, v8}, Lokhttp3/Request$Builder;->tag(Ljava/lang/Object;)Lokhttp3/Request$Builder;
:cond_4a
iget-object v8, v7, Lcom/facebook/react/modules/network/NetworkingModule;->mClient:Lokhttp3/OkHttpClient;
invoke-virtual {v8}, Lokhttp3/OkHttpClient;->newBuilder()Lokhttp3/OkHttpClient$Builder;
move-result-object v8
invoke-static {v8}, Lcom/facebook/react/modules/network/NetworkingModule;->applyCustomBuilder(Lokhttp3/OkHttpClient$Builder;)V
if-nez p9, :cond_5a
sget-object v9, Lokhttp3/CookieJar;->NO_COOKIES:Lokhttp3/CookieJar;
invoke-virtual {v8, v9}, Lokhttp3/OkHttpClient$Builder;->cookieJar(Lokhttp3/CookieJar;)Lokhttp3/OkHttpClient$Builder;
:cond_5a
if-eqz p7, :cond_64
new-instance v9, Lcom/facebook/react/modules/network/NetworkingModule$1;
invoke-direct {v9, p0, v5, v4, v3}, Lcom/facebook/react/modules/network/NetworkingModule$1;-><init>(Lcom/facebook/react/modules/network/NetworkingModule;Ljava/lang/String;Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;I)V
invoke-virtual {v8, v9}, Lokhttp3/OkHttpClient$Builder;->addNetworkInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient$Builder;
:cond_64
iget-object v9, v7, Lcom/facebook/react/modules/network/NetworkingModule;->mClient:Lokhttp3/OkHttpClient;
invoke-virtual {v9}, Lokhttp3/OkHttpClient;->connectTimeoutMillis()I
move-result v9
if-eq v1, v9, :cond_72
int-to-long v9, v1
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v8, v9, v10, v1}, Lokhttp3/OkHttpClient$Builder;->connectTimeout(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;
:cond_72
invoke-virtual {v8}, Lokhttp3/OkHttpClient$Builder;->build()Lokhttp3/OkHttpClient;
move-result-object v1
move-object/from16 v8, p4
invoke-direct {p0, v8, v0}, Lcom/facebook/react/modules/network/NetworkingModule;->extractHeaders(Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableMap;)Lokhttp3/Headers;
move-result-object v8
if-nez v8, :cond_84
const-string v0, "Unrecognized headers format"
invoke-static {v4, v3, v0, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_84
const-string v9, "content-type"
invoke-virtual {v8, v9}, Lokhttp3/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
const-string v10, "content-encoding"
invoke-virtual {v8, v10}, Lokhttp3/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v10
invoke-virtual {v6, v8}, Lokhttp3/Request$Builder;->headers(Lokhttp3/Headers;)Lokhttp3/Request$Builder;
if-eqz v0, :cond_ae
iget-object v8, v7, Lcom/facebook/react/modules/network/NetworkingModule;->mRequestBodyHandlers:Ljava/util/List;
invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v8
:cond_9b
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v11
if-eqz v11, :cond_ae
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v11
check-cast v11, Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;
invoke-interface {v11, v0}, Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;->supports(Lcom/facebook/react/bridge/ReadableMap;)Z
move-result v12
if-eqz v12, :cond_9b
goto :goto_af
:cond_ae
move-object v11, v2
:goto_af
if-eqz v0, :cond_18a
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v8
const-string v12, "get"
invoke-virtual {v8, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-nez v8, :cond_18a
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v8
const-string v12, "head"
invoke-virtual {v8, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_cb
goto/16 :goto_18a
:cond_cb
if-eqz v11, :cond_d3
invoke-interface {v11, v0, v9}, Lcom/facebook/react/modules/network/NetworkingModule$RequestBodyHandler;->toRequestBody(Lcom/facebook/react/bridge/ReadableMap;Ljava/lang/String;)Lokhttp3/RequestBody;
move-result-object v0
goto/16 :goto_18e
:cond_d3
const-string v8, "string"
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v11
const-string v12, "Payload is set but no content-type header specified"
if-eqz v11, :cond_110
if-nez v9, :cond_e3
invoke-static {v4, v3, v12, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_e3
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v9}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v8
invoke-static {v10}, Lcom/facebook/react/modules/network/RequestBodyUtil;->isGzipEncoding(Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_fd
invoke-static {v8, v0}, Lcom/facebook/react/modules/network/RequestBodyUtil;->createGzip(Lokhttp3/MediaType;Ljava/lang/String;)Lokhttp3/RequestBody;
move-result-object v0
if-nez v0, :cond_18e
const-string v0, "Failed to gzip request body"
invoke-static {v4, v3, v0, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_fd
sget-object v2, Lcom/facebook/react/common/StandardCharsets;->UTF_8:Ljava/nio/charset/Charset;
if-nez v8, :cond_102
goto :goto_106
:cond_102
invoke-virtual {v8, v2}, Lokhttp3/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
move-result-object v2
:goto_106
invoke-virtual {v0, v2}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
invoke-static {v8, v0}, Lokhttp3/RequestBody;->create(Lokhttp3/MediaType;[B)Lokhttp3/RequestBody;
move-result-object v0
goto/16 :goto_18e
:cond_110
const-string v8, "base64"
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_12f
if-nez v9, :cond_11e
invoke-static {v4, v3, v12, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_11e
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v9}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v2
invoke-static {v0}, Lokio/ByteString;->decodeBase64(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
invoke-static {v2, v0}, Lokhttp3/RequestBody;->create(Lokhttp3/MediaType;Lokio/ByteString;)Lokhttp3/RequestBody;
move-result-object v0
goto :goto_18e
:cond_12f
const-string v8, "uri"
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_169
if-nez v9, :cond_13d
invoke-static {v4, v3, v12, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_13d
invoke-interface {v0, v8}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContext()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object v8
invoke-static {v8, v0}, Lcom/facebook/react/modules/network/RequestBodyUtil;->getFileInputStream(Landroid/content/Context;Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v8
if-nez v8, :cond_160
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Could not retrieve file for uri "
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v3, v0, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_160
invoke-static {v9}, Lokhttp3/MediaType;->parse(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v0
invoke-static {v0, v8}, Lcom/facebook/react/modules/network/RequestBodyUtil;->create(Lokhttp3/MediaType;Ljava/io/InputStream;)Lokhttp3/RequestBody;
move-result-object v0
goto :goto_18e
:cond_169
const-string v2, "formData"
invoke-interface {v0, v2}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_185
if-nez v9, :cond_175
const-string v9, "multipart/form-data"
:cond_175
invoke-interface {v0, v2}, Lcom/facebook/react/bridge/ReadableMap;->getArray(Ljava/lang/String;)Lcom/facebook/react/bridge/ReadableArray;
move-result-object v0
invoke-direct {p0, v0, v9, v3}, Lcom/facebook/react/modules/network/NetworkingModule;->constructMultipartBody(Lcom/facebook/react/bridge/ReadableArray;Ljava/lang/String;I)Lokhttp3/MultipartBody$Builder;
move-result-object v0
if-nez v0, :cond_180
return-void
:cond_180
invoke-virtual {v0}, Lokhttp3/MultipartBody$Builder;->build()Lokhttp3/MultipartBody;
move-result-object v0
goto :goto_18e
:cond_185
invoke-static {p1}, Lcom/facebook/react/modules/network/RequestBodyUtil;->getEmptyBody(Ljava/lang/String;)Lokhttp3/RequestBody;
move-result-object v0
goto :goto_18e
:cond_18a
:goto_18a
invoke-static {p1}, Lcom/facebook/react/modules/network/RequestBodyUtil;->getEmptyBody(Ljava/lang/String;)Lokhttp3/RequestBody;
move-result-object v0
:cond_18e
:goto_18e
invoke-direct {p0, v0, v4, v3}, Lcom/facebook/react/modules/network/NetworkingModule;->wrapRequestBodyWithProgressEmitter(Lokhttp3/RequestBody;Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;I)Lokhttp3/RequestBody;
move-result-object v0
move-object v2, p1
invoke-virtual {v6, p1, v0}, Lokhttp3/Request$Builder;->method(Ljava/lang/String;Lokhttp3/RequestBody;)Lokhttp3/Request$Builder;
invoke-direct {p0, v3}, Lcom/facebook/react/modules/network/NetworkingModule;->addRequest(I)V
invoke-virtual {v6}, Lokhttp3/Request$Builder;->build()Lokhttp3/Request;
move-result-object v0
invoke-virtual {v1, v0}, Lokhttp3/OkHttpClient;->newCall(Lokhttp3/Request;)Lokhttp3/Call;
move-result-object v0
new-instance v8, Lcom/facebook/react/modules/network/NetworkingModule$2;
move-object v1, v8
move-object v2, p0
move/from16 v3, p3
move-object/from16 v5, p6
move/from16 v6, p7
invoke-direct/range {v1 .. v6}, Lcom/facebook/react/modules/network/NetworkingModule$2;-><init>(Lcom/facebook/react/modules/network/NetworkingModule;ILcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;Ljava/lang/String;Z)V
invoke-interface {v0, v8}, Lokhttp3/Call;->enqueue(Lokhttp3/Callback;)V
return-void
:catch_1b2
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v3, v0, v2}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
:catch_1bb
move-exception v0
invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v4, v3, v1, v0}, Lcom/facebook/react/modules/network/ResponseUtil;->onRequestError(Lcom/facebook/react/modules/core/DeviceEventManagerModule$RCTDeviceEventEmitter;ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method