IOUtils.smali

.class public Lcom/google/api/client/util/IOUtils;
.super Ljava/lang/Object;


# direct methods
.method public static a(Lcom/google/api/client/util/StreamingContent;)J
    .registers 3
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    new-instance v0, Lcom/google/api/client/util/ByteCountingOutputStream;

    invoke-direct {v0}, Lcom/google/api/client/util/ByteCountingOutputStream;-><init>()V

    :try_start_5
    invoke-interface {p0, v0}, Lcom/google/api/client/util/StreamingContent;->writeTo(Ljava/io/OutputStream;)V
    :try_end_8
    .catchall {:try_start_5 .. :try_end_8} :catchall_e

    invoke-virtual {v0}, Ljava/io/OutputStream;->close()V

    iget-wide v0, v0, Lcom/google/api/client/util/ByteCountingOutputStream;->f:J

    return-wide v0

    :catchall_e
    move-exception p0

    invoke-virtual {v0}, Ljava/io/OutputStream;->close()V

    throw p0
.end method

.method public static b(Ljava/io/InputStream;Ljava/io/OutputStream;)V
    .registers 3
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    const/4 v0, 0x1

    invoke-static {p0, p1, v0}, Lcom/google/api/client/util/IOUtils;->c(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V

    return-void
.end method

.method public static c(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V
    .registers 3
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    :try_start_0
    invoke-static {p0, p1}, Lcom/google/api/client/util/ByteStreams;->a(Ljava/io/InputStream;Ljava/io/OutputStream;)J
    :try_end_3
    .catchall {:try_start_0 .. :try_end_3} :catchall_9

    if-eqz p2, :cond_8

    invoke-virtual {p0}, Ljava/io/InputStream;->close()V

    :cond_8
    return-void

    :catchall_9
    move-exception p1

    if-eqz p2, :cond_f

    invoke-virtual {p0}, Ljava/io/InputStream;->close()V

    :cond_f
    throw p1
.end method