.class public final Lokhttp3/ConnectionSpec; .super Ljava/lang/Object; .source "ConnectionSpec.kt" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lokhttp3/ConnectionSpec$Builder;, Lokhttp3/ConnectionSpec$Companion; } .end annotation .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nConnectionSpec.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ConnectionSpec.kt\nokhttp3/ConnectionSpec\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,350:1\n11208#2:351\n11543#2,3:352\n11208#2:355\n11543#2,3:356\n*E\n*S KotlinDebug\n*F\n+ 1 ConnectionSpec.kt\nokhttp3/ConnectionSpec\n*L\n59#1:351\n59#1,3:352\n75#1:355\n75#1,3:356\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = {} d1 = { "\u0000H\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0005\n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0003\n\u0002\u0010\u0011\n\u0002\u0008\u0008\u0018\u0000 &2\u00020\u0001:\u0002\'&B9\u0008\u0000\u0012\u0006\u0010\u001e\u001a\u00020\u0004\u0012\u0006\u0010\u0011\u001a\u00020\u0004\u0012\u000e\u0010!\u001a\n\u0012\u0004\u0012\u00020\u001c\u0018\u00010 \u0012\u000e\u0010#\u001a\n\u0012\u0004\u0012\u00020\u001c\u0018\u00010 \u00a2\u0006\u0004\u0008$\u0010%J\u0018\u0010\u0006\u001a\u00020\u00002\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0002J\u0017\u0010\u000b\u001a\n\u0012\u0004\u0012\u00020\u0008\u0018\u00010\u0007H\u0007\u00a2\u0006\u0004\u0008\t\u0010\nJ\u0017\u0010\u000e\u001a\n\u0012\u0004\u0012\u00020\u000c\u0018\u00010\u0007H\u0007\u00a2\u0006\u0004\u0008\r\u0010\nJ\u000f\u0010\u0011\u001a\u00020\u0004H\u0007\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\u001f\u0010\u0015\u001a\u00020\u00122\u0006\u0010\u0003\u001a\u00020\u00022\u0006\u0010\u0005\u001a\u00020\u0004H\u0000\u00a2\u0006\u0004\u0008\u0013\u0010\u0014J\u000e\u0010\u0017\u001a\u00020\u00042\u0006\u0010\u0016\u001a\u00020\u0002J\u0013\u0010\u0019\u001a\u00020\u00042\u0008\u0010\u0018\u001a\u0004\u0018\u00010\u0001H\u0096\u0002J\u0008\u0010\u001b\u001a\u00020\u001aH\u0016J\u0008\u0010\u001d\u001a\u00020\u001cH\u0016R\u0017\u0010\u001e\u001a\u00020\u00048\u0007\u00a2\u0006\u000c\n\u0004\u0008\u001e\u0010\u001f\u001a\u0004\u0008\u001e\u0010\u0010R\u0017\u0010\u0011\u001a\u00020\u00048\u0007\u00a2\u0006\u000c\n\u0004\u0008\u0011\u0010\u001f\u001a\u0004\u0008\u0011\u0010\u0010R\u001c\u0010!\u001a\n\u0012\u0004\u0012\u00020\u001c\u0018\u00010 8\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008!\u0010\"R\u001c\u0010#\u001a\n\u0012\u0004\u0012\u00020\u001c\u0018\u00010 8\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008#\u0010\"R\u0019\u0010\u000b\u001a\n\u0012\u0004\u0012\u00020\u0008\u0018\u00010\u00078G\u00a2\u0006\u0006\u001a\u0004\u0008\u000b\u0010\nR\u0019\u0010\u000e\u001a\n\u0012\u0004\u0012\u00020\u000c\u0018\u00010\u00078G\u00a2\u0006\u0006\u001a\u0004\u0008\u000e\u0010\n\u00a8\u0006(" } d2 = { "Lokhttp3/ConnectionSpec;", "", "Ljavax/net/ssl/SSLSocket;", "sslSocket", "", "isFallback", "supportedSpec", "", "Lokhttp3/CipherSuite;", "-deprecated_cipherSuites", "()Ljava/util/List;", "cipherSuites", "Lokhttp3/TlsVersion;", "-deprecated_tlsVersions", "tlsVersions", "-deprecated_supportsTlsExtensions", "()Z", "supportsTlsExtensions", "Lkotlin/d1;", "apply$okhttp", "(Ljavax/net/ssl/SSLSocket;Z)V", "apply", "socket", "isCompatible", "other", "equals", "", "hashCode", "", "toString", "isTls", "Z", "", "cipherSuitesAsString", "[Ljava/lang/String;", "tlsVersionsAsString", "", "(ZZ[Ljava/lang/String;[Ljava/lang/String;)V", "Companion", "Builder", "okhttp" } k = 0x1 mv = { 0x1, 0x4, 0x0 } .end annotation # static fields .field private static final APPROVED_CIPHER_SUITES:[Lokhttp3/CipherSuite; .field public static final CLEARTEXT:Lokhttp3/ConnectionSpec; .annotation build Lkotlin/jvm/JvmField; .end annotation .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field .field public static final COMPATIBLE_TLS:Lokhttp3/ConnectionSpec; .annotation build Lkotlin/jvm/JvmField; .end annotation .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field .field public static final Companion:Lokhttp3/ConnectionSpec$Companion; .field public static final MODERN_TLS:Lokhttp3/ConnectionSpec; .annotation build Lkotlin/jvm/JvmField; .end annotation .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field .field private static final RESTRICTED_CIPHER_SUITES:[Lokhttp3/CipherSuite; .field public static final RESTRICTED_TLS:Lokhttp3/ConnectionSpec; .annotation build Lkotlin/jvm/JvmField; .end annotation .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end field # instance fields .field private final cipherSuitesAsString:[Ljava/lang/String; .field private final isTls:Z .field private final supportsTlsExtensions:Z .field private final tlsVersionsAsString:[Ljava/lang/String; # direct methods .method public static constructor ()V .locals 20 new-instance v0, Lokhttp3/ConnectionSpec$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Lokhttp3/ConnectionSpec$Companion;->(Lkotlin/jvm/internal/u;)V sput-object v0, Lokhttp3/ConnectionSpec;->Companion:Lokhttp3/ConnectionSpec$Companion; const/16 v0, 0x9 new-array v1, v0, [Lokhttp3/CipherSuite; .line 1 sget-object v2, Lokhttp3/CipherSuite;->TLS_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v3, 0x0 aput-object v2, v1, v3 .line 2 sget-object v4, Lokhttp3/CipherSuite;->TLS_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v5, 0x1 aput-object v4, v1, v5 .line 3 sget-object v6, Lokhttp3/CipherSuite;->TLS_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/4 v7, 0x2 aput-object v6, v1, v7 .line 4 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v9, 0x3 aput-object v8, v1, v9 .line 5 sget-object v10, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v11, 0x4 aput-object v10, v1, v11 .line 6 sget-object v12, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v13, 0x5 aput-object v12, v1, v13 .line 7 sget-object v14, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v15, 0x6 aput-object v14, v1, v15 .line 8 sget-object v16, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/16 v17, 0x7 aput-object v16, v1, v17 .line 9 sget-object v18, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/16 v19, 0x8 aput-object v18, v1, v19 .line 10 sput-object v1, Lokhttp3/ConnectionSpec;->RESTRICTED_CIPHER_SUITES:[Lokhttp3/CipherSuite; const/16 v0, 0x10 new-array v0, v0, [Lokhttp3/CipherSuite; aput-object v2, v0, v3 aput-object v4, v0, v5 aput-object v6, v0, v7 aput-object v8, v0, v9 aput-object v10, v0, v11 aput-object v12, v0, v13 aput-object v14, v0, v15 aput-object v16, v0, v17 aput-object v18, v0, v19 .line 11 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:Lokhttp3/CipherSuite; const/16 v4, 0x9 aput-object v2, v0, v4 .line 12 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:Lokhttp3/CipherSuite; const/16 v4, 0xa aput-object v2, v0, v4 .line 13 sget-object v2, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/16 v4, 0xb aput-object v2, v0, v4 .line 14 sget-object v2, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/16 v4, 0xc aput-object v2, v0, v4 .line 15 sget-object v2, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_128_CBC_SHA:Lokhttp3/CipherSuite; const/16 v4, 0xd aput-object v2, v0, v4 .line 16 sget-object v2, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_256_CBC_SHA:Lokhttp3/CipherSuite; const/16 v4, 0xe aput-object v2, v0, v4 .line 17 sget-object v2, Lokhttp3/CipherSuite;->TLS_RSA_WITH_3DES_EDE_CBC_SHA:Lokhttp3/CipherSuite; const/16 v4, 0xf aput-object v2, v0, v4 .line 18 sput-object v0, Lokhttp3/ConnectionSpec;->APPROVED_CIPHER_SUITES:[Lokhttp3/CipherSuite; .line 19 new-instance v2, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v2, v5}, Lokhttp3/ConnectionSpec$Builder;->(Z)V .line 20 array-length v4, v1 invoke-static {v1, v4}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v1 check-cast v1, [Lokhttp3/CipherSuite; invoke-virtual {v2, v1}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 new-array v2, v7, [Lokhttp3/TlsVersion; .line 21 sget-object v4, Lokhttp3/TlsVersion;->TLS_1_3:Lokhttp3/TlsVersion; aput-object v4, v2, v3 sget-object v6, Lokhttp3/TlsVersion;->TLS_1_2:Lokhttp3/TlsVersion; aput-object v6, v2, v5 invoke-virtual {v1, v2}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 .line 22 invoke-virtual {v1, v5}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 .line 23 invoke-virtual {v1}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v1 sput-object v1, Lokhttp3/ConnectionSpec;->RESTRICTED_TLS:Lokhttp3/ConnectionSpec; .line 24 new-instance v1, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v1, v5}, Lokhttp3/ConnectionSpec$Builder;->(Z)V .line 25 array-length v2, v0 invoke-static {v0, v2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v2 check-cast v2, [Lokhttp3/CipherSuite; invoke-virtual {v1, v2}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 new-array v2, v7, [Lokhttp3/TlsVersion; aput-object v4, v2, v3 aput-object v6, v2, v5 .line 26 invoke-virtual {v1, v2}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 .line 27 invoke-virtual {v1, v5}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v1 .line 28 invoke-virtual {v1}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v1 sput-object v1, Lokhttp3/ConnectionSpec;->MODERN_TLS:Lokhttp3/ConnectionSpec; .line 29 new-instance v1, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v1, v5}, Lokhttp3/ConnectionSpec$Builder;->(Z)V .line 30 array-length v2, v0 invoke-static {v0, v2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 check-cast v0, [Lokhttp3/CipherSuite; invoke-virtual {v1, v0}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 new-array v1, v11, [Lokhttp3/TlsVersion; aput-object v4, v1, v3 aput-object v6, v1, v5 .line 31 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_1:Lokhttp3/TlsVersion; aput-object v2, v1, v7 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_0:Lokhttp3/TlsVersion; aput-object v2, v1, v9 invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 32 invoke-virtual {v0, v5}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 33 invoke-virtual {v0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v0 sput-object v0, Lokhttp3/ConnectionSpec;->COMPATIBLE_TLS:Lokhttp3/ConnectionSpec; .line 34 new-instance v0, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v0, v3}, Lokhttp3/ConnectionSpec$Builder;->(Z)V invoke-virtual {v0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v0 sput-object v0, Lokhttp3/ConnectionSpec;->CLEARTEXT:Lokhttp3/ConnectionSpec; return-void .end method .method public constructor (ZZ[Ljava/lang/String;[Ljava/lang/String;)V .locals 0 .param p3 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .param p4 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V iput-boolean p1, p0, Lokhttp3/ConnectionSpec;->isTls:Z iput-boolean p2, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z iput-object p3, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; iput-object p4, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; return-void .end method .method public static final synthetic access$getCipherSuitesAsString$p(Lokhttp3/ConnectionSpec;)[Ljava/lang/String; .locals 0 .line 1 iget-object p0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; return-object p0 .end method .method public static final synthetic access$getTlsVersionsAsString$p(Lokhttp3/ConnectionSpec;)[Ljava/lang/String; .locals 0 .line 1 iget-object p0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; return-object p0 .end method .method private final supportedSpec(Ljavax/net/ssl/SSLSocket;Z)Lokhttp3/ConnectionSpec; .locals 4 .line 1 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_0 .line 2 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object v0 const-string v1, "sslSocket.enabledCipherSuites" invoke-static {v0, v1}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V iget-object v1, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; sget-object v2, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v2}, Lokhttp3/CipherSuite$Companion;->getORDER_BY_NAME$okhttp()Ljava/util/Comparator; move-result-object v2 invoke-static {v0, v1, v2}, Lokhttp3/internal/Util;->intersect([Ljava/lang/String;[Ljava/lang/String;Ljava/util/Comparator;)[Ljava/lang/String; move-result-object v0 goto :goto_0 .line 3 :cond_0 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object v0 .line 4 :goto_0 iget-object v1, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v1, :cond_1 .line 5 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v1 const-string v2, "sslSocket.enabledProtocols" invoke-static {v1, v2}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V iget-object v2, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-static {}, Lri/b;->l()Ljava/util/Comparator; move-result-object v3 invoke-static {v1, v2, v3}, Lokhttp3/internal/Util;->intersect([Ljava/lang/String;[Ljava/lang/String;Ljava/util/Comparator;)[Ljava/lang/String; move-result-object v1 goto :goto_1 .line 6 :cond_1 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v1 .line 7 :goto_1 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getSupportedCipherSuites()[Ljava/lang/String; move-result-object p1 const-string v2, "supportedCipherSuites" .line 8 invoke-static {p1, v2}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V .line 9 sget-object v2, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v2}, Lokhttp3/CipherSuite$Companion;->getORDER_BY_NAME$okhttp()Ljava/util/Comparator; move-result-object v2 const-string v3, "TLS_FALLBACK_SCSV" .line 10 invoke-static {p1, v3, v2}, Lokhttp3/internal/Util;->indexOf([Ljava/lang/String;Ljava/lang/String;Ljava/util/Comparator;)I move-result v2 const-string v3, "cipherSuitesIntersection" if-eqz p2, :cond_2 const/4 p2, -0x1 if-eq v2, p2, :cond_2 .line 11 invoke-static {v0, v3}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V .line 12 aget-object p1, p1, v2 const-string p2, "supportedCipherSuites[indexOfFallbackScsv]" invoke-static {p1, p2}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V .line 13 invoke-static {v0, p1}, Lokhttp3/internal/Util;->concat([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; move-result-object v0 .line 14 :cond_2 new-instance p1, Lokhttp3/ConnectionSpec$Builder; invoke-direct {p1, p0}, Lokhttp3/ConnectionSpec$Builder;->(Lokhttp3/ConnectionSpec;)V .line 15 invoke-static {v0, v3}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V array-length p2, v0 invoke-static {v0, p2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object p2 check-cast p2, [Ljava/lang/String; invoke-virtual {p1, p2}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; move-result-object p1 const-string p2, "tlsVersionsIntersection" .line 16 invoke-static {v1, p2}, Lkotlin/jvm/internal/f0;->o(Ljava/lang/Object;Ljava/lang/String;)V array-length p2, v1 invoke-static {v1, p2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object p2 check-cast p2, [Ljava/lang/String; invoke-virtual {p1, p2}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; move-result-object p1 .line 17 invoke-virtual {p1}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object p1 return-object p1 .end method # virtual methods .method public final -deprecated_cipherSuites()Ljava/util/List; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/CipherSuite;", ">;" } .end annotation .annotation runtime Lkotlin/Deprecated; level = .enum Lkotlin/DeprecationLevel;->ERROR:Lkotlin/DeprecationLevel; message = "moved to val" replaceWith = .subannotation Lkotlin/ReplaceWith; expression = "cipherSuites" imports = {} .end subannotation .end annotation .annotation build Lkotlin/jvm/JvmName; name = "-deprecated_cipherSuites" .end annotation .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object v0 return-object v0 .end method .method public final -deprecated_supportsTlsExtensions()Z .locals 1 .annotation runtime Lkotlin/Deprecated; level = .enum Lkotlin/DeprecationLevel;->ERROR:Lkotlin/DeprecationLevel; message = "moved to val" replaceWith = .subannotation Lkotlin/ReplaceWith; expression = "supportsTlsExtensions" imports = {} .end subannotation .end annotation .annotation build Lkotlin/jvm/JvmName; name = "-deprecated_supportsTlsExtensions" .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return v0 .end method .method public final -deprecated_tlsVersions()Ljava/util/List; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/TlsVersion;", ">;" } .end annotation .annotation runtime Lkotlin/Deprecated; level = .enum Lkotlin/DeprecationLevel;->ERROR:Lkotlin/DeprecationLevel; message = "moved to val" replaceWith = .subannotation Lkotlin/ReplaceWith; expression = "tlsVersions" imports = {} .end subannotation .end annotation .annotation build Lkotlin/jvm/JvmName; name = "-deprecated_tlsVersions" .end annotation .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object v0 return-object v0 .end method .method public final apply$okhttp(Ljavax/net/ssl/SSLSocket;Z)V .locals 1 .param p1 # Ljavax/net/ssl/SSLSocket; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 invoke-direct {p0, p1, p2}, Lokhttp3/ConnectionSpec;->supportedSpec(Ljavax/net/ssl/SSLSocket;Z)Lokhttp3/ConnectionSpec; move-result-object p2 .line 2 invoke-virtual {p2}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object v0 if-eqz v0, :cond_0 .line 3 iget-object v0, p2, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-virtual {p1, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V .line 4 :cond_0 invoke-virtual {p2}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object v0 if-eqz v0, :cond_1 .line 5 iget-object p2, p2, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; invoke-virtual {p1, p2}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V :cond_1 return-void .end method .method public final cipherSuites()Ljava/util/List; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/CipherSuite;", ">;" } .end annotation .annotation build Lkotlin/jvm/JvmName; name = "cipherSuites" .end annotation .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_1 .line 2 new-instance v1, Ljava/util/ArrayList; array-length v2, v0 invoke-direct {v1, v2}, Ljava/util/ArrayList;->(I)V .line 3 array-length v2, v0 const/4 v3, 0x0 :goto_0 if-ge v3, v2, :cond_0 aget-object v4, v0, v3 .line 4 sget-object v5, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v5, v4}, Lokhttp3/CipherSuite$Companion;->forJavaName(Ljava/lang/String;)Lokhttp3/CipherSuite; move-result-object v4 invoke-interface {v1, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_0 invoke-static {v1}, Lkotlin/collections/CollectionsKt___CollectionsKt;->I5(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 goto :goto_1 :cond_1 const/4 v0, 0x0 :goto_1 return-object v0 .end method .method public equals(Ljava/lang/Object;)Z .locals 4 .param p1 # Ljava/lang/Object; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .line 1 instance-of v0, p1, Lokhttp3/ConnectionSpec; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 const/4 v0, 0x1 if-ne p1, p0, :cond_1 return v0 .line 2 :cond_1 iget-boolean v2, p0, Lokhttp3/ConnectionSpec;->isTls:Z check-cast p1, Lokhttp3/ConnectionSpec; iget-boolean v3, p1, Lokhttp3/ConnectionSpec;->isTls:Z if-eq v2, v3, :cond_2 return v1 :cond_2 if-eqz v2, :cond_5 .line 3 iget-object v2, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; iget-object v3, p1, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; invoke-static {v2, v3}, Ljava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_3 return v1 .line 4 :cond_3 iget-object v2, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; iget-object v3, p1, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-static {v2, v3}, Ljava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_4 return v1 .line 5 :cond_4 iget-boolean v2, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z iget-boolean p1, p1, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z if-eq v2, p1, :cond_5 return v1 :cond_5 return v0 .end method .method public hashCode()I .locals 3 .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-eqz v0, :cond_2 const/16 v0, 0x20f .line 2 iget-object v1, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; const/4 v2, 0x0 if-eqz v1, :cond_0 invoke-static {v1}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v1 goto :goto_0 :cond_0 move v1, v2 :goto_0 add-int/2addr v0, v1 mul-int/lit8 v0, v0, 0x1f .line 3 iget-object v1, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v1, :cond_1 invoke-static {v1}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v2 :cond_1 add-int/2addr v0, v2 mul-int/lit8 v0, v0, 0x1f .line 4 iget-boolean v1, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z xor-int/lit8 v1, v1, 0x1 add-int/2addr v0, v1 goto :goto_1 :cond_2 const/16 v0, 0x11 :goto_1 return v0 .end method .method public final isCompatible(Ljavax/net/ssl/SSLSocket;)Z .locals 4 .param p1 # Ljavax/net/ssl/SSLSocket; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param const-string v0, "socket" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2 :cond_0 iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v2 invoke-static {}, Lri/b;->l()Ljava/util/Comparator; move-result-object v3 invoke-static {v0, v2, v3}, Lokhttp3/internal/Util;->hasIntersection([Ljava/lang/String;[Ljava/lang/String;Ljava/util/Comparator;)Z move-result v0 if-nez v0, :cond_1 return v1 .line 3 :cond_1 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_2 .line 4 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object p1 sget-object v2, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v2}, Lokhttp3/CipherSuite$Companion;->getORDER_BY_NAME$okhttp()Ljava/util/Comparator; move-result-object v2 .line 5 invoke-static {v0, p1, v2}, Lokhttp3/internal/Util;->hasIntersection([Ljava/lang/String;[Ljava/lang/String;Ljava/util/Comparator;)Z move-result p1 if-nez p1, :cond_2 return v1 :cond_2 const/4 p1, 0x1 return p1 .end method .method public final isTls()Z .locals 1 .annotation build Lkotlin/jvm/JvmName; name = "isTls" .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z return v0 .end method .method public final supportsTlsExtensions()Z .locals 1 .annotation build Lkotlin/jvm/JvmName; name = "supportsTlsExtensions" .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return v0 .end method .method public final tlsVersions()Ljava/util/List; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/TlsVersion;", ">;" } .end annotation .annotation build Lkotlin/jvm/JvmName; name = "tlsVersions" .end annotation .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1 .line 2 new-instance v1, Ljava/util/ArrayList; array-length v2, v0 invoke-direct {v1, v2}, Ljava/util/ArrayList;->(I)V .line 3 array-length v2, v0 const/4 v3, 0x0 :goto_0 if-ge v3, v2, :cond_0 aget-object v4, v0, v3 .line 4 sget-object v5, Lokhttp3/TlsVersion;->Companion:Lokhttp3/TlsVersion$Companion; invoke-virtual {v5, v4}, Lokhttp3/TlsVersion$Companion;->forJavaName(Ljava/lang/String;)Lokhttp3/TlsVersion; move-result-object v4 invoke-interface {v1, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_0 invoke-static {v1}, Lkotlin/collections/CollectionsKt___CollectionsKt;->I5(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 goto :goto_1 :cond_1 const/4 v0, 0x0 :goto_1 return-object v0 .end method .method public toString()Ljava/lang/String; .locals 4 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-nez v0, :cond_0 const-string v0, "ConnectionSpec()" return-object v0 :cond_0 const-string v0, "ConnectionSpec(" const-string v1, "cipherSuites=" .line 2 invoke-static {v0, v1}, Landroid/support/v4/media/e;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 .line 3 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object v1 const-string v2, "[all enabled]" invoke-static {v1, v2}, Ljava/util/Objects;->toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, ", " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v3, "tlsVersions=" invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 4 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object v3 invoke-static {v3, v2}, Ljava/util/Objects;->toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "supportsTlsExtensions=" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 5 iget-boolean v1, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; const/16 v1, 0x29 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method