.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 = { 0x1, 0x0, 0x3 } d1 = { "\u0000F\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\u0008\u0003\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0006\n\u0002\u0010\u0008\n\u0002\u0008\t\u0018\u0000 $2\u00020\u0001:\u0002#$B7\u0008\u0000\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u000e\u0010\u0005\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006\u0012\u000e\u0010\u0008\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006\u00a2\u0006\u0002\u0010\tJ\u001d\u0010\u0012\u001a\u00020\u00132\u0006\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u0003H\u0000\u00a2\u0006\u0002\u0008\u0017J\u0015\u0010\n\u001a\n\u0012\u0004\u0012\u00020\u000c\u0018\u00010\u000bH\u0007\u00a2\u0006\u0002\u0008\u0018J\u0013\u0010\u0019\u001a\u00020\u00032\u0008\u0010\u001a\u001a\u0004\u0018\u00010\u0001H\u0096\u0002J\u0008\u0010\u001b\u001a\u00020\u001cH\u0016J\u000e\u0010\u001d\u001a\u00020\u00032\u0006\u0010\u001e\u001a\u00020\u0015J\u0018\u0010\u001f\u001a\u00020\u00002\u0006\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u0003H\u0002J\r\u0010\u0004\u001a\u00020\u0003H\u0007\u00a2\u0006\u0002\u0008 J\u0015\u0010\u0010\u001a\n\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u000bH\u0007\u00a2\u0006\u0002\u0008!J\u0008\u0010\"\u001a\u00020\u0007H\u0016R\u0019\u0010\n\u001a\n\u0012\u0004\u0012\u00020\u000c\u0018\u00010\u000b8G\u00a2\u0006\u0006\u001a\u0004\u0008\n\u0010\rR\u0018\u0010\u0005\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006X\u0082\u0004\u00a2\u0006\u0004\n\u0002\u0010\u000eR\u0013\u0010\u0002\u001a\u00020\u00038\u0007\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0002\u0010\u000fR\u0013\u0010\u0004\u001a\u00020\u00038\u0007\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0004\u0010\u000fR\u0019\u0010\u0010\u001a\n\u0012\u0004\u0012\u00020\u0011\u0018\u00010\u000b8G\u00a2\u0006\u0006\u001a\u0004\u0008\u0010\u0010\rR\u0018\u0010\u0008\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006X\u0082\u0004\u00a2\u0006\u0004\n\u0002\u0010\u000e\u00a8\u0006%" } d2 = { "Lokhttp3/ConnectionSpec;", "", "isTls", "", "supportsTlsExtensions", "cipherSuitesAsString", "", "", "tlsVersionsAsString", "(ZZ[Ljava/lang/String;[Ljava/lang/String;)V", "cipherSuites", "", "Lokhttp3/CipherSuite;", "()Ljava/util/List;", "[Ljava/lang/String;", "()Z", "tlsVersions", "Lokhttp3/TlsVersion;", "apply", "", "sslSocket", "Ljavax/net/ssl/SSLSocket;", "isFallback", "apply$okhttp", "-deprecated_cipherSuites", "equals", "other", "hashCode", "", "isCompatible", "socket", "supportedSpec", "-deprecated_supportsTlsExtensions", "-deprecated_tlsVersions", "toString", "Builder", "Companion", "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; .field public static final COMPATIBLE_TLS:Lokhttp3/ConnectionSpec; .field public static final Companion:Lokhttp3/ConnectionSpec$Companion; .field public static final MODERN_TLS:Lokhttp3/ConnectionSpec; .field private static final RESTRICTED_CIPHER_SUITES:[Lokhttp3/CipherSuite; .field public static final RESTRICTED_TLS:Lokhttp3/ConnectionSpec; # 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 static constructor ()V .locals 13 new-instance v0, Lokhttp3/ConnectionSpec$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Lokhttp3/ConnectionSpec$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Lokhttp3/ConnectionSpec;->Companion:Lokhttp3/ConnectionSpec$Companion; const/16 v0, 0x9 new-array v1, v0, [Lokhttp3/CipherSuite; .line 276 sget-object v2, Lokhttp3/CipherSuite;->TLS_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v3, 0x0 aput-object v2, v1, v3 .line 277 sget-object v2, Lokhttp3/CipherSuite;->TLS_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v4, 0x1 aput-object v2, v1, v4 .line 278 sget-object v2, Lokhttp3/CipherSuite;->TLS_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/4 v5, 0x2 aput-object v2, v1, v5 .line 281 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v6, 0x3 aput-object v2, v1, v6 .line 282 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; const/4 v7, 0x4 aput-object v2, v1, v7 .line 283 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v8, 0x5 aput-object v2, v1, v8 .line 284 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; const/4 v9, 0x6 aput-object v2, v1, v9 .line 285 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/4 v10, 0x7 aput-object v2, v1, v10 .line 286 sget-object v2, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; const/16 v11, 0x8 aput-object v2, v1, v11 sput-object v1, Lokhttp3/ConnectionSpec;->RESTRICTED_CIPHER_SUITES:[Lokhttp3/CipherSuite; const/16 v2, 0x10 new-array v2, v2, [Lokhttp3/CipherSuite; .line 292 sget-object v12, Lokhttp3/CipherSuite;->TLS_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; aput-object v12, v2, v3 .line 293 sget-object v12, Lokhttp3/CipherSuite;->TLS_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; aput-object v12, v2, v4 .line 294 sget-object v12, Lokhttp3/CipherSuite;->TLS_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; aput-object v12, v2, v5 .line 297 sget-object v12, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; aput-object v12, v2, v6 .line 298 sget-object v12, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; aput-object v12, v2, v7 .line 299 sget-object v12, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; aput-object v12, v2, v8 .line 300 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; aput-object v8, v2, v9 .line 301 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; aput-object v8, v2, v10 .line 302 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:Lokhttp3/CipherSuite; aput-object v8, v2, v11 .line 306 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xa .line 307 sget-object v8, Lokhttp3/CipherSuite;->TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xb .line 308 sget-object v8, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_128_GCM_SHA256:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xc .line 309 sget-object v8, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_256_GCM_SHA384:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xd .line 310 sget-object v8, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_128_CBC_SHA:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xe .line 311 sget-object v8, Lokhttp3/CipherSuite;->TLS_RSA_WITH_AES_256_CBC_SHA:Lokhttp3/CipherSuite; aput-object v8, v2, v0 const/16 v0, 0xf .line 312 sget-object v8, Lokhttp3/CipherSuite;->TLS_RSA_WITH_3DES_EDE_CBC_SHA:Lokhttp3/CipherSuite; aput-object v8, v2, v0 sput-object v2, Lokhttp3/ConnectionSpec;->APPROVED_CIPHER_SUITES:[Lokhttp3/CipherSuite; .line 316 new-instance v0, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->(Z)V array-length v8, v1 .line 317 invoke-static {v1, v8}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v1 check-cast v1, [Lokhttp3/CipherSuite; invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 new-array v1, v5, [Lokhttp3/TlsVersion; .line 318 sget-object v8, Lokhttp3/TlsVersion;->TLS_1_3:Lokhttp3/TlsVersion; aput-object v8, v1, v3 sget-object v8, Lokhttp3/TlsVersion;->TLS_1_2:Lokhttp3/TlsVersion; aput-object v8, v1, v4 invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 319 invoke-virtual {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 320 invoke-virtual {v0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v0 sput-object v0, Lokhttp3/ConnectionSpec;->RESTRICTED_TLS:Lokhttp3/ConnectionSpec; .line 327 new-instance v0, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->(Z)V array-length v1, v2 .line 328 invoke-static {v2, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v1 check-cast v1, [Lokhttp3/CipherSuite; invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 new-array v1, v5, [Lokhttp3/TlsVersion; .line 329 sget-object v8, Lokhttp3/TlsVersion;->TLS_1_3:Lokhttp3/TlsVersion; aput-object v8, v1, v3 sget-object v8, Lokhttp3/TlsVersion;->TLS_1_2:Lokhttp3/TlsVersion; aput-object v8, v1, v4 invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 330 invoke-virtual {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 331 invoke-virtual {v0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v0 sput-object v0, Lokhttp3/ConnectionSpec;->MODERN_TLS:Lokhttp3/ConnectionSpec; .line 339 new-instance v0, Lokhttp3/ConnectionSpec$Builder; invoke-direct {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->(Z)V array-length v1, v2 .line 340 invoke-static {v2, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v1 check-cast v1, [Lokhttp3/CipherSuite; invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 new-array v1, v7, [Lokhttp3/TlsVersion; .line 341 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_3:Lokhttp3/TlsVersion; aput-object v2, v1, v3 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_2:Lokhttp3/TlsVersion; aput-object v2, v1, v4 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_1:Lokhttp3/TlsVersion; aput-object v2, v1, v5 sget-object v2, Lokhttp3/TlsVersion;->TLS_1_0:Lokhttp3/TlsVersion; aput-object v2, v1, v6 invoke-virtual {v0, v1}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 342 invoke-virtual {v0, v4}, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; move-result-object v0 .line 343 invoke-virtual {v0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object v0 sput-object v0, Lokhttp3/ConnectionSpec;->COMPATIBLE_TLS:Lokhttp3/ConnectionSpec; .line 347 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 .line 46 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 46 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 46 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 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_0 .line 110 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/Intrinsics;->checkNotNullExpressionValue(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 112 :cond_0 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object v0 :goto_0 iget-object v1, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v1, :cond_1 .line 116 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/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V iget-object v2, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-static {}, Lkotlin/comparisons/ComparisonsKt;->naturalOrder()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 118 :cond_1 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v1 .line 123 :goto_1 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getSupportedCipherSuites()[Ljava/lang/String; move-result-object p1 const-string v2, "supportedCipherSuites" .line 124 invoke-static {p1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 125 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 124 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 127 invoke-static {v0, v3}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 128 aget-object p1, p1, v2 const-string p2, "supportedCipherSuites[indexOfFallbackScsv]" invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 127 invoke-static {v0, p1}, Lokhttp3/internal/Util;->concat([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; move-result-object v0 .line 131 :cond_2 new-instance p1, Lokhttp3/ConnectionSpec$Builder; invoke-direct {p1, p0}, Lokhttp3/ConnectionSpec$Builder;->(Lokhttp3/ConnectionSpec;)V .line 132 invoke-static {v0, v3}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V array-length p0, v0 invoke-static {v0, p0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object p0 check-cast p0, [Ljava/lang/String; invoke-virtual {p1, p0}, Lokhttp3/ConnectionSpec$Builder;->cipherSuites([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; move-result-object p0 const-string p1, "tlsVersionsIntersection" .line 133 invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V array-length p1, v1 invoke-static {v1, p1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object p1 check-cast p1, [Ljava/lang/String; invoke-virtual {p0, p1}, Lokhttp3/ConnectionSpec$Builder;->tlsVersions([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; move-result-object p0 .line 134 invoke-virtual {p0}, Lokhttp3/ConnectionSpec$Builder;->build()Lokhttp3/ConnectionSpec; move-result-object p0 return-object p0 .end method # virtual methods .method public final -deprecated_cipherSuites()Ljava/util/List; .locals 0 .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 .line 67 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object p0 return-object p0 .end method .method public final -deprecated_supportsTlsExtensions()Z .locals 0 .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 iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return p0 .end method .method public final -deprecated_tlsVersions()Ljava/util/List; .locals 0 .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 .line 83 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object p0 return-object p0 .end method .method public final apply$okhttp(Ljavax/net/ssl/SSLSocket;Z)V .locals 1 const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 94 invoke-direct {p0, p1, p2}, Lokhttp3/ConnectionSpec;->supportedSpec(Ljavax/net/ssl/SSLSocket;Z)Lokhttp3/ConnectionSpec; move-result-object p0 .line 96 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object p2 if-eqz p2, :cond_0 .line 97 iget-object p2, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-virtual {p1, p2}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V .line 100 :cond_0 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object p2 if-eqz p2, :cond_1 .line 101 iget-object p0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; invoke-virtual {p1, p0}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V :cond_1 return-void .end method .method public final cipherSuites()Ljava/util/List; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/CipherSuite;", ">;" } .end annotation iget-object p0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz p0, :cond_1 .line 351 new-instance v0, Ljava/util/ArrayList; array-length v1, p0 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V check-cast v0, Ljava/util/Collection; .line 352 array-length v1, p0 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_0 aget-object v3, p0, v2 .line 59 sget-object v4, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v4, v3}, Lokhttp3/CipherSuite$Companion;->forJavaName(Ljava/lang/String;)Lokhttp3/CipherSuite; move-result-object v3 invoke-interface {v0, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 354 :cond_0 check-cast v0, Ljava/util/List; .line 351 check-cast v0, Ljava/lang/Iterable; .line 59 invoke-static {v0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object p0 goto :goto_1 :cond_1 const/4 p0, 0x0 :goto_1 return-object p0 .end method .method public equals(Ljava/lang/Object;)Z .locals 4 .line 168 instance-of v0, p1, Lokhttp3/ConnectionSpec; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 169 :cond_0 move-object v0, p0 check-cast v0, Lokhttp3/ConnectionSpec; const/4 v0, 0x1 if-ne p1, p0, :cond_1 return v0 :cond_1 iget-boolean v2, p0, Lokhttp3/ConnectionSpec;->isTls:Z .line 171 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 iget-object v2, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; .line 174 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 :cond_3 iget-object v2, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; .line 175 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 :cond_4 iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z .line 176 iget-boolean p1, p1, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z if-eq p0, p1, :cond_5 return v1 :cond_5 return v0 .end method .method public hashCode()I .locals 3 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-eqz v0, :cond_2 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; const/4 v1, 0x0 if-eqz v0, :cond_0 .line 185 invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v0 goto :goto_0 :cond_0 move v0, v1 :goto_0 const/16 v2, 0x20f add-int/2addr v2, v0 mul-int/lit8 v2, v2, 0x1f iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1 .line 186 invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v1 :cond_1 add-int/2addr v2, v1 mul-int/lit8 v2, v2, 0x1f iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z xor-int/lit8 p0, p0, 0x1 add-int/2addr v2, p0 goto :goto_1 :cond_2 const/16 v2, 0x11 :goto_1 return v2 .end method .method public final isCompatible(Ljavax/net/ssl/SSLSocket;)Z .locals 4 const-string v0, "socket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1 .line 154 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v2 invoke-static {}, Lkotlin/comparisons/ComparisonsKt;->naturalOrder()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 :cond_1 iget-object p0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz p0, :cond_2 .line 160 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object p1 sget-object v0, Lokhttp3/CipherSuite;->Companion:Lokhttp3/CipherSuite$Companion; invoke-virtual {v0}, Lokhttp3/CipherSuite$Companion;->getORDER_BY_NAME$okhttp()Ljava/util/Comparator; move-result-object v0 .line 159 invoke-static {p0, p1, v0}, Lokhttp3/internal/Util;->hasIntersection([Ljava/lang/String;[Ljava/lang/String;Ljava/util/Comparator;)Z move-result p0 if-nez p0, :cond_2 return v1 :cond_2 const/4 p0, 0x1 return p0 .end method .method public final isTls()Z .locals 0 iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->isTls:Z return p0 .end method .method public final supportsTlsExtensions()Z .locals 0 iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return p0 .end method .method public final tlsVersions()Ljava/util/List; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/TlsVersion;", ">;" } .end annotation iget-object p0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz p0, :cond_1 .line 355 new-instance v0, Ljava/util/ArrayList; array-length v1, p0 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V check-cast v0, Ljava/util/Collection; .line 356 array-length v1, p0 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_0 aget-object v3, p0, v2 .line 75 sget-object v4, Lokhttp3/TlsVersion;->Companion:Lokhttp3/TlsVersion$Companion; invoke-virtual {v4, v3}, Lokhttp3/TlsVersion$Companion;->forJavaName(Ljava/lang/String;)Lokhttp3/TlsVersion; move-result-object v3 invoke-interface {v0, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 358 :cond_0 check-cast v0, Ljava/util/List; .line 355 check-cast v0, Ljava/lang/Iterable; .line 75 invoke-static {v0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object p0 goto :goto_1 :cond_1 const/4 p0, 0x0 :goto_1 return-object p0 .end method .method public toString()Ljava/lang/String; .locals 3 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-nez v0, :cond_0 const-string p0, "ConnectionSpec()" return-object p0 .line 195 :cond_0 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "ConnectionSpec(cipherSuites=" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 196 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; move-result-object v0 const-string v1, ", tlsVersions=" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 .line 197 invoke-virtual {p0}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object v1 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; move-result-object v0 const-string v1, ", supportsTlsExtensions=" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-boolean p0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z .line 198 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x29 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method