.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\n8888#2:351\n9221#2,3:352\n8888#2:355\n9221#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, 0x1, 0x10 } .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 .registers 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 .line 274 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 .line 274 sput-object v1, Lokhttp3/ConnectionSpec;->RESTRICTED_CIPHER_SUITES:[Lokhttp3/CipherSuite; const/16 v2, 0x10 .line 290 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 .line 290 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 .line 317 array-length v8, v1 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 .line 328 array-length v1, v2 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 .line 340 array-length v1, v2 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 .registers 5 .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; .registers 1 .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; .registers 1 .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; .registers 7 .line 109 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_1a .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;->checkExpressionValueIsNotNull(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_1e .line 112 :cond_1a invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String; move-result-object v0 .line 115 :goto_1e iget-object v1, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v1, :cond_36 .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;->checkExpressionValueIsNotNull(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_3a .line 118 :cond_36 invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String; move-result-object v1 .line 123 :goto_3a invoke-virtual {p1}, Ljavax/net/ssl/SSLSocket;->getSupportedCipherSuites()[Ljava/lang/String; move-result-object p1 .line 124 const-string v2, "supportedCipherSuites" invoke-static {p1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(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 .line 124 const-string v3, "TLS_FALLBACK_SCSV" invoke-static {p1, v3, v2}, Lokhttp3/internal/Util;->indexOf([Ljava/lang/String;Ljava/lang/String;Ljava/util/Comparator;)I move-result v2 .line 126 const-string v3, "cipherSuitesIntersection" if-eqz p2, :cond_64 const/4 p2, -0x1 if-eq v2, p2, :cond_64 .line 127 invoke-static {v0, v3}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(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;->checkExpressionValueIsNotNull(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_64 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;->checkExpressionValueIsNotNull(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 .line 133 const-string p2, "tlsVersionsIntersection" invoke-static {v1, p2}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(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 134 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; .registers 2 .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 v0 return-object v0 .end method .method public final -deprecated_supportsTlsExtensions()Z .registers 2 .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 .line 90 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return v0 .end method .method public final -deprecated_tlsVersions()Ljava/util/List; .registers 2 .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 v0 return-object v0 .end method .method public final apply$okhttp(Ljavax/net/ssl/SSLSocket;Z)V .registers 4 const-string v0, "sslSocket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(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 p2 .line 96 invoke-virtual {p2}, Lokhttp3/ConnectionSpec;->tlsVersions()Ljava/util/List; move-result-object v0 if-eqz v0, :cond_14 .line 97 iget-object v0, p2, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; invoke-virtual {p1, v0}, Ljavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V .line 100 :cond_14 invoke-virtual {p2}, Lokhttp3/ConnectionSpec;->cipherSuites()Ljava/util/List; move-result-object v0 if-eqz v0, :cond_1f .line 101 iget-object p2, p2, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; invoke-virtual {p1, p2}, Ljavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V :cond_1f return-void .end method .method public final cipherSuites()Ljava/util/List; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/CipherSuite;", ">;" } .end annotation .line 59 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_27 .line 351 new-instance v1, Ljava/util/ArrayList; array-length v2, v0 invoke-direct {v1, v2}, Ljava/util/ArrayList;->(I)V check-cast v1, Ljava/util/Collection; .line 352 array-length v2, v0 const/4 v3, 0x0 :goto_e if-ge v3, v2, :cond_1e aget-object v4, v0, v3 .line 59 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_e .line 354 :cond_1e check-cast v1, Ljava/util/List; check-cast v1, Ljava/lang/Iterable; .line 59 invoke-static {v1}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 goto :goto_28 :cond_27 const/4 v0, 0x0 :goto_28 return-object v0 .end method .method public equals(Ljava/lang/Object;)Z .registers 6 .line 168 instance-of v0, p1, Lokhttp3/ConnectionSpec; const/4 v1, 0x0 if-nez v0, :cond_6 return v1 .line 169 :cond_6 move-object v0, p0 check-cast v0, Lokhttp3/ConnectionSpec; const/4 v0, 0x1 if-ne p1, p0, :cond_d return v0 .line 171 :cond_d 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_16 return v1 :cond_16 if-eqz v2, :cond_35 .line 174 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_23 return v1 .line 175 :cond_23 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_2e return v1 .line 176 :cond_2e iget-boolean v2, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z iget-boolean p1, p1, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z if-eq v2, p1, :cond_35 return v1 :cond_35 return v0 .end method .method public hashCode()I .registers 4 .line 184 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-eqz v0, :cond_25 .line 185 iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; const/4 v1, 0x0 if-eqz v0, :cond_e invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v0 goto :goto_f :cond_e move v0, v1 :goto_f const/16 v2, 0x20f add-int/2addr v2, v0 mul-int/lit8 v2, v2, 0x1f .line 186 iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1c invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I move-result v1 :cond_1c add-int/2addr v2, v1 mul-int/lit8 v2, v2, 0x1f .line 187 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z xor-int/lit8 v0, v0, 0x1 add-int/2addr v2, v0 goto :goto_27 :cond_25 const/16 v2, 0x11 :goto_27 return v2 .end method .method public final isCompatible(Ljavax/net/ssl/SSLSocket;)Z .registers 6 const-string v0, "socket" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V .line 149 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z const/4 v1, 0x0 if-nez v0, :cond_b return v1 .line 154 :cond_b iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_1e 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_1e return v1 .line 159 :cond_1e iget-object v0, p0, Lokhttp3/ConnectionSpec;->cipherSuitesAsString:[Ljava/lang/String; if-eqz v0, :cond_33 .line 160 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 159 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_33 return v1 :cond_33 const/4 p1, 0x1 return p1 .end method .method public final isTls()Z .registers 2 .line 47 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z return v0 .end method .method public final supportsTlsExtensions()Z .registers 2 .line 48 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z return v0 .end method .method public final tlsVersions()Ljava/util/List; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lokhttp3/TlsVersion;", ">;" } .end annotation .line 75 iget-object v0, p0, Lokhttp3/ConnectionSpec;->tlsVersionsAsString:[Ljava/lang/String; if-eqz v0, :cond_27 .line 355 new-instance v1, Ljava/util/ArrayList; array-length v2, v0 invoke-direct {v1, v2}, Ljava/util/ArrayList;->(I)V check-cast v1, Ljava/util/Collection; .line 356 array-length v2, v0 const/4 v3, 0x0 :goto_e if-ge v3, v2, :cond_1e aget-object v4, v0, v3 .line 75 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_e .line 358 :cond_1e check-cast v1, Ljava/util/List; check-cast v1, Ljava/lang/Iterable; .line 75 invoke-static {v1}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 goto :goto_28 :cond_27 const/4 v0, 0x0 :goto_28 return-object v0 .end method .method public toString()Ljava/lang/String; .registers 4 .line 193 iget-boolean v0, p0, Lokhttp3/ConnectionSpec;->isTls:Z if-nez v0, :cond_7 const-string v0, "ConnectionSpec()" return-object v0 .line 195 :cond_7 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 .line 198 iget-boolean v1, p0, Lokhttp3/ConnectionSpec;->supportsTlsExtensions:Z invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; move-result-object v0 const/16 v1, 0x29 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method