o$a.smali

.class public final Lokio/o$a;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lokio/v;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lokio/o;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x11
    name = "a"
.end annotation


# instance fields
.field public final a:Lokio/p;

.field public final synthetic b:Lokio/o;


# direct methods
.method public constructor <init>(Lokio/o;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lokio/o$a;->b:Lokio/o;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    new-instance p1, Lokio/p;

    invoke-direct {p1}, Lokio/p;-><init>()V

    iput-object p1, p0, Lokio/o$a;->a:Lokio/p;

    return-void
.end method


# virtual methods
.method public final close()V
    .registers 8
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lokio/o$a;->b:Lokio/o;

    iget-object v0, v0, Lokio/o;->b:Lokio/b;

    monitor-enter v0

    .line 2
    :try_start_5
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v2, v1, Lokio/o;->c:Z

    if-eqz v2, :cond_d

    monitor-exit v0

    return-void

    .line 3
    :cond_d
    invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 4
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v2, v1, Lokio/o;->d:Z

    if-eqz v2, :cond_29

    iget-object v2, v1, Lokio/o;->b:Lokio/b;

    .line 5
    iget-wide v2, v2, Lokio/b;->b:J

    const-wide/16 v4, 0x0

    cmp-long v6, v2, v4

    if-gtz v6, :cond_21

    goto :goto_29

    .line 6
    :cond_21
    new-instance v1, Ljava/io/IOException;

    const-string v2, "source is closed"

    invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_29
    :goto_29
    const/4 v2, 0x1

    .line 7
    iput-boolean v2, v1, Lokio/o;->c:Z

    .line 8
    iget-object v1, v1, Lokio/o;->b:Lokio/b;

    invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V

    .line 9
    monitor-exit v0

    return-void

    :catchall_33
    move-exception v1

    monitor-exit v0
    :try_end_35
    .catchall {:try_start_5 .. :try_end_35} :catchall_33

    throw v1
.end method

.method public final flush()V
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lokio/o$a;->b:Lokio/o;

    iget-object v0, v0, Lokio/o;->b:Lokio/b;

    monitor-enter v0

    .line 2
    :try_start_5
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v2, v1, Lokio/o;->c:Z

    if-nez v2, :cond_29

    .line 3
    invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 4
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v2, v1, Lokio/o;->d:Z

    if-eqz v2, :cond_27

    iget-object v1, v1, Lokio/o;->b:Lokio/b;

    .line 5
    iget-wide v1, v1, Lokio/b;->b:J

    const-wide/16 v3, 0x0

    cmp-long v5, v1, v3

    if-gtz v5, :cond_1f

    goto :goto_27

    .line 6
    :cond_1f
    new-instance v1, Ljava/io/IOException;

    const-string v2, "source is closed"

    invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 7
    :cond_27
    :goto_27
    monitor-exit v0

    return-void

    .line 8
    :cond_29
    new-instance v1, Ljava/lang/IllegalStateException;

    const-string v2, "closed"

    invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v1

    :catchall_31
    move-exception v1

    .line 9
    monitor-exit v0
    :try_end_33
    .catchall {:try_start_5 .. :try_end_33} :catchall_31

    throw v1
.end method

.method public final timeout()Lokio/x;
    .registers 2

    iget-object v0, p0, Lokio/o$a;->a:Lokio/p;

    return-object v0
.end method

.method public final write(Lokio/b;J)V
    .registers 12
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lokio/o$a;->b:Lokio/o;

    iget-object v0, v0, Lokio/o;->b:Lokio/b;

    monitor-enter v0

    .line 2
    :try_start_5
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v1, v1, Lokio/o;->c:Z

    if-nez v1, :cond_4b

    :goto_b
    const-wide/16 v1, 0x0

    cmp-long v3, p2, v1

    if-lez v3, :cond_49

    .line 3
    iget-object v3, p0, Lokio/o$a;->b:Lokio/o;

    .line 4
    invoke-static {v3}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 5
    iget-object v3, p0, Lokio/o$a;->b:Lokio/o;

    iget-boolean v4, v3, Lokio/o;->d:Z

    if-nez v4, :cond_41

    .line 6
    iget-wide v4, v3, Lokio/o;->a:J

    iget-object v3, v3, Lokio/o;->b:Lokio/b;

    .line 7
    iget-wide v6, v3, Lokio/b;->b:J

    sub-long/2addr v4, v6

    cmp-long v6, v4, v1

    if-nez v6, :cond_2d

    .line 8
    iget-object v1, p0, Lokio/o$a;->a:Lokio/p;

    invoke-virtual {v1, v3}, Lokio/x;->waitUntilNotified(Ljava/lang/Object;)V

    goto :goto_b

    .line 9
    :cond_2d
    invoke-static {v4, v5, p2, p3}, Ljava/lang/Math;->min(JJ)J

    move-result-wide v1

    .line 10
    iget-object v3, p0, Lokio/o$a;->b:Lokio/o;

    iget-object v3, v3, Lokio/o;->b:Lokio/b;

    invoke-virtual {v3, p1, v1, v2}, Lokio/b;->write(Lokio/b;J)V

    sub-long/2addr p2, v1

    .line 11
    iget-object v1, p0, Lokio/o$a;->b:Lokio/o;

    iget-object v1, v1, Lokio/o;->b:Lokio/b;

    invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V

    goto :goto_b

    .line 12
    :cond_41
    new-instance p1, Ljava/io/IOException;

    const-string p2, "source is closed"

    invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw p1

    .line 13
    :cond_49
    monitor-exit v0

    return-void

    .line 14
    :cond_4b
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string p2, "closed"

    invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p1

    :catchall_53
    move-exception p1

    .line 15
    monitor-exit v0
    :try_end_55
    .catchall {:try_start_5 .. :try_end_55} :catchall_53

    throw p1
.end method