.class public Lo0/g0/h/f; .super Ljava/lang/Object; .source "Platform.kt" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lo0/g0/h/f$a; } .end annotation # static fields .field public static volatile a:Lo0/g0/h/f; .field public static final b:Ljava/util/logging/Logger; .field public static final c:Lo0/g0/h/f$a; # direct methods .method public static constructor ()V .locals 12 new-instance v0, Lo0/g0/h/f$a; const/4 v1, 0x0 invoke-direct {v0, v1}, Lo0/g0/h/f$a;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Lo0/g0/h/f;->c:Lo0/g0/h/f$a; if-eqz v0, :cond_9 sget-object v0, Lo0/g0/h/a;->g:Lo0/g0/h/a$b; sget-boolean v0, Lo0/g0/h/a;->f:Z if-eqz v0, :cond_0 new-instance v0, Lo0/g0/h/a; invoke-direct {v0}, Lo0/g0/h/a;->()V goto :goto_0 :cond_0 move-object v0, v1 :goto_0 if-eqz v0, :cond_1 goto/16 :goto_5 :cond_1 invoke-static {}, Ljava/security/Security;->getProviders()[Ljava/security/Provider; move-result-object v0 const/4 v2, 0x0 aget-object v0, v0, v2 const-string v3, "Security.getProviders()[0]" invoke-static {v0, v3}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0}, Ljava/security/Provider;->getName()Ljava/lang/String; move-result-object v0 const-string v4, "Conscrypt" invoke-static {v4, v0}, Lk0/o/c/i;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_3 sget-object v0, Lo0/g0/h/b;->f:Lo0/g0/h/b$a; sget-boolean v0, Lo0/g0/h/b;->e:Z if-eqz v0, :cond_2 new-instance v0, Lo0/g0/h/b; invoke-direct {v0}, Lo0/g0/h/b;->()V goto :goto_1 :cond_2 move-object v0, v1 :goto_1 if-eqz v0, :cond_3 goto/16 :goto_5 :cond_3 invoke-static {}, Ljava/security/Security;->getProviders()[Ljava/security/Provider; move-result-object v0 aget-object v0, v0, v2 invoke-static {v0, v3}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0}, Ljava/security/Provider;->getName()Ljava/lang/String; move-result-object v0 const-string v3, "OpenJSSE" invoke-static {v3, v0}, Lk0/o/c/i;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_5 sget-object v0, Lo0/g0/h/e;->f:Lo0/g0/h/e; sget-boolean v0, Lo0/g0/h/e;->e:Z if-eqz v0, :cond_4 new-instance v0, Lo0/g0/h/e; invoke-direct {v0}, Lo0/g0/h/e;->()V goto :goto_2 :cond_4 move-object v0, v1 :goto_2 if-eqz v0, :cond_5 goto/16 :goto_5 :cond_5 const/4 v0, 0x1 :try_start_0 const-class v3, Ljavax/net/ssl/SSLParameters; const-string v4, "setApplicationProtocols" new-array v5, v0, [Ljava/lang/Class; const-class v6, [Ljava/lang/String; aput-object v6, v5, v2 invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v3 const-class v4, Ljavax/net/ssl/SSLSocket; const-string v5, "getApplicationProtocol" new-array v6, v2, [Ljava/lang/Class; invoke-virtual {v4, v5, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v4 new-instance v5, Lo0/g0/h/d; const-string v6, "setProtocolMethod" invoke-static {v3, v6}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v6, "getProtocolMethod" invoke-static {v4, v6}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-direct {v5, v3, v4}, Lo0/g0/h/d;->(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V :try_end_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_3 :catch_0 move-object v5, v1 :goto_3 if-eqz v5, :cond_6 move-object v0, v5 goto/16 :goto_5 :cond_6 const-string v3, "java.specification.version" const-string v4, "unknown" invoke-static {v3, v4}, Ljava/lang/System;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v3 :try_start_1 const-string v4, "jvmVersion" invoke-static {v3, v4}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v3 :try_end_1 .catch Ljava/lang/NumberFormatException; {:try_start_1 .. :try_end_1} :catch_1 const/16 v4, 0x9 if-lt v3, v4, :cond_7 goto :goto_4 :catch_1 :cond_7 const-string v3, "org.eclipse.jetty.alpn.ALPN" :try_start_2 invoke-static {v3, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v3 const-string v4, "org.eclipse.jetty.alpn.ALPN$Provider" invoke-static {v4, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v4 const-string v5, "org.eclipse.jetty.alpn.ALPN$ClientProvider" invoke-static {v5, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v10 const-string v5, "org.eclipse.jetty.alpn.ALPN$ServerProvider" invoke-static {v5, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v11 const-string v5, "put" const/4 v6, 0x2 new-array v6, v6, [Ljava/lang/Class; const-class v7, Ljavax/net/ssl/SSLSocket; aput-object v7, v6, v2 aput-object v4, v6, v0 invoke-virtual {v3, v5, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v7 const-string v4, "get" new-array v5, v0, [Ljava/lang/Class; const-class v6, Ljavax/net/ssl/SSLSocket; aput-object v6, v5, v2 invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v8 const-string v4, "remove" new-array v0, v0, [Ljava/lang/Class; const-class v5, Ljavax/net/ssl/SSLSocket; aput-object v5, v0, v2 invoke-virtual {v3, v4, v0}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v9 new-instance v0, Lo0/g0/h/c; const-string v2, "putMethod" invoke-static {v7, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v2, "getMethod" invoke-static {v8, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v2, "removeMethod" invoke-static {v9, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v2, "clientProviderClass" invoke-static {v10, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v2, "serverProviderClass" invoke-static {v11, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V move-object v6, v0 invoke-direct/range {v6 .. v11}, Lo0/g0/h/c;->(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/Class;Ljava/lang/Class;)V :try_end_2 .catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_2 .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_2 move-object v1, v0 goto :goto_4 :catch_2 nop :goto_4 if-eqz v1, :cond_8 move-object v0, v1 goto :goto_5 :cond_8 new-instance v0, Lo0/g0/h/f; invoke-direct {v0}, Lo0/g0/h/f;->()V :goto_5 sput-object v0, Lo0/g0/h/f;->a:Lo0/g0/h/f; const-class v0, Lo0/x; invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger; move-result-object v0 sput-object v0, Lo0/g0/h/f;->b:Ljava/util/logging/Logger; return-void :cond_9 throw v1 .end method .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public a(Ljavax/net/ssl/SSLSocket;)V .locals 1 const-string v0, "sslSocket" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V return-void .end method .method public b(Ljavax/net/ssl/X509TrustManager;)Lo0/g0/j/c; .locals 1 const-string v0, "trustManager" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V new-instance v0, Lo0/g0/j/a; invoke-virtual {p0, p1}, Lo0/g0/h/f;->c(Ljavax/net/ssl/X509TrustManager;)Lo0/g0/j/e; move-result-object p1 invoke-direct {v0, p1}, Lo0/g0/j/a;->(Lo0/g0/j/e;)V return-object v0 .end method .method public c(Ljavax/net/ssl/X509TrustManager;)Lo0/g0/j/e; .locals 2 const-string v0, "trustManager" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V new-instance v0, Lo0/g0/j/b; invoke-interface {p1}, Ljavax/net/ssl/X509TrustManager;->getAcceptedIssuers()[Ljava/security/cert/X509Certificate; move-result-object p1 const-string v1, "trustManager.acceptedIssuers" invoke-static {p1, v1}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V array-length v1, p1 invoke-static {p1, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object p1 check-cast p1, [Ljava/security/cert/X509Certificate; invoke-direct {v0, p1}, Lo0/g0/j/b;->([Ljava/security/cert/X509Certificate;)V return-object v0 .end method .method public d(Ljavax/net/ssl/SSLSocketFactory;)V .locals 1 const-string v0, "socketFactory" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V return-void .end method .method public e(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljavax/net/ssl/SSLSocket;", "Ljava/lang/String;", "Ljava/util/List<", "Lo0/y;", ">;)V" } .end annotation const-string p2, "sslSocket" invoke-static {p1, p2}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string p1, "protocols" invoke-static {p3, p1}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V return-void .end method .method public f(Ljavax/net/ssl/X509TrustManager;)V .locals 0 return-void .end method .method public g(Ljava/net/Socket;Ljava/net/InetSocketAddress;I)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "socket" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "address" invoke-static {p2, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {p1, p2, p3}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V return-void .end method .method public h(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String; .locals 1 const-string v0, "sslSocket" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x0 return-object p1 .end method .method public i(Ljava/lang/String;)Ljava/lang/Object; .locals 2 const-string v0, "closer" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V sget-object v0, Lo0/g0/h/f;->b:Ljava/util/logging/Logger; sget-object v1, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level; invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z move-result v0 if-eqz v0, :cond_0 new-instance v0, Ljava/lang/Throwable; invoke-direct {v0, p1}, Ljava/lang/Throwable;->(Ljava/lang/String;)V goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return-object v0 .end method .method public j(Ljava/lang/String;)Z .locals 1 const-string v0, "hostname" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x1 return p1 .end method .method public k(ILjava/lang/String;Ljava/lang/Throwable;)V .locals 1 const-string v0, "message" invoke-static {p2, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 v0, 0x5 if-ne p1, v0, :cond_0 sget-object p1, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level; goto :goto_0 :cond_0 sget-object p1, Ljava/util/logging/Level;->INFO:Ljava/util/logging/Level; :goto_0 sget-object v0, Lo0/g0/h/f;->b:Ljava/util/logging/Logger; invoke-virtual {v0, p1, p2, p3}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V return-void .end method .method public l(Ljava/lang/String;Ljava/lang/Object;)V .locals 1 const-string v0, "message" invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V if-nez p2, :cond_0 const-string v0, " To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);" invoke-static {p1, v0}, Lf/e/b/a/a;->p(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :cond_0 const/4 v0, 0x5 check-cast p2, Ljava/lang/Throwable; invoke-virtual {p0, v0, p1, p2}, Lo0/g0/h/f;->k(ILjava/lang/String;Ljava/lang/Throwable;)V return-void .end method .method public m()Ljavax/net/ssl/SSLContext; .locals 2 const-string v0, "TLS" invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext; move-result-object v0 const-string v1, "SSLContext.getInstance(\"TLS\")" invoke-static {v0, v1}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V return-object v0 .end method .method public n()Ljavax/net/ssl/X509TrustManager; .locals 4 invoke-static {}, Ljavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory; move-result-object v0 const/4 v1, 0x0 invoke-virtual {v0, v1}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V const-string v2, "factory" invoke-static {v0, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager; move-result-object v0 if-eqz v0, :cond_3 array-length v1, v0 const/4 v2, 0x1 const/4 v3, 0x0 if-ne v1, v2, :cond_0 aget-object v1, v0, v3 instance-of v1, v1, Ljavax/net/ssl/X509TrustManager; if-eqz v1, :cond_0 goto :goto_0 :cond_0 const/4 v2, 0x0 :goto_0 if-eqz v2, :cond_2 aget-object v0, v0, v3 if-eqz v0, :cond_1 check-cast v0, Ljavax/net/ssl/X509TrustManager; return-object v0 :cond_1 new-instance v0, Lkotlin/TypeCastException; const-string v1, "null cannot be cast to non-null type javax.net.ssl.X509TrustManager" invoke-direct {v0, v1}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw v0 :cond_2 const-string v1, "Unexpected default trust managers: " invoke-static {v1}, Lf/e/b/a/a;->D(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-static {v0}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 const-string v2, "java.util.Arrays.toString(this)" invoke-static {v0, v2}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V 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 new-instance v1, Ljava/lang/IllegalStateException; invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v1 :cond_3 invoke-static {}, Lk0/o/c/i;->throwNpe()V throw v1 .end method .method public toString()Ljava/lang/String; .locals 2 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v0 const-string v1, "javaClass.simpleName" invoke-static {v0, v1}, Lk0/o/c/i;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V return-object v0 .end method