ServiceMethod.smali
.class final Lretrofit2/ServiceMethod;
.super Ljava/lang/Object;
.source "ServiceMethod.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lretrofit2/ServiceMethod$Builder;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
"T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field static final PARAM:Ljava/lang/String; = "[a-zA-Z][a-zA-Z0-9_-]*"
.field static final PARAM_NAME_REGEX:Ljava/util/regex/Pattern;
.field static final PARAM_URL_REGEX:Ljava/util/regex/Pattern;
# instance fields
.field private final baseUrl:Lokhttp3/HttpUrl;
.field final callAdapter:Lretrofit2/CallAdapter;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lretrofit2/CallAdapter<",
"TR;TT;>;"
}
.end annotation
.end field
.field final callFactory:Lokhttp3/Call$Factory;
.field private final contentType:Lokhttp3/MediaType;
.field private final hasBody:Z
.field private final headers:Lokhttp3/Headers;
.field private final httpMethod:Ljava/lang/String;
.field private final isFormEncoded:Z
.field private final isMultipart:Z
.field private final parameterHandlers:[Lretrofit2/ParameterHandler;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lretrofit2/ParameterHandler<",
"*>;"
}
.end annotation
.end field
.field private final relativeUrl:Ljava/lang/String;
.field private final responseConverter:Lretrofit2/Converter;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lretrofit2/Converter<",
"Lokhttp3/ResponseBody;",
"TR;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 64
const-string v0, "\\{([a-zA-Z][a-zA-Z0-9_-]*)\\}"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lretrofit2/ServiceMethod;->PARAM_URL_REGEX:Ljava/util/regex/Pattern;
.line 65
const-string v0, "[a-zA-Z][a-zA-Z0-9_-]*"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lretrofit2/ServiceMethod;->PARAM_NAME_REGEX:Ljava/util/regex/Pattern;
return-void
.end method
.method constructor <init>(Lretrofit2/ServiceMethod$Builder;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lretrofit2/ServiceMethod$Builder<",
"TR;TT;>;)V"
}
.end annotation
.line 81
.local p0, "this":Lretrofit2/ServiceMethod;, "Lretrofit2/ServiceMethod<TR;TT;>;"
.local p1, "builder":Lretrofit2/ServiceMethod$Builder;, "Lretrofit2/ServiceMethod$Builder<TR;TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 82
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->retrofit:Lretrofit2/Retrofit;
invoke-virtual {v0}, Lretrofit2/Retrofit;->callFactory()Lokhttp3/Call$Factory;
move-result-object v0
iput-object v0, p0, Lretrofit2/ServiceMethod;->callFactory:Lokhttp3/Call$Factory;
.line 83
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->callAdapter:Lretrofit2/CallAdapter;
iput-object v0, p0, Lretrofit2/ServiceMethod;->callAdapter:Lretrofit2/CallAdapter;
.line 84
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->retrofit:Lretrofit2/Retrofit;
invoke-virtual {v0}, Lretrofit2/Retrofit;->baseUrl()Lokhttp3/HttpUrl;
move-result-object v0
iput-object v0, p0, Lretrofit2/ServiceMethod;->baseUrl:Lokhttp3/HttpUrl;
.line 85
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->responseConverter:Lretrofit2/Converter;
iput-object v0, p0, Lretrofit2/ServiceMethod;->responseConverter:Lretrofit2/Converter;
.line 86
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->httpMethod:Ljava/lang/String;
iput-object v0, p0, Lretrofit2/ServiceMethod;->httpMethod:Ljava/lang/String;
.line 87
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->relativeUrl:Ljava/lang/String;
iput-object v0, p0, Lretrofit2/ServiceMethod;->relativeUrl:Ljava/lang/String;
.line 88
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->headers:Lokhttp3/Headers;
iput-object v0, p0, Lretrofit2/ServiceMethod;->headers:Lokhttp3/Headers;
.line 89
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->contentType:Lokhttp3/MediaType;
iput-object v0, p0, Lretrofit2/ServiceMethod;->contentType:Lokhttp3/MediaType;
.line 90
iget-boolean v0, p1, Lretrofit2/ServiceMethod$Builder;->hasBody:Z
iput-boolean v0, p0, Lretrofit2/ServiceMethod;->hasBody:Z
.line 91
iget-boolean v0, p1, Lretrofit2/ServiceMethod$Builder;->isFormEncoded:Z
iput-boolean v0, p0, Lretrofit2/ServiceMethod;->isFormEncoded:Z
.line 92
iget-boolean v0, p1, Lretrofit2/ServiceMethod$Builder;->isMultipart:Z
iput-boolean v0, p0, Lretrofit2/ServiceMethod;->isMultipart:Z
.line 93
iget-object v0, p1, Lretrofit2/ServiceMethod$Builder;->parameterHandlers:[Lretrofit2/ParameterHandler;
iput-object v0, p0, Lretrofit2/ServiceMethod;->parameterHandlers:[Lretrofit2/ParameterHandler;
.line 94
return-void
.end method
.method static boxIfPrimitive(Ljava/lang/Class;)Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.line 779
.local p0, "type":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_7
const-class v0, Ljava/lang/Boolean;
return-object v0
.line 780
:cond_7
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_e
const-class v0, Ljava/lang/Byte;
return-object v0
.line 781
:cond_e
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_15
const-class v0, Ljava/lang/Character;
return-object v0
.line 782
:cond_15
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_1c
const-class v0, Ljava/lang/Double;
return-object v0
.line 783
:cond_1c
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_23
const-class v0, Ljava/lang/Float;
return-object v0
.line 784
:cond_23
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_2a
const-class v0, Ljava/lang/Integer;
return-object v0
.line 785
:cond_2a
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_31
const-class v0, Ljava/lang/Long;
return-object v0
.line 786
:cond_31
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne v0, p0, :cond_38
const-class v0, Ljava/lang/Short;
return-object v0
.line 787
:cond_38
return-object p0
.end method
.method static parsePathParameters(Ljava/lang/String;)Ljava/util/Set;
.registers 4
.param p0, "path" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 770
sget-object v0, Lretrofit2/ServiceMethod;->PARAM_URL_REGEX:Ljava/util/regex/Pattern;
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.line 771
.local v0, "m":Ljava/util/regex/Matcher;
new-instance v1, Ljava/util/LinkedHashSet;
invoke-direct {v1}, Ljava/util/LinkedHashSet;-><init>()V
.line 772
.local v1, "patterns":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/String;>;"
:goto_b
invoke-virtual {v0}, Ljava/util/regex/Matcher;->find()Z
move-result v2
if-eqz v2, :cond_1a
.line 773
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
goto :goto_b
.line 775
:cond_1a
return-object v1
.end method
# virtual methods
.method varargs toRequest([Ljava/lang/Object;)Lokhttp3/Request;
.registers 12
.param p1, "args" # [Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 98
.local p0, "this":Lretrofit2/ServiceMethod;, "Lretrofit2/ServiceMethod<TR;TT;>;"
new-instance v9, Lretrofit2/RequestBuilder;
iget-object v1, p0, Lretrofit2/ServiceMethod;->httpMethod:Ljava/lang/String;
iget-object v2, p0, Lretrofit2/ServiceMethod;->baseUrl:Lokhttp3/HttpUrl;
iget-object v3, p0, Lretrofit2/ServiceMethod;->relativeUrl:Ljava/lang/String;
iget-object v4, p0, Lretrofit2/ServiceMethod;->headers:Lokhttp3/Headers;
iget-object v5, p0, Lretrofit2/ServiceMethod;->contentType:Lokhttp3/MediaType;
iget-boolean v6, p0, Lretrofit2/ServiceMethod;->hasBody:Z
iget-boolean v7, p0, Lretrofit2/ServiceMethod;->isFormEncoded:Z
iget-boolean v8, p0, Lretrofit2/ServiceMethod;->isMultipart:Z
move-object v0, v9
invoke-direct/range {v0 .. v8}, Lretrofit2/RequestBuilder;-><init>(Ljava/lang/String;Lokhttp3/HttpUrl;Ljava/lang/String;Lokhttp3/Headers;Lokhttp3/MediaType;ZZZ)V
.line 102
.local v0, "requestBuilder":Lretrofit2/RequestBuilder;
iget-object v1, p0, Lretrofit2/ServiceMethod;->parameterHandlers:[Lretrofit2/ParameterHandler;
.line 104
.local v1, "handlers":[Lretrofit2/ParameterHandler;, "[Lretrofit2/ParameterHandler<Ljava/lang/Object;>;"
if-eqz p1, :cond_1c
array-length v2, p1
goto :goto_1d
:cond_1c
const/4 v2, 0x0
.line 105
.local v2, "argumentCount":I
:goto_1d
array-length v3, v1
if-ne v2, v3, :cond_32
.line 110
const/4 v3, 0x0
.local v3, "p":I
:goto_21
if-ge v3, v2, :cond_2d
.line 111
aget-object v4, v1, v3
aget-object v5, p1, v3
invoke-virtual {v4, v0, v5}, Lretrofit2/ParameterHandler;->apply(Lretrofit2/RequestBuilder;Ljava/lang/Object;)V
.line 110
add-int/lit8 v3, v3, 0x1
goto :goto_21
.line 114
.end local v3 # "p":I
:cond_2d
invoke-virtual {v0}, Lretrofit2/RequestBuilder;->build()Lokhttp3/Request;
move-result-object v3
return-object v3
.line 106
:cond_32
new-instance v3, Ljava/lang/IllegalArgumentException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Argument count ("
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, ") doesn\'t match expected count ("
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
array-length v5, v1
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, ")"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_58
:goto_57
throw v3
:goto_58
goto :goto_57
.end method
.method toResponse(Lokhttp3/ResponseBody;)Ljava/lang/Object;
.registers 3
.param p1, "body" # Lokhttp3/ResponseBody;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lokhttp3/ResponseBody;",
")TR;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 119
.local p0, "this":Lretrofit2/ServiceMethod;, "Lretrofit2/ServiceMethod<TR;TT;>;"
iget-object v0, p0, Lretrofit2/ServiceMethod;->responseConverter:Lretrofit2/Converter;
invoke-interface {v0, p1}, Lretrofit2/Converter;->convert(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method