.class public Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lorg/apache/http/client/ResponseHandler; # instance fields .field public final networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .field public final responseHandlerDelegate:Lorg/apache/http/client/ResponseHandler; .field public final timer:Lcom/google/firebase/perf/util/Timer; # direct methods .method public constructor (Lorg/apache/http/client/ResponseHandler;Lcom/google/firebase/perf/util/Timer;Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .locals 0 .line 33 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->responseHandlerDelegate:Lorg/apache/http/client/ResponseHandler; iput-object p2, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->timer:Lcom/google/firebase/perf/util/Timer; iput-object p3, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; return-void .end method # virtual methods .method public handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/Object; .locals 4 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->timer:Lcom/google/firebase/perf/util/Timer; .line 41 invoke-virtual {v1}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v1 invoke-virtual {v0, v1, v2}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v0, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 42 invoke-interface {p1}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v1 invoke-interface {v1}, Lorg/apache/http/StatusLine;->getStatusCode()I move-result v1 invoke-virtual {v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setHttpResponseCode(I)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 44 invoke-static {p1}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->getApacheHttpMessageContentLength(Lorg/apache/http/HttpMessage;)Ljava/lang/Long; move-result-object v0 if-eqz v0, :cond_0 iget-object v1, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 46 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v2 invoke-virtual {v1, v2, v3}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setResponsePayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 49 :cond_0 invoke-static {p1}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->getApacheHttpResponseContentType(Lorg/apache/http/HttpResponse;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1 iget-object v1, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 51 invoke-virtual {v1, v0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setResponseContentType(Ljava/lang/String;)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :cond_1 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 53 invoke-virtual {v0}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->build()Lcom/google/firebase/perf/v1/NetworkRequestMetric; iget-object v0, p0, Lcom/google/firebase/perf/network/InstrumentApacheHttpResponseHandler;->responseHandlerDelegate:Lorg/apache/http/client/ResponseHandler; .line 54 invoke-interface {v0, p1}, Lorg/apache/http/client/ResponseHandler;->handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method