LoggingInterceptor.smali
.class public final Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;
.super Ljava/lang/Object;
# interfaces
.implements Lokhttp3/Interceptor;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;,
Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
}
.end annotation
# static fields
.field private static final UTF8:Ljava/nio/charset/Charset;
# instance fields
.field private volatile level:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
.field private final logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string/jumbo v0, "UTF-8"
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->UTF8:Ljava/nio/charset/Charset;
return-void
.end method
.method public constructor <init>()V
.registers 2
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->DEFAULT:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;-><init>(Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;)V
return-void
.end method
.method public constructor <init>(Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;->NONE:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
iput-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->level:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
iput-object p1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
return-void
.end method
.method private bodyEncoded(Lokhttp3/Headers;)Z
.registers 4
const-string/jumbo v0, "Content-Encoding"
invoke-virtual {p1, v0}, Lokhttp3/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_14
const-string/jumbo v1, "identity"
invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_14
const/4 v0, 0x1
:goto_13
return v0
:cond_14
const/4 v0, 0x0
goto :goto_13
.end method
.method private static protocol(Lokhttp3/Protocol;)Ljava/lang/String;
.registers 2
sget-object v0, Lokhttp3/Protocol;->HTTP_1_0:Lokhttp3/Protocol;
if-ne p0, v0, :cond_8
const-string/jumbo v0, "HTTP/1.0"
:goto_7
return-object v0
:cond_8
const-string/jumbo v0, "HTTP/1.1"
goto :goto_7
.end method
# virtual methods
.method public getLevel()Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
.registers 2
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->level:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
return-object v0
.end method
.method public intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;
.registers 15
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->level:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;
move-result-object v4
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v6
const-string/jumbo v0, "request %s start time = %d start"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-virtual {v4}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v5
invoke-virtual {v5}, Lokhttp3/HttpUrl;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Lcom/sdk/orion/utils/UrlDecodeUtils;->getDecodeUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
aput-object v5, v2, v3
const/4 v3, 0x1
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v5
aput-object v5, v2, v3
invoke-static {v0, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/sdk/orion/utils/GrabLogUtils;->write(Ljava/lang/String;)V
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;->NONE:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
if-ne v1, v0, :cond_68
invoke-interface {p1, v4}, Lokhttp3/Interceptor$Chain;->proceed(Lokhttp3/Request;)Lokhttp3/Response;
move-result-object v0
sget-object v1, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
sub-long/2addr v2, v6
invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v2
const-string/jumbo v1, "Received response for %s take times = %d done"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
invoke-virtual {v0}, Lokhttp3/Response;->request()Lokhttp3/Request;
move-result-object v6
invoke-virtual {v6}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v6
invoke-virtual {v6}, Lokhttp3/HttpUrl;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Lcom/sdk/orion/utils/UrlDecodeUtils;->getDecodeUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
aput-object v6, v4, v5
const/4 v5, 0x1
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
aput-object v2, v4, v5
invoke-static {v1, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/sdk/orion/utils/GrabLogUtils;->write(Ljava/lang/String;)V
:goto_67
return-object v0
:cond_68
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;->BODY:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
if-ne v1, v0, :cond_179
const/4 v0, 0x1
move v3, v0
:goto_6e
if-nez v3, :cond_74
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;->HEADERS:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
if-ne v1, v0, :cond_17d
:cond_74
const/4 v0, 0x1
:goto_75
invoke-virtual {v4}, Lokhttp3/Request;->body()Lokhttp3/RequestBody;
move-result-object v5
if-eqz v5, :cond_180
const/4 v1, 0x1
:goto_7c
invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->connection()Lokhttp3/Connection;
move-result-object v2
if-eqz v2, :cond_183
invoke-interface {v2}, Lokhttp3/Connection;->protocol()Lokhttp3/Protocol;
move-result-object v2
:goto_86
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v9, "--> "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v4}, Lokhttp3/Request;->method()Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
const/16 v9, 0x20
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v4}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v8
const/16 v9, 0x20
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v8
invoke-static {v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->protocol(Lokhttp3/Protocol;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
if-nez v0, :cond_e1
if-eqz v1, :cond_e1
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v8, " ("
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentLength()J
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v8, "-byte body)"
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
:cond_e1
iget-object v8, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
invoke-interface {v8, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
if-eqz v0, :cond_1a8
if-eqz v1, :cond_134
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentType()Lokhttp3/MediaType;
move-result-object v2
if-eqz v2, :cond_10d
iget-object v2, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v9, "Content-Type: "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentType()Lokhttp3/MediaType;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v2, v8}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_10d
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentLength()J
move-result-wide v8
const-wide/16 v10, -0x1
cmp-long v2, v8, v10
if-eqz v2, :cond_134
iget-object v2, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v9, "Content-Length: "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentLength()J
move-result-wide v10
invoke-virtual {v8, v10, v11}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v2, v8}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_134
invoke-virtual {v4}, Lokhttp3/Request;->headers()Lokhttp3/Headers;
move-result-object v8
const/4 v2, 0x0
invoke-virtual {v8}, Lokhttp3/Headers;->size()I
move-result v9
:goto_13d
if-ge v2, v9, :cond_187
invoke-virtual {v8, v2}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v10
const-string/jumbo v11, "Content-Type"
invoke-virtual {v11, v10}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v11
if-nez v11, :cond_176
const-string/jumbo v11, "Content-Length"
invoke-virtual {v11, v10}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v11
if-nez v11, :cond_176
iget-object v11, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
const-string/jumbo v12, ": "
invoke-virtual {v10, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v8, v2}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v12
invoke-virtual {v10, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-interface {v11, v10}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_176
add-int/lit8 v2, v2, 0x1
goto :goto_13d
:cond_179
const/4 v0, 0x0
move v3, v0
goto/16 :goto_6e
:cond_17d
const/4 v0, 0x0
goto/16 :goto_75
:cond_180
const/4 v1, 0x0
goto/16 :goto_7c
:cond_183
sget-object v2, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol;
goto/16 :goto_86
:cond_187
if-eqz v3, :cond_18b
if-nez v1, :cond_1b1
:cond_18b
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v5, "--> END "
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v4}, Lokhttp3/Request;->method()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_1a8
:goto_1a8
invoke-interface {p1, v4}, Lokhttp3/Interceptor$Chain;->proceed(Lokhttp3/Request;)Lokhttp3/Response;
move-result-object v2
if-nez v2, :cond_23c
const/4 v0, 0x0
goto/16 :goto_67
:cond_1b1
invoke-virtual {v4}, Lokhttp3/Request;->headers()Lokhttp3/Headers;
move-result-object v1
invoke-direct {p0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->bodyEncoded(Lokhttp3/Headers;)Z
move-result v1
if-eqz v1, :cond_1e0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v5, "--> END "
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v4}, Lokhttp3/Request;->method()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v5, " (encoded body omitted)"
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
goto :goto_1a8
:cond_1e0
new-instance v2, Lokio/c;
invoke-direct {v2}, Lokio/c;-><init>()V
invoke-virtual {v5, v2}, Lokhttp3/RequestBody;->writeTo(Lokio/d;)V
sget-object v1, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentType()Lokhttp3/MediaType;
move-result-object v8
if-eqz v8, :cond_1f6
sget-object v1, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v8, v1}, Lokhttp3/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
move-result-object v1
:cond_1f6
iget-object v8, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
const-string/jumbo v9, ""
invoke-interface {v8, v9}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
iget-object v8, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
invoke-virtual {v2, v1}, Lokio/c;->a(Ljava/nio/charset/Charset;)Ljava/lang/String;
move-result-object v1
invoke-interface {v8, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v8, "--> END "
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v4}, Lokhttp3/Request;->method()Ljava/lang/String;
move-result-object v8
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v8, " ("
invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v5}, Lokhttp3/RequestBody;->contentLength()J
move-result-wide v8
invoke-virtual {v2, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v2
const-string/jumbo v5, "-byte body)"
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
goto/16 :goto_1a8
:cond_23c
sget-object v1, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v4
sub-long/2addr v4, v6
invoke-virtual {v1, v4, v5}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v4
const-string/jumbo v1, "Received response for %s in %d done"
const/4 v6, 0x2
new-array v6, v6, [Ljava/lang/Object;
const/4 v7, 0x0
invoke-virtual {v2}, Lokhttp3/Response;->request()Lokhttp3/Request;
move-result-object v8
invoke-virtual {v8}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v8
invoke-virtual {v8}, Lokhttp3/HttpUrl;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Lcom/sdk/orion/utils/UrlDecodeUtils;->getDecodeUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
aput-object v8, v6, v7
const/4 v7, 0x1
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v8
aput-object v8, v6, v7
invoke-static {v1, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/sdk/orion/utils/GrabLogUtils;->write(Ljava/lang/String;)V
invoke-virtual {v2}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody;
move-result-object v6
invoke-virtual {v6}, Lokhttp3/ResponseBody;->contentLength()J
move-result-wide v8
const-wide/16 v10, -0x1
cmp-long v1, v8, v10
if-eqz v1, :cond_33b
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v7, "-byte"
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:goto_290
iget-object v7, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v11, "<-- "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v2}, Lokhttp3/Response;->code()I
move-result v11
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v10
const/16 v11, 0x20
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v2}, Lokhttp3/Response;->message()Ljava/lang/String;
move-result-object v11
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
const/16 v11, 0x20
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v2}, Lokhttp3/Response;->request()Lokhttp3/Request;
move-result-object v11
invoke-virtual {v11}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl;
move-result-object v11
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v10
const-string/jumbo v11, " ("
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v10
invoke-virtual {v10, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v4
const-string/jumbo v5, "ms"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
if-nez v0, :cond_340
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v10, ", "
invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v5, " body"
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:goto_2f5
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const/16 v4, 0x29
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v7, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
if-eqz v0, :cond_34e
invoke-virtual {v2}, Lokhttp3/Response;->headers()Lokhttp3/Headers;
move-result-object v1
const/4 v0, 0x0
invoke-virtual {v1}, Lokhttp3/Headers;->size()I
move-result v4
:goto_311
if-ge v0, v4, :cond_344
iget-object v5, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Lokhttp3/Headers;->name(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
const-string/jumbo v10, ": "
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v1, v0}, Lokhttp3/Headers;->value(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-interface {v5, v7}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
goto :goto_311
:cond_33b
const-string/jumbo v1, "unknown-length"
goto/16 :goto_290
:cond_340
const-string/jumbo v1, ""
goto :goto_2f5
:cond_344
if-nez v3, :cond_351
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
const-string/jumbo v1, "<-- END HTTP"
invoke-interface {v0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_34e
:goto_34e
move-object v0, v2
goto/16 :goto_67
:cond_351
invoke-virtual {v2}, Lokhttp3/Response;->headers()Lokhttp3/Headers;
move-result-object v0
invoke-direct {p0, v0}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->bodyEncoded(Lokhttp3/Headers;)Z
move-result v0
if-eqz v0, :cond_364
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
const-string/jumbo v1, "<-- END HTTP (encoded body omitted)"
invoke-interface {v0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
goto :goto_34e
:cond_364
invoke-virtual {v6}, Lokhttp3/ResponseBody;->source()Lokio/e;
move-result-object v0
const-wide v4, 0x7fffffffffffffffL
invoke-interface {v0, v4, v5}, Lokio/e;->b(J)Z
invoke-interface {v0}, Lokio/e;->b()Lokio/c;
move-result-object v1
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v6}, Lokhttp3/ResponseBody;->contentType()Lokhttp3/MediaType;
move-result-object v3
if-eqz v3, :cond_382
sget-object v0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v3, v0}, Lokhttp3/MediaType;->charset(Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
move-result-object v0
:cond_382
const-wide/16 v4, 0x0
cmp-long v3, v8, v4
if-eqz v3, :cond_39d
iget-object v3, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
const-string/jumbo v4, ""
invoke-interface {v3, v4}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
iget-object v3, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
invoke-virtual {v1}, Lokio/c;->v()Lokio/c;
move-result-object v4
invoke-virtual {v4, v0}, Lokio/c;->a(Ljava/nio/charset/Charset;)Ljava/lang/String;
move-result-object v0
invoke-interface {v3, v0}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
:cond_39d
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->logger:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v4, "<-- END HTTP ("
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v1}, Lokio/c;->a()J
move-result-wide v4
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v3, "-byte body)"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Logger;->log(Ljava/lang/String;)V
goto :goto_34e
.end method
.method public setLevel(Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;)Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;
.registers 4
if-nez p1, :cond_b
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "level == null. Use Level.NONE instead."
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_b
iput-object p1, p0, Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor;->level:Lcom/cmcm/xiaobao/phone/smarthome/http2/LoggingInterceptor$Level;
return-object p0
.end method