.class public Lokhttp3/OkHttpClient; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Ljava/lang/Cloneable; .implements Lokhttp3/Call$Factory; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lokhttp3/OkHttpClient$Builder; } .end annotation # static fields .field public static final DEFAULT_CONNECTION_SPECS:Ljava/util/List; .field public static final DEFAULT_PROTOCOLS:Ljava/util/List; # instance fields .field public final authenticator:Lokhttp3/Authenticator; .field public final cache:Lokhttp3/Cache; .field public final callTimeout:I .field public final certificateChainCleaner:Lokhttp3/internal/tls/CertificateChainCleaner; .field public final certificatePinner:Lokhttp3/CertificatePinner; .field public final connectTimeout:I .field public final connectionPool:Lokhttp3/ConnectionPool; .field public final connectionSpecs:Ljava/util/List; .field public final cookieJar:Lokhttp3/CookieJar; .field public final dispatcher:Lokhttp3/Dispatcher; .field public final dns:Lokhttp3/Dns; .field public final eventListenerFactory:Lokhttp3/EventListener$Factory; .field public final followRedirects:Z .field public final followSslRedirects:Z .field public final hostnameVerifier:Ljavax/net/ssl/HostnameVerifier; .field public final interceptors:Ljava/util/List; .field public final internalCache:Lokhttp3/internal/cache/InternalCache; .field public final networkInterceptors:Ljava/util/List; .field public final pingInterval:I .field public final protocols:Ljava/util/List; .field public final proxy:Ljava/net/Proxy; .field public final proxyAuthenticator:Lokhttp3/Authenticator; .field public final proxySelector:Ljava/net/ProxySelector; .field public final readTimeout:I .field public final retryOnConnectionFailure:Z .field public final socketFactory:Ljavax/net/SocketFactory; .field public final sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; .field public final writeTimeout:I # direct methods .method static constructor ()V .locals 2 .line 124 sget-object v0, Lokhttp3/Protocol;->HTTP_2:Lokhttp3/Protocol; sget-object v1, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol; filled-new-array {v0, v1}, [Lokhttp3/Protocol; move-result-object v0 invoke-static {v0}, Lokhttp3/internal/Util;->immutableList([Ljava/lang/Object;)Ljava/util/List; move-result-object v0 sput-object v0, Lokhttp3/OkHttpClient;->DEFAULT_PROTOCOLS:Ljava/util/List; .line 127 sget-object v0, Lokhttp3/ConnectionSpec;->MODERN_TLS:Lokhttp3/ConnectionSpec; sget-object v1, Lokhttp3/ConnectionSpec;->CLEARTEXT:Lokhttp3/ConnectionSpec; filled-new-array {v0, v1}, [Lokhttp3/ConnectionSpec; move-result-object v0 invoke-static {v0}, Lokhttp3/internal/Util;->immutableList([Ljava/lang/Object;)Ljava/util/List; move-result-object v0 sput-object v0, Lokhttp3/OkHttpClient;->DEFAULT_CONNECTION_SPECS:Ljava/util/List; .line 131 new-instance v0, Lokhttp3/OkHttpClient$1; invoke-direct {v0}, Lokhttp3/OkHttpClient$1;->()V sput-object v0, Lokhttp3/internal/Internal;->instance:Lokhttp3/internal/Internal; return-void .end method .method public constructor ()V .locals 1 .line 202 new-instance v0, Lokhttp3/OkHttpClient$Builder; invoke-direct {v0}, Lokhttp3/OkHttpClient$Builder;->()V invoke-direct {p0, v0}, Lokhttp3/OkHttpClient;->(Lokhttp3/OkHttpClient$Builder;)V return-void .end method .method public constructor (Lokhttp3/OkHttpClient$Builder;)V .locals 4 .line 205 invoke-direct {p0}, Ljava/lang/Object;->()V .line 206 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->dispatcher:Lokhttp3/Dispatcher; iput-object v0, p0, Lokhttp3/OkHttpClient;->dispatcher:Lokhttp3/Dispatcher; .line 207 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->proxy:Ljava/net/Proxy; iput-object v0, p0, Lokhttp3/OkHttpClient;->proxy:Ljava/net/Proxy; .line 208 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->protocols:Ljava/util/List; iput-object v0, p0, Lokhttp3/OkHttpClient;->protocols:Ljava/util/List; .line 209 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->connectionSpecs:Ljava/util/List; iput-object v0, p0, Lokhttp3/OkHttpClient;->connectionSpecs:Ljava/util/List; .line 210 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->interceptors:Ljava/util/List; invoke-static {v1}, Lokhttp3/internal/Util;->immutableList(Ljava/util/List;)Ljava/util/List; move-result-object v1 iput-object v1, p0, Lokhttp3/OkHttpClient;->interceptors:Ljava/util/List; .line 211 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->networkInterceptors:Ljava/util/List; invoke-static {v1}, Lokhttp3/internal/Util;->immutableList(Ljava/util/List;)Ljava/util/List; move-result-object v1 iput-object v1, p0, Lokhttp3/OkHttpClient;->networkInterceptors:Ljava/util/List; .line 212 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->eventListenerFactory:Lokhttp3/EventListener$Factory; iput-object v1, p0, Lokhttp3/OkHttpClient;->eventListenerFactory:Lokhttp3/EventListener$Factory; .line 213 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->proxySelector:Ljava/net/ProxySelector; iput-object v1, p0, Lokhttp3/OkHttpClient;->proxySelector:Ljava/net/ProxySelector; .line 214 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->cookieJar:Lokhttp3/CookieJar; iput-object v1, p0, Lokhttp3/OkHttpClient;->cookieJar:Lokhttp3/CookieJar; .line 215 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->cache:Lokhttp3/Cache; iput-object v1, p0, Lokhttp3/OkHttpClient;->cache:Lokhttp3/Cache; .line 216 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->internalCache:Lokhttp3/internal/cache/InternalCache; iput-object v1, p0, Lokhttp3/OkHttpClient;->internalCache:Lokhttp3/internal/cache/InternalCache; .line 217 iget-object v1, p1, Lokhttp3/OkHttpClient$Builder;->socketFactory:Ljavax/net/SocketFactory; iput-object v1, p0, Lokhttp3/OkHttpClient;->socketFactory:Ljavax/net/SocketFactory; .line 220 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 const/4 v1, 0x0 :cond_0 move v2, v1 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Lokhttp3/ConnectionSpec; if-nez v2, :cond_1 .line 221 invoke-virtual {v3}, Lokhttp3/ConnectionSpec;->isTls()Z move-result v2 if-eqz v2, :cond_0 :cond_1 const/4 v2, 0x1 goto :goto_0 .line 224 :cond_2 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; if-nez v0, :cond_4 if-nez v2, :cond_3 goto :goto_1 .line 228 :cond_3 invoke-static {}, Lokhttp3/internal/Util;->platformTrustManager()Ljavax/net/ssl/X509TrustManager; move-result-object v0 .line 229 invoke-static {v0}, Lokhttp3/OkHttpClient;->newSslSocketFactory(Ljavax/net/ssl/X509TrustManager;)Ljavax/net/ssl/SSLSocketFactory; move-result-object v1 iput-object v1, p0, Lokhttp3/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; .line 230 invoke-static {v0}, Lokhttp3/internal/tls/CertificateChainCleaner;->get(Ljavax/net/ssl/X509TrustManager;)Lokhttp3/internal/tls/CertificateChainCleaner; move-result-object v0 iput-object v0, p0, Lokhttp3/OkHttpClient;->certificateChainCleaner:Lokhttp3/internal/tls/CertificateChainCleaner; goto :goto_2 :cond_4 :goto_1 iput-object v0, p0, Lokhttp3/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; .line 226 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->certificateChainCleaner:Lokhttp3/internal/tls/CertificateChainCleaner; iput-object v0, p0, Lokhttp3/OkHttpClient;->certificateChainCleaner:Lokhttp3/internal/tls/CertificateChainCleaner; :goto_2 iget-object v0, p0, Lokhttp3/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; if-eqz v0, :cond_5 .line 234 invoke-static {}, Lokhttp3/internal/platform/Platform;->get()Lokhttp3/internal/platform/Platform; move-result-object v0 iget-object v1, p0, Lokhttp3/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; invoke-virtual {v0, v1}, Lokhttp3/internal/platform/Platform;->configureSslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V .line 237 :cond_5 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier; iput-object v0, p0, Lokhttp3/OkHttpClient;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier; .line 238 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->certificatePinner:Lokhttp3/CertificatePinner; iget-object v1, p0, Lokhttp3/OkHttpClient;->certificateChainCleaner:Lokhttp3/internal/tls/CertificateChainCleaner; invoke-virtual {v0, v1}, Lokhttp3/CertificatePinner;->withCertificateChainCleaner(Lokhttp3/internal/tls/CertificateChainCleaner;)Lokhttp3/CertificatePinner; move-result-object v0 iput-object v0, p0, Lokhttp3/OkHttpClient;->certificatePinner:Lokhttp3/CertificatePinner; .line 240 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->proxyAuthenticator:Lokhttp3/Authenticator; iput-object v0, p0, Lokhttp3/OkHttpClient;->proxyAuthenticator:Lokhttp3/Authenticator; .line 241 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->authenticator:Lokhttp3/Authenticator; iput-object v0, p0, Lokhttp3/OkHttpClient;->authenticator:Lokhttp3/Authenticator; .line 242 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->connectionPool:Lokhttp3/ConnectionPool; iput-object v0, p0, Lokhttp3/OkHttpClient;->connectionPool:Lokhttp3/ConnectionPool; .line 243 iget-object v0, p1, Lokhttp3/OkHttpClient$Builder;->dns:Lokhttp3/Dns; iput-object v0, p0, Lokhttp3/OkHttpClient;->dns:Lokhttp3/Dns; .line 244 iget-boolean v0, p1, Lokhttp3/OkHttpClient$Builder;->followSslRedirects:Z iput-boolean v0, p0, Lokhttp3/OkHttpClient;->followSslRedirects:Z .line 245 iget-boolean v0, p1, Lokhttp3/OkHttpClient$Builder;->followRedirects:Z iput-boolean v0, p0, Lokhttp3/OkHttpClient;->followRedirects:Z .line 246 iget-boolean v0, p1, Lokhttp3/OkHttpClient$Builder;->retryOnConnectionFailure:Z iput-boolean v0, p0, Lokhttp3/OkHttpClient;->retryOnConnectionFailure:Z .line 247 iget v0, p1, Lokhttp3/OkHttpClient$Builder;->callTimeout:I iput v0, p0, Lokhttp3/OkHttpClient;->callTimeout:I .line 248 iget v0, p1, Lokhttp3/OkHttpClient$Builder;->connectTimeout:I iput v0, p0, Lokhttp3/OkHttpClient;->connectTimeout:I .line 249 iget v0, p1, Lokhttp3/OkHttpClient$Builder;->readTimeout:I iput v0, p0, Lokhttp3/OkHttpClient;->readTimeout:I .line 250 iget v0, p1, Lokhttp3/OkHttpClient$Builder;->writeTimeout:I iput v0, p0, Lokhttp3/OkHttpClient;->writeTimeout:I .line 251 iget p1, p1, Lokhttp3/OkHttpClient$Builder;->pingInterval:I iput p1, p0, Lokhttp3/OkHttpClient;->pingInterval:I iget-object p1, p0, Lokhttp3/OkHttpClient;->interceptors:Ljava/util/List; const/4 v0, 0x0 .line 253 invoke-interface {p1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result p1 if-nez p1, :cond_7 iget-object p1, p0, Lokhttp3/OkHttpClient;->networkInterceptors:Ljava/util/List; .line 256 invoke-interface {p1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result p1 if-nez p1, :cond_6 return-void .line 257 :cond_6 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Null network interceptor: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Lokhttp3/OkHttpClient;->networkInterceptors:Ljava/util/List; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 254 :cond_7 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Null interceptor: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Lokhttp3/OkHttpClient;->interceptors:Ljava/util/List; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public static newSslSocketFactory(Ljavax/net/ssl/X509TrustManager;)Ljavax/net/ssl/SSLSocketFactory; .locals 3 .line 263 :try_start_0 invoke-static {}, Lokhttp3/internal/platform/Platform;->get()Lokhttp3/internal/platform/Platform; move-result-object v0 invoke-virtual {v0}, Lokhttp3/internal/platform/Platform;->getSSLContext()Ljavax/net/ssl/SSLContext; move-result-object v0 const/4 v1, 0x1 new-array v1, v1, [Ljavax/net/ssl/TrustManager; const/4 v2, 0x0 aput-object p0, v1, v2 const/4 p0, 0x0 .line 264 invoke-virtual {v0, p0, v1, p0}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V .line 265 invoke-virtual {v0}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory; move-result-object p0 :try_end_0 .catch Ljava/security/GeneralSecurityException; {:try_start_0 .. :try_end_0} :catch_0 return-object p0 :catch_0 move-exception p0 .line 267 new-instance v0, Ljava/lang/AssertionError; const-string v1, "No System TLS" invoke-direct {v0, v1, p0}, Ljava/lang/AssertionError;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v0 .end method # virtual methods .method public authenticator()Lokhttp3/Authenticator; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->authenticator:Lokhttp3/Authenticator; return-object v0 .end method .method public callTimeoutMillis()I .locals 1 iget v0, p0, Lokhttp3/OkHttpClient;->callTimeout:I return v0 .end method .method public certificatePinner()Lokhttp3/CertificatePinner; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->certificatePinner:Lokhttp3/CertificatePinner; return-object v0 .end method .method public connectTimeoutMillis()I .locals 1 iget v0, p0, Lokhttp3/OkHttpClient;->connectTimeout:I return v0 .end method .method public connectionPool()Lokhttp3/ConnectionPool; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->connectionPool:Lokhttp3/ConnectionPool; return-object v0 .end method .method public connectionSpecs()Ljava/util/List; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->connectionSpecs:Ljava/util/List; return-object v0 .end method .method public cookieJar()Lokhttp3/CookieJar; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->cookieJar:Lokhttp3/CookieJar; return-object v0 .end method .method public dispatcher()Lokhttp3/Dispatcher; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->dispatcher:Lokhttp3/Dispatcher; return-object v0 .end method .method public dns()Lokhttp3/Dns; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->dns:Lokhttp3/Dns; return-object v0 .end method .method public eventListenerFactory()Lokhttp3/EventListener$Factory; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->eventListenerFactory:Lokhttp3/EventListener$Factory; return-object v0 .end method .method public followRedirects()Z .locals 1 iget-boolean v0, p0, Lokhttp3/OkHttpClient;->followRedirects:Z return v0 .end method .method public followSslRedirects()Z .locals 1 iget-boolean v0, p0, Lokhttp3/OkHttpClient;->followSslRedirects:Z return v0 .end method .method public hostnameVerifier()Ljavax/net/ssl/HostnameVerifier; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier; return-object v0 .end method .method public interceptors()Ljava/util/List; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->interceptors:Ljava/util/List; return-object v0 .end method .method public internalCache()Lokhttp3/internal/cache/InternalCache; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->cache:Lokhttp3/Cache; if-eqz v0, :cond_0 .line 316 iget-object v0, v0, Lokhttp3/Cache;->internalCache:Lokhttp3/internal/cache/InternalCache; goto :goto_0 :cond_0 iget-object v0, p0, Lokhttp3/OkHttpClient;->internalCache:Lokhttp3/internal/cache/InternalCache; :goto_0 return-object v0 .end method .method public networkInterceptors()Ljava/util/List; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->networkInterceptors:Ljava/util/List; return-object v0 .end method .method public newBuilder()Lokhttp3/OkHttpClient$Builder; .locals 1 .line 414 new-instance v0, Lokhttp3/OkHttpClient$Builder; invoke-direct {v0, p0}, Lokhttp3/OkHttpClient$Builder;->(Lokhttp3/OkHttpClient;)V return-object v0 .end method .method public newCall(Lokhttp3/Request;)Lokhttp3/Call; .locals 1 const/4 v0, 0x0 .line 401 invoke-static {p0, p1, v0}, Lokhttp3/RealCall;->newRealCall(Lokhttp3/OkHttpClient;Lokhttp3/Request;Z)Lokhttp3/RealCall; move-result-object p1 return-object p1 .end method .method public pingIntervalMillis()I .locals 1 iget v0, p0, Lokhttp3/OkHttpClient;->pingInterval:I return v0 .end method .method public protocols()Ljava/util/List; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->protocols:Ljava/util/List; return-object v0 .end method .method public proxy()Ljava/net/Proxy; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->proxy:Ljava/net/Proxy; return-object v0 .end method .method public proxyAuthenticator()Lokhttp3/Authenticator; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->proxyAuthenticator:Lokhttp3/Authenticator; return-object v0 .end method .method public proxySelector()Ljava/net/ProxySelector; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->proxySelector:Ljava/net/ProxySelector; return-object v0 .end method .method public readTimeoutMillis()I .locals 1 iget v0, p0, Lokhttp3/OkHttpClient;->readTimeout:I return v0 .end method .method public retryOnConnectionFailure()Z .locals 1 iget-boolean v0, p0, Lokhttp3/OkHttpClient;->retryOnConnectionFailure:Z return v0 .end method .method public socketFactory()Ljavax/net/SocketFactory; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->socketFactory:Ljavax/net/SocketFactory; return-object v0 .end method .method public sslSocketFactory()Ljavax/net/ssl/SSLSocketFactory; .locals 1 iget-object v0, p0, Lokhttp3/OkHttpClient;->sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory; return-object v0 .end method .method public writeTimeoutMillis()I .locals 1 iget v0, p0, Lokhttp3/OkHttpClient;->writeTimeout:I return v0 .end method