.class public final Lh0/b;
.super Ljava/lang/Object;
.source ""


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lh0/b$a;
    }
.end annotation


# instance fields
.field public a:Z

.field public b:Lh0/b$a;

.field public c:Z


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method


# virtual methods
.method public a()V
    .registers 3

    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lh0/b;->a:Z

    if-eqz v0, :cond_7

    monitor-exit p0

    return-void

    :cond_7
    const/4 v0, 0x1

    iput-boolean v0, p0, Lh0/b;->a:Z

    iput-boolean v0, p0, Lh0/b;->c:Z

    iget-object v0, p0, Lh0/b;->b:Lh0/b$a;

    monitor-exit p0
    :try_end_f
    .catchall {:try_start_1 .. :try_end_f} :catchall_2d

    const/4 v1, 0x0

    if-eqz v0, :cond_22

    :try_start_12
    invoke-interface {v0}, Lh0/b$a;->a()V
    :try_end_15
    .catchall {:try_start_12 .. :try_end_15} :catchall_16

    goto :goto_22

    :catchall_16
    move-exception v0

    monitor-enter p0

    :try_start_18
    iput-boolean v1, p0, Lh0/b;->c:Z

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

    monitor-exit p0
    :try_end_1e
    .catchall {:try_start_18 .. :try_end_1e} :catchall_1f

    throw v0

    :catchall_1f
    move-exception v0

    :try_start_20
    monitor-exit p0
    :try_end_21
    .catchall {:try_start_20 .. :try_end_21} :catchall_1f

    throw v0

    :cond_22
    :goto_22
    monitor-enter p0

    :try_start_23
    iput-boolean v1, p0, Lh0/b;->c:Z

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

    monitor-exit p0

    return-void

    :catchall_2a
    move-exception v0

    monitor-exit p0
    :try_end_2c
    .catchall {:try_start_23 .. :try_end_2c} :catchall_2a

    throw v0

    :catchall_2d
    move-exception v0

    :try_start_2e
    monitor-exit p0
    :try_end_2f
    .catchall {:try_start_2e .. :try_end_2f} :catchall_2d

    throw v0
.end method

.method public b(Lh0/b$a;)V
    .registers 3

    monitor-enter p0

    .line 1
    :catch_1
    :goto_1
    :try_start_1
    iget-boolean v0, p0, Lh0/b;->c:Z
    :try_end_3
    .catchall {:try_start_1 .. :try_end_3} :catchall_1c

    if-eqz v0, :cond_9

    :try_start_5
    invoke-virtual {p0}, Ljava/lang/Object;->wait()V
    :try_end_8
    .catch Ljava/lang/InterruptedException; {:try_start_5 .. :try_end_8} :catch_1
    .catchall {:try_start_5 .. :try_end_8} :catchall_1c

    goto :goto_1

    .line 2
    :cond_9
    :try_start_9
    iget-object v0, p0, Lh0/b;->b:Lh0/b$a;

    if-ne v0, p1, :cond_f

    monitor-exit p0

    return-void

    :cond_f
    iput-object p1, p0, Lh0/b;->b:Lh0/b$a;

    iget-boolean v0, p0, Lh0/b;->a:Z

    if-eqz v0, :cond_1a

    monitor-exit p0
    :try_end_16
    .catchall {:try_start_9 .. :try_end_16} :catchall_1c

    invoke-interface {p1}, Lh0/b$a;->a()V

    return-void

    :cond_1a
    :try_start_1a
    monitor-exit p0

    return-void

    :catchall_1c
    move-exception p1

    monitor-exit p0
    :try_end_1e
    .catchall {:try_start_1a .. :try_end_1e} :catchall_1c

    throw p1
.end method
