2019-02-27 21:13:14 +00:00
.class public L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
.super L java/lang/Object ;
2019-02-04 20:29:01 +00:00
.source "Platform.java"
2019-02-04 20:08:30 +00:00
# static fields
2019-06-26 01:01:00 +00:00
.field static final bwP : L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
.field private static final logger : L java/util/logging/Logger ;
# direct methods
.method static constructor <clinit> ( ) V
.locals 2
2019-06-26 01:01:00 +00:00
invoke-static { } , L okhttp3/internal/g/a ;-> HM ( ) L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
move-result-object v0
if-eqz v0 , :cond_0
goto :goto_1
:cond_0
2019-05-03 18:53:54 +00:00
const-string v0 , "okhttp.platform"
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
invoke-static { v0 } , L java/lang/System ;-> getProperty ( L java/lang/String ;) L java/lang/String ;
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
move-result-object v0
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
const-string v1 , "conscrypt"
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
invoke-virtual { v1 , v0 } , L java/lang/String ;-> equals ( L java/lang/Object ;) Z
2019-02-04 20:08:30 +00:00
move-result v0
if-eqz v0 , :cond_1
const/4 v0 , 0x1
goto :goto_0
:cond_1
invoke-static { } , L java/security/Security ;-> getProviders ( ) [ L java/security/Provider ;
move-result-object v0
const/4 v1 , 0x0
aget-object v0 , v0 , v1
invoke-virtual { v0 } , L java/security/Provider ;-> getName ( ) L java/lang/String ;
move-result-object v0
const-string v1 , "Conscrypt"
invoke-virtual { v1 , v0 } , L java/lang/String ;-> equals ( L java/lang/Object ;) Z
move-result v0
:goto_0
if-eqz v0 , :cond_2
2019-06-26 01:01:00 +00:00
invoke-static { } , L okhttp3/internal/g/b ;-> HP ( ) L okhttp3/internal/g/b ;
2019-02-04 20:08:30 +00:00
move-result-object v0
if-eqz v0 , :cond_2
goto :goto_1
:cond_2
2019-06-26 01:01:00 +00:00
invoke-static { } , L okhttp3/internal/g/c ;-> HQ ( ) L okhttp3/internal/g/c ;
2019-02-04 20:08:30 +00:00
move-result-object v0
if-eqz v0 , :cond_3
goto :goto_1
:cond_3
2019-06-26 01:01:00 +00:00
invoke-static { } , L okhttp3/internal/g/d ;-> HM ( ) L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
move-result-object v0
if-eqz v0 , :cond_4
goto :goto_1
:cond_4
2019-02-27 21:13:14 +00:00
new-instance v0 , L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
2019-02-27 21:13:14 +00:00
invoke-direct { v0 } , L okhttp3/internal/g/f ;-> <init> ( ) V
2019-02-04 20:08:30 +00:00
:goto_1
2019-06-26 01:01:00 +00:00
sput-object v0 , L okhttp3/internal/g/f ;-> bwP : L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
const-class v0 , L okhttp3/t ;
invoke-virtual { v0 } , L java/lang/Class ;-> getName ( ) L java/lang/String ;
move-result-object v0
invoke-static { v0 } , L java/util/logging/Logger ;-> getLogger ( L java/lang/String ;) L java/util/logging/Logger ;
move-result-object v0
2019-02-27 21:13:14 +00:00
sput-object v0 , L okhttp3/internal/g/f ;-> logger : L java/util/logging/Logger ;
2019-02-04 20:08:30 +00:00
return-void
.end method
.method public constructor <init> ( ) V
.locals 0
invoke-direct { p0 } , L java/lang/Object ;-> <init> ( ) V
return-void
.end method
2019-06-26 01:01:00 +00:00
.method public static HR ( ) L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
.locals 1
2019-06-26 01:01:00 +00:00
sget-object v0 , L okhttp3/internal/g/f ;-> bwP : L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
return-object v0
.end method
.method static a ( L java/lang/Object ;L java/lang/Class ;L java/lang/String ;) L java/lang/Object ;
.locals 4
.annotation system L dalvik/annotation/Signature ;
value = {
"<T:" ,
"Ljava/lang/Object;" ,
">(" ,
"Ljava/lang/Object;" ,
"Ljava/lang/Class<" ,
"TT;>;" ,
"Ljava/lang/String;" ,
")TT;"
}
.end annotation
2019-02-17 02:24:41 +00:00
.annotation runtime L javax/annotation/Nullable ;
.end annotation
2019-02-04 20:08:30 +00:00
:goto_0
invoke-virtual { p0 } , L java/lang/Object ;-> getClass ( ) L java/lang/Class ;
move-result-object v0
:goto_1
const-class v1 , L java/lang/Object ;
const/4 v2 , 0x0
2019-02-27 21:13:14 +00:00
if-eq v0 , v1 , :cond_2
2019-02-04 20:08:30 +00:00
:try_start_0
invoke-virtual { v0 , p2 } , L java/lang/Class ;-> getDeclaredField ( L java/lang/String ;) L java/lang/reflect/Field ;
move-result-object v1
const/4 v3 , 0x1
invoke-virtual { v1 , v3 } , L java/lang/reflect/Field ;-> setAccessible ( Z ) V
invoke-virtual { v1 , p0 } , L java/lang/reflect/Field ;-> get ( L java/lang/Object ;) L java/lang/Object ;
move-result-object v1
2019-02-27 21:13:14 +00:00
if-eqz v1 , :cond_1
2019-02-04 20:08:30 +00:00
invoke-virtual { p1 , v1 } , L java/lang/Class ;-> isInstance ( L java/lang/Object ;) Z
move-result v3
if-nez v3 , :cond_0
2019-02-27 21:13:14 +00:00
goto :goto_2
2019-02-04 20:08:30 +00:00
:cond_0
invoke-virtual { p1 , v1 } , L java/lang/Class ;-> cast ( L java/lang/Object ;) L java/lang/Object ;
2019-02-04 20:29:01 +00:00
move-result-object p0
2019-02-04 20:08:30 +00:00
:try_end_0
.catch L java/lang/NoSuchFieldException ; { :try_start_0 . . :try_end_0 } :catch_1
.catch L java/lang/IllegalAccessException ; { :try_start_0 . . :try_end_0 } :catch_0
2019-02-04 20:29:01 +00:00
return-object p0
2019-02-04 20:08:30 +00:00
2019-02-27 21:13:14 +00:00
:cond_1
:goto_2
return-object v2
2019-02-04 20:08:30 +00:00
:catch_0
new-instance p0 , L java/lang/AssertionError ;
invoke-direct { p0 } , L java/lang/AssertionError ;-> <init> ( ) V
throw p0
:catch_1
invoke-virtual { v0 } , L java/lang/Class ;-> getSuperclass ( ) L java/lang/Class ;
move-result-object v0
goto :goto_1
2019-02-27 21:13:14 +00:00
:cond_2
2019-02-04 20:08:30 +00:00
const-string v0 , "delegate"
invoke-virtual { p2 , v0 } , L java/lang/String ;-> equals ( L java/lang/Object ;) Z
2019-05-03 18:53:54 +00:00
move-result v1
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
if-nez v1 , :cond_3
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
const-class v1 , L java/lang/Object ;
2019-02-04 20:08:30 +00:00
2019-05-03 18:53:54 +00:00
invoke-static { p0 , v1 , v0 } , L okhttp3/internal/g/f ;-> a ( L java/lang/Object ;L java/lang/Class ;L java/lang/String ;) L java/lang/Object ;
2019-02-04 20:08:30 +00:00
move-result-object p0
2019-02-27 21:13:14 +00:00
if-eqz p0 , :cond_3
2019-02-04 20:08:30 +00:00
goto :goto_0
2019-02-27 21:13:14 +00:00
:cond_3
2019-02-04 20:08:30 +00:00
return-object v2
.end method
2019-06-26 01:01:00 +00:00
.method public static ai ( L java/util/List ;) L java/util/List ;
2019-02-04 20:08:30 +00:00
.locals 5
.annotation system L dalvik/annotation/Signature ;
value = {
"(" ,
"Ljava/util/List<" ,
"Lokhttp3/u;" ,
">;)" ,
"Ljava/util/List<" ,
"Ljava/lang/String;" ,
">;"
}
.end annotation
new-instance v0 , L java/util/ArrayList ;
invoke-interface { p0 } , L java/util/List ;-> size ( ) I
move-result v1
invoke-direct { v0 , v1 } , L java/util/ArrayList ;-> <init> ( I ) V
invoke-interface { p0 } , L java/util/List ;-> size ( ) I
move-result v1
const/4 v2 , 0x0
:goto_0
if-ge v2 , v1 , :cond_1
invoke-interface { p0 , v2 } , L java/util/List ;-> get ( I ) L java/lang/Object ;
move-result-object v3
check-cast v3 , L okhttp3/u ;
2019-06-26 01:01:00 +00:00
sget-object v4 , L okhttp3/u ;-> brx : L okhttp3/u ;
2019-02-04 20:08:30 +00:00
if-eq v3 , v4 , :cond_0
invoke-virtual { v3 } , L okhttp3/u ;-> toString ( ) L java/lang/String ;
move-result-object v3
invoke-interface { v0 , v3 } , L java/util/List ;-> add ( L java/lang/Object ;) Z
:cond_0
add-int/lit8 v2 , v2 , 0x1
goto :goto_0
:cond_1
return-object v0
.end method
# virtual methods
2019-06-26 01:01:00 +00:00
.method public HN ( ) L javax/net/ssl/SSLContext ;
2019-02-04 20:08:30 +00:00
.locals 3
2019-02-27 21:13:14 +00:00
const-string v0 , "java.specification.version"
invoke-static { v0 } , L java/lang/System ;-> getProperty ( L java/lang/String ;) L java/lang/String ;
move-result-object v0
const-string v1 , "1.7"
invoke-virtual { v1 , v0 } , L java/lang/String ;-> equals ( L java/lang/Object ;) Z
move-result v0
if-eqz v0 , :cond_0
2019-02-04 20:08:30 +00:00
:try_start_0
2019-02-27 21:13:14 +00:00
const-string v0 , "TLSv1.2"
2019-02-04 20:08:30 +00:00
invoke-static { v0 } , L javax/net/ssl/SSLContext ;-> getInstance ( L java/lang/String ;) L javax/net/ssl/SSLContext ;
move-result-object v0
:try_end_0
.catch L java/security/NoSuchAlgorithmException ; { :try_start_0 . . :try_end_0 } :catch_0
return-object v0
:catch_0
2019-02-27 21:13:14 +00:00
:cond_0
:try_start_1
const-string v0 , "TLS"
invoke-static { v0 } , L javax/net/ssl/SSLContext ;-> getInstance ( L java/lang/String ;) L javax/net/ssl/SSLContext ;
move-result-object v0
:try_end_1
.catch L java/security/NoSuchAlgorithmException ; { :try_start_1 . . :try_end_1 } :catch_1
return-object v0
:catch_1
2019-02-04 20:08:30 +00:00
move-exception v0
new-instance v1 , L java/lang/IllegalStateException ;
const-string v2 , "No TLS provider"
invoke-direct { v1 , v2 , v0 } , L java/lang/IllegalStateException ;-> <init> ( L java/lang/String ;L java/lang/Throwable ;) V
throw v1
.end method
.method public a ( I L java/lang/String ;L java/lang/Throwable ;) V
.locals 1
2019-02-17 02:24:41 +00:00
. param p3 # Ljava/lang/Throwable;
.annotation runtime L javax/annotation/Nullable ;
.end annotation
. end param
2019-02-04 20:08:30 +00:00
const/4 v0 , 0x5
if-ne p1 , v0 , :cond_0
sget-object p1 , L java/util/logging/Level ;-> WARNING : L java/util/logging/Level ;
goto :goto_0
:cond_0
sget-object p1 , L java/util/logging/Level ;-> INFO : L java/util/logging/Level ;
:goto_0
2019-02-27 21:13:14 +00:00
sget-object v0 , L okhttp3/internal/g/f ;-> logger : L java/util/logging/Logger ;
2019-02-04 20:08:30 +00:00
invoke-virtual { v0 , p1 , p2 , p3 } , L java/util/logging/Logger ;-> log ( L java/util/logging/Level ;L java/lang/String ;L java/lang/Throwable ;) V
return-void
.end method
.method public a ( L java/net/Socket ;L java/net/InetSocketAddress ;I ) V
.locals 0
.annotation system L dalvik/annotation/Throws ;
value = {
L java/io/IOException ;
}
.end annotation
invoke-virtual { p1 , p2 , p3 } , L java/net/Socket ;-> connect ( L java/net/SocketAddress ;I ) V
return-void
.end method
.method public a ( L javax/net/ssl/SSLSocket ;L java/lang/String ;L java/util/List ;) V
.locals 0
2019-02-17 02:24:41 +00:00
. param p2 # Ljava/lang/String;
.annotation runtime L javax/annotation/Nullable ;
.end annotation
. end param
2019-02-04 20:08:30 +00:00
.annotation system L dalvik/annotation/Signature ;
value = {
"(" ,
"Ljavax/net/ssl/SSLSocket;" ,
"Ljava/lang/String;" ,
"Ljava/util/List<" ,
"Lokhttp3/u;" ,
">;)V"
}
.end annotation
return-void
.end method
.method protected b ( L javax/net/ssl/SSLSocketFactory ;) L javax/net/ssl/X509TrustManager ;
.locals 3
2019-02-17 02:24:41 +00:00
.annotation runtime L javax/annotation/Nullable ;
.end annotation
2019-02-04 20:08:30 +00:00
const/4 v0 , 0x0
:try_start_0
const-string v1 , "sun.security.ssl.SSLContextImpl"
invoke-static { v1 } , L java/lang/Class ;-> forName ( L java/lang/String ;) L java/lang/Class ;
move-result-object v1
const-string v2 , "context"
2019-02-27 21:13:14 +00:00
invoke-static { p1 , v1 , v2 } , L okhttp3/internal/g/f ;-> a ( L java/lang/Object ;L java/lang/Class ;L java/lang/String ;) L java/lang/Object ;
2019-02-04 20:08:30 +00:00
move-result-object p1
if-nez p1 , :cond_0
return-object v0
:cond_0
const-class v1 , L javax/net/ssl/X509TrustManager ;
const-string v2 , "trustManager"
2019-02-27 21:13:14 +00:00
invoke-static { p1 , v1 , v2 } , L okhttp3/internal/g/f ;-> a ( L java/lang/Object ;L java/lang/Class ;L java/lang/String ;) L java/lang/Object ;
2019-02-04 20:08:30 +00:00
move-result-object p1
check-cast p1 , L javax/net/ssl/X509TrustManager ;
:try_end_0
.catch L java/lang/ClassNotFoundException ; { :try_start_0 . . :try_end_0 } :catch_0
return-object p1
:catch_0
return-object v0
.end method
2019-02-27 21:13:14 +00:00
.method public b ( L javax/net/ssl/X509TrustManager ;) L okhttp3/internal/i/c ;
2019-02-04 20:08:30 +00:00
.locals 1
2019-02-27 21:13:14 +00:00
new-instance v0 , L okhttp3/internal/i/a ;
2019-02-04 20:08:30 +00:00
2019-02-27 21:13:14 +00:00
invoke-virtual { p0 , p1 } , L okhttp3/internal/g/f ;-> c ( L javax/net/ssl/X509TrustManager ;) L okhttp3/internal/i/e ;
2019-02-04 20:08:30 +00:00
move-result-object p1
2019-02-27 21:13:14 +00:00
invoke-direct { v0 , p1 } , L okhttp3/internal/i/a ;-> <init> ( L okhttp3/internal/i/e ;) V
2019-02-04 20:08:30 +00:00
return-object v0
.end method
2019-02-27 21:13:14 +00:00
.method public c ( L javax/net/ssl/X509TrustManager ;) L okhttp3/internal/i/e ;
2019-02-04 20:08:30 +00:00
.locals 1
2019-02-27 21:13:14 +00:00
new-instance v0 , L okhttp3/internal/i/b ;
2019-02-04 20:08:30 +00:00
invoke-interface { p1 } , L javax/net/ssl/X509TrustManager ;-> getAcceptedIssuers ( ) [ L java/security/cert/X509Certificate ;
move-result-object p1
2019-02-27 21:13:14 +00:00
invoke-direct { v0 , p1 } , L okhttp3/internal/i/b ;-> <init> ( [ L java/security/cert/X509Certificate ;) V
2019-02-04 20:08:30 +00:00
return-object v0
.end method
.method public c ( L javax/net/ssl/SSLSocketFactory ;) V
.locals 0
return-void
.end method
2019-02-27 21:13:14 +00:00
.method public final d ( L javax/net/ssl/SSLSocketFactory ;) L okhttp3/internal/i/c ;
2019-02-04 20:08:30 +00:00
.locals 3
2019-02-27 21:13:14 +00:00
invoke-virtual { p0 , p1 } , L okhttp3/internal/g/f ;-> b ( L javax/net/ssl/SSLSocketFactory ;) L javax/net/ssl/X509TrustManager ;
2019-02-04 20:08:30 +00:00
move-result-object v0
if-eqz v0 , :cond_0
2019-02-27 21:13:14 +00:00
invoke-virtual { p0 , v0 } , L okhttp3/internal/g/f ;-> b ( L javax/net/ssl/X509TrustManager ;) L okhttp3/internal/i/c ;
2019-02-04 20:08:30 +00:00
move-result-object p1
return-object p1
:cond_0
new-instance v0 , L java/lang/IllegalStateException ;
new-instance v1 , L java/lang/StringBuilder ;
const-string v2 , "Unable to extract the trust manager on "
invoke-direct { v1 , v2 } , L java/lang/StringBuilder ;-> <init> ( L java/lang/String ;) V
2019-06-26 01:01:00 +00:00
sget-object v2 , L okhttp3/internal/g/f ;-> bwP : L okhttp3/internal/g/f ;
2019-02-04 20:08:30 +00:00
invoke-virtual { v1 , v2 } , L java/lang/StringBuilder ;-> append ( L java/lang/Object ;) L java/lang/StringBuilder ;
const-string v2 , ", sslSocketFactory is "
invoke-virtual { v1 , v2 } , L java/lang/StringBuilder ;-> append ( L java/lang/String ;) L java/lang/StringBuilder ;
invoke-virtual { p1 } , L java/lang/Object ;-> getClass ( ) L java/lang/Class ;
move-result-object p1
invoke-virtual { v1 , p1 } , L java/lang/StringBuilder ;-> append ( L java/lang/Object ;) L java/lang/StringBuilder ;
invoke-virtual { v1 } , L java/lang/StringBuilder ;-> toString ( ) L java/lang/String ;
move-result-object p1
invoke-direct { v0 , p1 } , L java/lang/IllegalStateException ;-> <init> ( L java/lang/String ;) V
throw v0
.end method
2019-04-25 10:39:51 +00:00
.method public e ( L javax/net/ssl/SSLSocket ;) L java/lang/String ;
.locals 0
.annotation runtime L javax/annotation/Nullable ;
.end annotation
const/4 p1 , 0x0
return-object p1
.end method
2019-06-26 01:01:00 +00:00
.method public ew ( L java/lang/String ;) L java/lang/Object ;
2019-02-04 20:08:30 +00:00
.locals 2
2019-02-27 21:13:14 +00:00
sget-object v0 , L okhttp3/internal/g/f ;-> logger : L java/util/logging/Logger ;
2019-02-04 20:08:30 +00:00
sget-object v1 , L java/util/logging/Level ;-> FINE : L java/util/logging/Level ;
invoke-virtual { v0 , v1 } , L java/util/logging/Logger ;-> isLoggable ( L java/util/logging/Level ;) Z
move-result v0
if-eqz v0 , :cond_0
new-instance v0 , L java/lang/Throwable ;
invoke-direct { v0 , p1 } , L java/lang/Throwable ;-> <init> ( L java/lang/String ;) V
return-object v0
:cond_0
const/4 p1 , 0x0
return-object p1
.end method
.method public f ( L javax/net/ssl/SSLSocket ;) V
.locals 0
return-void
.end method
.method public isCleartextTrafficPermitted ( L java/lang/String ;) Z
.locals 0
const/4 p1 , 0x1
return p1
.end method
.method public s ( L java/lang/String ;L java/lang/Object ;) V
.locals 1
if-nez p2 , :cond_0
new-instance v0 , L java/lang/StringBuilder ;
invoke-direct { v0 } , L java/lang/StringBuilder ;-> <init> ( ) V
invoke-virtual { v0 , p1 } , L java/lang/StringBuilder ;-> append ( L java/lang/String ;) L java/lang/StringBuilder ;
const-string p1 , " To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);"
invoke-virtual { v0 , p1 } , L java/lang/StringBuilder ;-> append ( L java/lang/String ;) L java/lang/StringBuilder ;
invoke-virtual { v0 } , L java/lang/StringBuilder ;-> toString ( ) L java/lang/String ;
move-result-object p1
:cond_0
const/4 v0 , 0x5
check-cast p2 , L java/lang/Throwable ;
2019-02-27 21:13:14 +00:00
invoke-virtual { p0 , v0 , p1 , p2 } , L okhttp3/internal/g/f ;-> a ( I L java/lang/String ;L java/lang/Throwable ;) V
2019-02-04 20:08:30 +00:00
return-void
.end method
2019-02-17 02:24:41 +00:00
.method public toString ( ) L java/lang/String ;
.locals 1
invoke-virtual { p0 } , L java/lang/Object ;-> getClass ( ) L java/lang/Class ;
move-result-object v0
invoke-virtual { v0 } , L java/lang/Class ;-> getSimpleName ( ) L java/lang/String ;
move-result-object v0
return-object v0
.end method