.class public final Lcom/google/firebase/perf/network/InstrHttpOutputStream; .super Ljava/io/OutputStream; .source "SourceFile" # instance fields .field public bytesWritten:J .field public networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .field public final outputStream:Ljava/io/OutputStream; .field public final timer:Lcom/google/firebase/perf/util/Timer; # direct methods .method public constructor (Ljava/io/OutputStream;Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;Lcom/google/firebase/perf/util/Timer;)V .locals 2 .line 33 invoke-direct {p0}, Ljava/io/OutputStream;->()V const-wide/16 v0, -0x1 iput-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J iput-object p1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; iput-object p2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iput-object p3, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; return-void .end method # virtual methods .method public close()V .locals 4 iget-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J const-wide/16 v2, -0x1 cmp-long v2, v0, v2 if-eqz v2, :cond_0 iget-object v2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 42 invoke-virtual {v2, v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestPayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :cond_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 44 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;->setTimeToRequestCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :try_start_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; .line 46 invoke-virtual {v0}, Ljava/io/OutputStream;->close()V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception v0 iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 48 invoke-virtual {v2}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v2 invoke-virtual {v1, v2, v3}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 49 invoke-static {v1}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 50 throw v0 .end method .method public flush()V .locals 4 :try_start_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; .line 57 invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception v0 iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 59 invoke-virtual {v2}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v2 invoke-virtual {v1, v2, v3}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 60 invoke-static {v1}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 61 throw v0 .end method .method public write(I)V .locals 4 :try_start_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; .line 68 invoke-virtual {v0, p1}, Ljava/io/OutputStream;->write(I)V iget-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J const-wide/16 v2, 0x1 add-long/2addr v0, v2 iput-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J iget-object p1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 70 invoke-virtual {p1, v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestPayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception p1 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 72 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/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 73 invoke-static {v0}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 74 throw p1 .end method .method public write([B)V .locals 4 :try_start_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; .line 81 invoke-virtual {v0, p1}, Ljava/io/OutputStream;->write([B)V iget-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J .line 82 array-length p1, p1 int-to-long v2, p1 add-long/2addr v0, v2 iput-wide v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J iget-object p1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 83 invoke-virtual {p1, v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestPayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception p1 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object v1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 85 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/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 86 invoke-static {v0}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 87 throw p1 .end method .method public write([BII)V .locals 2 :try_start_0 iget-object v0, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->outputStream:Ljava/io/OutputStream; .line 94 invoke-virtual {v0, p1, p2, p3}, Ljava/io/OutputStream;->write([BII)V iget-wide p1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J int-to-long v0, p3 add-long/2addr p1, v0 iput-wide p1, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->bytesWritten:J iget-object p3, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 96 invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setRequestPayloadBytes(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception p1 iget-object p2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object p3, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->timer:Lcom/google/firebase/perf/util/Timer; .line 98 invoke-virtual {p3}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J move-result-wide v0 invoke-virtual {p2, v0, v1}, Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;->setTimeToResponseCompletedMicros(J)Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; iget-object p2, p0, Lcom/google/firebase/perf/network/InstrHttpOutputStream;->networkMetricBuilder:Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder; .line 99 invoke-static {p2}, Lcom/google/firebase/perf/network/NetworkRequestMetricBuilderUtil;->logError(Lcom/google/firebase/perf/metrics/NetworkRequestMetricBuilder;)V .line 100 throw p1 .end method