.class public Lcom/google/firebase/perf/network/FirebasePerfOkHttpClient; .super Ljava/lang/Object; .source "SourceFile" # direct methods .method public static enqueue(Lokhttp3/Call;Lokhttp3/Callback;)V .locals 7 .annotation build Landroidx/annotation/Keep; .end annotation .line 69 new-instance v3, Lcom/google/firebase/perf/util/Timer; invoke-direct {v3}, Lcom/google/firebase/perf/util/Timer;->()V .line 70 invoke-virtual {v3}, Lcom/google/firebase/perf/util/Timer;->getMicros()J move-result-wide v4 .line 71 new-instance v6, Lcom/google/firebase/perf/network/InstrumentOkHttpEnqueueCallback; .line 73 invoke-static {}, Lcom/google/firebase/perf/transport/TransportManager;->getInstance()Lcom/google/firebase/perf/transport/TransportManager; move-result-object v2 move-object v0, v6 move-object v1, p1 invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/network/InstrumentOkHttpEnqueueCallback;->(Lokhttp3/Callback;Lcom/google/firebase/perf/transport/TransportManager;Lcom/google/firebase/perf/util/Timer;J)V .line 71 invoke-interface {p0, v6}, Lokhttp3/Call;->enqueue(Lokhttp3/Callback;)V return-void .end method .method public static execute(Lokhttp3/Call;)Lokhttp3/Response; .locals 11 .annotation build Landroidx/annotation/Keep; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 40 invoke-static {}, Lcom/google/firebase/perf/transport/TransportManager;->getInstance()Lcom/google/firebase/perf/transport/TransportManager; move-result-object v0 invoke-static {v0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->builder(Lcom/google/firebase/perf/transport/TransportManager;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; move-result-object v0 .line 41 new-instance v7, Lcom/google/firebase/perf/util/Timer; invoke-direct {v7}, Lcom/google/firebase/perf/util/Timer;->()V .line 42 invoke-virtual {v7}, Lcom/google/firebase/perf/util/Timer;->getMicros()J move-result-wide v8 .line 44 :try_start_0 invoke-interface {p0}, Lokhttp3/Call;->execute()Lokhttp3/Response; move-result-object v10 .line 45 invoke-virtual {v7}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v5 move-object v1, v10 move-object v2, v0 move-wide v3, v8 .line 46 invoke-static/range {v1 .. v6}, Lcom/google/firebase/perf/network/FirebasePerfOkHttpClient;->sendNetworkMetric(Lokhttp3/Response;Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;JJ)V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-object v10 :catch_0 move-exception v1 .line 48 invoke-interface {p0}, Lokhttp3/Call;->request()Lokhttp3/Request; move-result-object p0 if-eqz p0, :cond_1 .line 50 invoke-virtual {p0}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl; move-result-object v2 if-eqz v2, :cond_0 .line 52 invoke-virtual {v2}, Lokhttp3/HttpUrl;->url()Ljava/net/URL; move-result-object v2 invoke-virtual {v2}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setUrl(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 54 :cond_0 invoke-virtual {p0}, Lokhttp3/Request;->method()Ljava/lang/String; move-result-object v2 if-eqz v2, :cond_1 .line 56 invoke-virtual {p0}, Lokhttp3/Request;->method()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setHttpMethod(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 59 :cond_1 invoke-virtual {v0, v8, v9}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestStartTimeMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 60 invoke-virtual {v7}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v2 invoke-virtual {v0, v2, v3}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 61 invoke-static {v0}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 62 throw v1 .end method .method public static sendNetworkMetric(Lokhttp3/Response;Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;JJ)V .locals 6 .line 82 invoke-virtual {p0}, Lokhttp3/Response;->request()Lokhttp3/Request; move-result-object v0 if-nez v0, :cond_0 return-void .line 86 :cond_0 invoke-virtual {v0}, Lokhttp3/Request;->url()Lokhttp3/HttpUrl; move-result-object v1 invoke-virtual {v1}, Lokhttp3/HttpUrl;->url()Ljava/net/URL; move-result-object v1 invoke-virtual {v1}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setUrl(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 87 invoke-virtual {v0}, Lokhttp3/Request;->method()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setHttpMethod(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 88 invoke-virtual {v0}, Lokhttp3/Request;->body()Lokhttp3/RequestBody; move-result-object v1 const-wide/16 v2, -0x1 if-eqz v1, :cond_1 .line 90 invoke-virtual {v0}, Lokhttp3/Request;->body()Lokhttp3/RequestBody; move-result-object v0 invoke-virtual {v0}, Lokhttp3/RequestBody;->contentLength()J move-result-wide v0 cmp-long v4, v0, v2 if-eqz v4, :cond_1 .line 92 invoke-virtual {p1, v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestPayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 95 :cond_1 invoke-virtual {p0}, Lokhttp3/Response;->body()Lokhttp3/ResponseBody; move-result-object v0 if-eqz v0, :cond_3 .line 97 invoke-virtual {v0}, Lokhttp3/ResponseBody;->contentLength()J move-result-wide v4 cmp-long v1, v4, v2 if-eqz v1, :cond_2 .line 99 invoke-virtual {p1, v4, v5}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setResponsePayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 101 :cond_2 invoke-virtual {v0}, Lokhttp3/ResponseBody;->contentType()Lokhttp3/MediaType; move-result-object v0 if-eqz v0, :cond_3 .line 103 invoke-virtual {v0}, Lokhttp3/MediaType;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setResponseContentType(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 106 :cond_3 invoke-virtual {p0}, Lokhttp3/Response;->code()I move-result p0 invoke-virtual {p1, p0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setHttpResponseCode(I)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 107 invoke-virtual {p1, p2, p3}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestStartTimeMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 108 invoke-virtual {p1, p4, p5}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 109 invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->build()Lcom/google/firebase/perf/v1/NetworkRequestMetric; return-void .end method