.class public final Lokhttp3/ConnectionSpec$Builder; .super Ljava/lang/Object; .source "ConnectionSpec.kt" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lokhttp3/ConnectionSpec; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "Builder" .end annotation .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nConnectionSpec.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ConnectionSpec.kt\nokhttp3/ConnectionSpec$Builder\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n+ 4 ArraysJVM.kt\nkotlin/collections/ArraysKt__ArraysJVMKt\n*L\n1#1,350:1\n1#2:351\n11208#3:352\n11543#3,3:353\n11208#3:358\n11543#3,3:359\n37#4,2:356\n37#4,2:362\n*E\n*S KotlinDebug\n*F\n+ 1 ConnectionSpec.kt\nokhttp3/ConnectionSpec$Builder\n*L\n225#1:352\n225#1,3:353\n244#1:358\n244#1,3:359\n225#1,2:356\n244#1,2:362\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u00004\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\u0008\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0018\u00002\u00020\u0001B\u000f\u0008\u0010\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004B\u000f\u0008\u0016\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u00a2\u0006\u0002\u0010\u0007J\u0006\u0010\u0019\u001a\u00020\u0000J\u0006\u0010\u001a\u001a\u00020\u0000J\u0006\u0010\u001b\u001a\u00020\u0006J\u001f\u0010\u0008\u001a\u00020\u00002\u0012\u0010\u0008\u001a\n\u0012\u0006\u0008\u0001\u0012\u00020\n0\t\"\u00020\n\u00a2\u0006\u0002\u0010\u001cJ\u001f\u0010\u0008\u001a\u00020\u00002\u0012\u0010\u0008\u001a\n\u0012\u0006\u0008\u0001\u0012\u00020\u001d0\t\"\u00020\u001d\u00a2\u0006\u0002\u0010\u001eJ\u0010\u0010\u0010\u001a\u00020\u00002\u0006\u0010\u0010\u001a\u00020\u0003H\u0007J\u001f\u0010\u0016\u001a\u00020\u00002\u0012\u0010\u0016\u001a\n\u0012\u0006\u0008\u0001\u0012\u00020\n0\t\"\u00020\n\u00a2\u0006\u0002\u0010\u001cJ\u001f\u0010\u0016\u001a\u00020\u00002\u0012\u0010\u0016\u001a\n\u0012\u0006\u0008\u0001\u0012\u00020\u001f0\t\"\u00020\u001f\u00a2\u0006\u0002\u0010 R$\u0010\u0008\u001a\n\u0012\u0004\u0012\u00020\n\u0018\u00010\tX\u0080\u000e\u00a2\u0006\u0010\n\u0002\u0010\u000f\u001a\u0004\u0008\u000b\u0010\u000c\"\u0004\u0008\r\u0010\u000eR\u001a\u0010\u0010\u001a\u00020\u0003X\u0080\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\u0011\u0010\u0012\"\u0004\u0008\u0013\u0010\u0004R\u001a\u0010\u0002\u001a\u00020\u0003X\u0080\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\u0014\u0010\u0012\"\u0004\u0008\u0015\u0010\u0004R$\u0010\u0016\u001a\n\u0012\u0004\u0012\u00020\n\u0018\u00010\tX\u0080\u000e\u00a2\u0006\u0010\n\u0002\u0010\u000f\u001a\u0004\u0008\u0017\u0010\u000c\"\u0004\u0008\u0018\u0010\u000e\u00a8\u0006!" } d2 = { "Lokhttp3/ConnectionSpec$Builder;", "", "tls", "", "(Z)V", "connectionSpec", "Lokhttp3/ConnectionSpec;", "(Lokhttp3/ConnectionSpec;)V", "cipherSuites", "", "", "getCipherSuites$okhttp", "()[Ljava/lang/String;", "setCipherSuites$okhttp", "([Ljava/lang/String;)V", "[Ljava/lang/String;", "supportsTlsExtensions", "getSupportsTlsExtensions$okhttp", "()Z", "setSupportsTlsExtensions$okhttp", "getTls$okhttp", "setTls$okhttp", "tlsVersions", "getTlsVersions$okhttp", "setTlsVersions$okhttp", "allEnabledCipherSuites", "allEnabledTlsVersions", "build", "([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder;", "Lokhttp3/CipherSuite;", "([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder;", "Lokhttp3/TlsVersion;", "([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder;", "okhttp" } k = 0x1 mv = { 0x1, 0x4, 0x0 } .end annotation # instance fields .field private cipherSuites:[Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end field .field private supportsTlsExtensions:Z .field private tls:Z .field private tlsVersions:[Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end field # direct methods .method public constructor (Lokhttp3/ConnectionSpec;)V .locals 1 .param p1 # Lokhttp3/ConnectionSpec; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param const-string v0, "connectionSpec" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 2 invoke-direct {p0}, Ljava/lang/Object;->()V invoke-virtual {p1}, Lokhttp3/ConnectionSpec;->isTls()Z move-result v0 iput-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z .line 3 invoke-static {p1}, Lokhttp3/ConnectionSpec;->access$getCipherSuitesAsString$p(Lokhttp3/ConnectionSpec;)[Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; .line 4 invoke-static {p1}, Lokhttp3/ConnectionSpec;->access$getTlsVersionsAsString$p(Lokhttp3/ConnectionSpec;)[Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; .line 5 invoke-virtual {p1}, Lokhttp3/ConnectionSpec;->supportsTlsExtensions()Z move-result p1 iput-boolean p1, p0, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions:Z return-void .end method .method public constructor (Z)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V iput-boolean p1, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z return-void .end method # virtual methods .method public final allEnabledCipherSuites()Lokhttp3/ConnectionSpec$Builder; .locals 2 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_0 const/4 v0, 0x0 .line 2 iput-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; return-object p0 .line 3 :cond_0 new-instance v0, Ljava/lang/IllegalArgumentException; const-string v1, "no cipher suites for cleartext connections" invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public final allEnabledTlsVersions()Lokhttp3/ConnectionSpec$Builder; .locals 2 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_0 const/4 v0, 0x0 .line 2 iput-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; return-object p0 .line 3 :cond_0 new-instance v0, Ljava/lang/IllegalArgumentException; const-string v1, "no TLS versions for cleartext connections" invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public final build()Lokhttp3/ConnectionSpec; .locals 5 .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 new-instance v0, Lokhttp3/ConnectionSpec; .line 2 iget-boolean v1, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z .line 3 iget-boolean v2, p0, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions:Z .line 4 iget-object v3, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; .line 5 iget-object v4, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; .line 6 invoke-direct {v0, v1, v2, v3, v4}, Lokhttp3/ConnectionSpec;->(ZZ[Ljava/lang/String;[Ljava/lang/String;)V return-object v0 .end method .method public final varargs cipherSuites([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; .locals 2 .param p1 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation const-string v0, "cipherSuites" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 9 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_2 .line 10 array-length v0, p1 const/4 v1, 0x1 if-nez v0, :cond_0 move v0, v1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 xor-int/2addr v0, v1 if-eqz v0, :cond_1 .line 11 invoke-virtual {p1}, Ljava/lang/Object;->clone()Ljava/lang/Object; move-result-object p1 const-string v0, "null cannot be cast to non-null type kotlin.Array" invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; check-cast p1, [Ljava/lang/String; iput-object p1, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; return-object p0 .line 12 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "At least one cipher suite is required" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 13 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "no cipher suites for cleartext connections" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public final varargs cipherSuites([Lokhttp3/CipherSuite;)Lokhttp3/ConnectionSpec$Builder; .locals 5 .param p1 # [Lokhttp3/CipherSuite; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation const-string v0, "cipherSuites" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_1 .line 2 new-instance v0, Ljava/util/ArrayList; array-length v1, p1 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V .line 3 array-length v1, p1 const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v1, :cond_0 aget-object v4, p1, v3 .line 4 invoke-virtual {v4}, Lokhttp3/CipherSuite;->javaName()Ljava/lang/String; move-result-object v4 invoke-interface {v0, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_0 new-array p1, v2, [Ljava/lang/String; .line 5 invoke-interface {v0, p1}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p1 const-string v0, "null cannot be cast to non-null type kotlin.Array" invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 6 check-cast p1, [Ljava/lang/String; .line 7 array-length v0, p1 invoke-static {p1, v0}, 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;->cipherSuites([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; move-result-object p1 return-object p1 .line 8 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "no cipher suites for cleartext connections" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public final getCipherSuites$okhttp()[Ljava/lang/String; .locals 1 .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 iget-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; return-object v0 .end method .method public final getSupportsTlsExtensions$okhttp()Z .locals 1 .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions:Z return v0 .end method .method public final getTls$okhttp()Z .locals 1 .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z return v0 .end method .method public final getTlsVersions$okhttp()[Ljava/lang/String; .locals 1 .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .line 1 iget-object v0, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; return-object v0 .end method .method public final setCipherSuites$okhttp([Ljava/lang/String;)V .locals 0 .param p1 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lokhttp3/ConnectionSpec$Builder;->cipherSuites:[Ljava/lang/String; return-void .end method .method public final setSupportsTlsExtensions$okhttp(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions:Z return-void .end method .method public final setTls$okhttp(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z return-void .end method .method public final setTlsVersions$okhttp([Ljava/lang/String;)V .locals 0 .param p1 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; return-void .end method .method public final supportsTlsExtensions(Z)Lokhttp3/ConnectionSpec$Builder; .locals 1 .annotation runtime Lkotlin/Deprecated; message = "since OkHttp 3.13 all TLS-connections are expected to support TLS extensions.\nIn a future release setting this to true will be unnecessary and setting it to false\nwill have no effect." .end annotation .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_0 .line 2 iput-boolean p1, p0, Lokhttp3/ConnectionSpec$Builder;->supportsTlsExtensions:Z return-object p0 .line 3 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "no TLS extensions for cleartext connections" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public final varargs tlsVersions([Ljava/lang/String;)Lokhttp3/ConnectionSpec$Builder; .locals 2 .param p1 # [Ljava/lang/String; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation const-string v0, "tlsVersions" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 9 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_2 .line 10 array-length v0, p1 const/4 v1, 0x1 if-nez v0, :cond_0 move v0, v1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 xor-int/2addr v0, v1 if-eqz v0, :cond_1 .line 11 invoke-virtual {p1}, Ljava/lang/Object;->clone()Ljava/lang/Object; move-result-object p1 const-string v0, "null cannot be cast to non-null type kotlin.Array" invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; check-cast p1, [Ljava/lang/String; iput-object p1, p0, Lokhttp3/ConnectionSpec$Builder;->tlsVersions:[Ljava/lang/String; return-object p0 .line 12 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "At least one TLS version is required" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 13 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "no TLS versions for cleartext connections" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public final varargs tlsVersions([Lokhttp3/TlsVersion;)Lokhttp3/ConnectionSpec$Builder; .locals 5 .param p1 # [Lokhttp3/TlsVersion; .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation .end param .annotation build Lorg/jetbrains/annotations/NotNull; .end annotation const-string v0, "tlsVersions" invoke-static {p1, v0}, Lkotlin/jvm/internal/f0;->p(Ljava/lang/Object;Ljava/lang/String;)V .line 1 iget-boolean v0, p0, Lokhttp3/ConnectionSpec$Builder;->tls:Z if-eqz v0, :cond_1 .line 2 new-instance v0, Ljava/util/ArrayList; array-length v1, p1 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V .line 3 array-length v1, p1 const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v1, :cond_0 aget-object v4, p1, v3 .line 4 invoke-virtual {v4}, Lokhttp3/TlsVersion;->javaName()Ljava/lang/String; move-result-object v4 invoke-interface {v0, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_0 new-array p1, v2, [Ljava/lang/String; .line 5 invoke-interface {v0, p1}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p1 const-string v0, "null cannot be cast to non-null type kotlin.Array" invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 6 check-cast p1, [Ljava/lang/String; .line 7 array-length v0, p1 invoke-static {p1, v0}, 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 p1 return-object p1 .line 8 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "no TLS versions for cleartext connections" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method