h$c.smali

.class final Lrx/c/c/h$c;
.super Ljava/util/concurrent/atomic/AtomicBoolean;
.source "SourceFile"

# interfaces
.implements Lrx/j;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lrx/c/c/h;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x18
    name = "c"
.end annotation


# instance fields
.field final a:Lrx/c/c/h;

.field final b:Lrx/c/e/m;


# direct methods
.method public constructor <init>(Lrx/c/c/h;Lrx/c/e/m;)V
    .registers 3

    .line 183
    invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V

    .line 184
    iput-object p1, p0, Lrx/c/c/h$c;->a:Lrx/c/c/h;

    .line 185
    iput-object p2, p0, Lrx/c/c/h$c;->b:Lrx/c/e/m;

    return-void
.end method


# virtual methods
.method public final isUnsubscribed()Z
    .registers 2

    .line 190
    iget-object v0, p0, Lrx/c/c/h$c;->a:Lrx/c/c/h;

    invoke-virtual {v0}, Lrx/c/c/h;->isUnsubscribed()Z

    move-result v0

    return v0
.end method

.method public final unsubscribe()V
    .registers 5

    const/4 v0, 0x0

    const/4 v1, 0x1

    .line 195
    invoke-virtual {p0, v0, v1}, Lrx/c/c/h$c;->compareAndSet(ZZ)Z

    move-result v0

    if-eqz v0, :cond_2a

    .line 196
    iget-object v0, p0, Lrx/c/c/h$c;->b:Lrx/c/e/m;

    iget-object v1, p0, Lrx/c/c/h$c;->a:Lrx/c/c/h;

    .line 1092
    iget-boolean v2, v0, Lrx/c/e/m;->b:Z

    if-nez v2, :cond_2a

    .line 1094
    monitor-enter v0

    .line 1095
    :try_start_11
    iget-object v2, v0, Lrx/c/e/m;->a:Ljava/util/List;

    .line 1096
    iget-boolean v3, v0, Lrx/c/e/m;->b:Z

    if-nez v3, :cond_25

    if-nez v2, :cond_1a

    goto :goto_25

    .line 1099
    :cond_1a
    invoke-interface {v2, v1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z

    move-result v2

    .line 1100
    monitor-exit v0
    :try_end_1f
    .catchall {:try_start_11 .. :try_end_1f} :catchall_27

    if-eqz v2, :cond_2a

    .line 1103
    invoke-interface {v1}, Lrx/j;->unsubscribe()V

    goto :goto_2a

    .line 1097
    :cond_25
    :goto_25
    :try_start_25
    monitor-exit v0

    return-void

    :catchall_27
    move-exception v1

    .line 1100
    monitor-exit v0
    :try_end_29
    .catchall {:try_start_25 .. :try_end_29} :catchall_27

    throw v1

    :cond_2a
    :goto_2a
    return-void
.end method