.class public final Lokhttp3/internal/platform/android/DeferredSocketAdapter; .super Ljava/lang/Object; .source "DeferredSocketAdapter.kt" # interfaces .implements Lokhttp3/internal/platform/android/SocketAdapter; # annotations .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000>\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J(\u0010\u0008\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000b2\u0008\u0010\u000c\u001a\u0004\u0018\u00010\u00032\u000c\u0010\r\u001a\u0008\u0012\u0004\u0012\u00020\u000f0\u000eH\u0016J\u0012\u0010\u0010\u001a\u0004\u0018\u00010\u00012\u0006\u0010\u0011\u001a\u00020\u000bH\u0002J\u0012\u0010\u0012\u001a\u0004\u0018\u00010\u00032\u0006\u0010\n\u001a\u00020\u000bH\u0016J\u0008\u0010\u0013\u001a\u00020\u0007H\u0016J\u0010\u0010\u0014\u001a\u00020\u00072\u0006\u0010\n\u001a\u00020\u000bH\u0016J\u0010\u0010\u0015\u001a\u00020\u00072\u0006\u0010\u0016\u001a\u00020\u0017H\u0016J\u0012\u0010\u0018\u001a\u0004\u0018\u00010\u00192\u0006\u0010\u0016\u001a\u00020\u0017H\u0016R\u0010\u0010\u0005\u001a\u0004\u0018\u00010\u0001X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001a" } d2 = { "Lokhttp3/internal/platform/android/DeferredSocketAdapter;", "Lokhttp3/internal/platform/android/SocketAdapter;", "socketPackage", "", "(Ljava/lang/String;)V", "delegate", "initialized", "", "configureTlsExtensions", "", "sslSocket", "Ljavax/net/ssl/SSLSocket;", "hostname", "protocols", "", "Lokhttp3/Protocol;", "getDelegate", "actualSSLSocketClass", "getSelectedProtocol", "isSupported", "matchesSocket", "matchesSocketFactory", "sslSocketFactory", "Ljavax/net/ssl/SSLSocketFactory;", "trustManager", "Ljavax/net/ssl/X509TrustManager;", "okhttp" } k = 0x1 mv = { 0x1, 0x1, 0x10 } .end annotation # instance fields .field private delegate:Lokhttp3/internal/platform/android/SocketAdapter; .field private initialized:Z .field private final socketPackage:Ljava/lang/String; # direct methods .method public constructor (Ljava/lang/String;)V .registers 3 const-string v0, "socketPackage" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 28 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->socketPackage:Ljava/lang/String; return-void .end method .method private final declared-synchronized getDelegate(Ljavax/net/ssl/SSLSocket;)Lokhttp3/internal/platform/android/SocketAdapter; .registers 6 monitor-enter p0 .line 53 :try_start_1 iget-boolean v0, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->initialized:Z :try_end_3 .catchall {:try_start_1 .. :try_end_3} :catchall_82 if-nez v0, :cond_7e .line 55 :try_start_5 invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 .line 56 :goto_9 invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v1 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V iget-object v3, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->socketPackage:Ljava/lang/String; invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, ".OpenSSLSocketImpl" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_4f .line 57 invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class; move-result-object v0 const-string v1, "possibleClass.superclass" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V if-eqz v0, :cond_34 goto :goto_9 .line 60 :cond_34 new-instance v0, Ljava/lang/AssertionError; .line 61 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "No OpenSSLSocketImpl superclass of socket of type " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 60 invoke-direct {v0, p1}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V check-cast v0, Ljava/lang/Throwable; throw v0 .line 65 :cond_4f new-instance p1, Lokhttp3/internal/platform/android/AndroidSocketAdapter; invoke-direct {p1, v0}, Lokhttp3/internal/platform/android/AndroidSocketAdapter;->(Ljava/lang/Class;)V check-cast p1, Lokhttp3/internal/platform/android/SocketAdapter; iput-object p1, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->delegate:Lokhttp3/internal/platform/android/SocketAdapter; :try_end_58 .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_58} :catch_59 .catchall {:try_start_5 .. :try_end_58} :catchall_82 goto :goto_7b :catch_59 move-exception p1 .line 67 :try_start_5a sget-object v0, Lokhttp3/internal/platform/Platform;->Companion:Lokhttp3/internal/platform/Platform$Companion; invoke-virtual {v0}, Lokhttp3/internal/platform/Platform$Companion;->get()Lokhttp3/internal/platform/Platform; move-result-object v0 .line 68 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Failed to initialize DeferredSocketAdapter " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object v2, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->socketPackage:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 check-cast p1, Ljava/lang/Throwable; const/4 v2, 0x5 invoke-virtual {v0, v1, v2, p1}, Lokhttp3/internal/platform/Platform;->log(Ljava/lang/String;ILjava/lang/Throwable;)V :goto_7b const/4 p1, 0x1 .line 71 iput-boolean p1, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->initialized:Z .line 74 :cond_7e iget-object p1, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->delegate:Lokhttp3/internal/platform/android/SocketAdapter; :try_end_80 .catchall {:try_start_5a .. :try_end_80} :catchall_82 monitor-exit p0 return-object p1 :catchall_82 move-exception p1 :try_start_83 monitor-exit p0 :try_end_84 .catchall {:try_start_83 .. :try_end_84} :catchall_82 throw p1 .end method # virtual methods .method public configureTlsExtensions(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljavax/net/ssl/SSLSocket;", "Ljava/lang/String;", "Ljava/util/List<", "+", "Lokhttp3/Protocol;", ">;)V" } .end annotation const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "protocols" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 45 invoke-direct {p0, p1}, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->getDelegate(Ljavax/net/ssl/SSLSocket;)Lokhttp3/internal/platform/android/SocketAdapter; move-result-object v0 if-eqz v0, :cond_13 invoke-interface {v0, p1, p2, p3}, Lokhttp3/internal/platform/android/SocketAdapter;->configureTlsExtensions(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V :cond_13 return-void .end method .method public getSelectedProtocol(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String; .registers 3 const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 49 invoke-direct {p0, p1}, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->getDelegate(Ljavax/net/ssl/SSLSocket;)Lokhttp3/internal/platform/android/SocketAdapter; move-result-object v0 if-eqz v0, :cond_10 invoke-interface {v0, p1}, Lokhttp3/internal/platform/android/SocketAdapter;->getSelectedProtocol(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String; move-result-object p1 goto :goto_11 :cond_10 const/4 p1, 0x0 :goto_11 return-object p1 .end method .method public isSupported()Z .registers 2 const/4 v0, 0x1 return v0 .end method .method public matchesSocket(Ljavax/net/ssl/SSLSocket;)Z .registers 6 const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 37 invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p1 invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p1 const-string v0, "sslSocket.javaClass.name" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Lokhttp3/internal/platform/android/DeferredSocketAdapter;->socketPackage:Ljava/lang/String; const/4 v1, 0x2 const/4 v2, 0x0 const/4 v3, 0x0 invoke-static {p1, v0, v3, v1, v2}, Lkotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z move-result p1 return p1 .end method .method public matchesSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Z .registers 3 const-string v0, "sslSocketFactory" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x0 return p1 .end method .method public trustManager(Ljavax/net/ssl/SSLSocketFactory;)Ljavax/net/ssl/X509TrustManager; .registers 3 const-string v0, "sslSocketFactory" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x0 return-object p1 .end method