p.smali

.class public final Lcom/google/android/exoplayer2/util/p;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/google/android/exoplayer2/util/p$c;,
        Lcom/google/android/exoplayer2/util/p$b;,
        Lcom/google/android/exoplayer2/util/p$a;
    }
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        ">",
        "Ljava/lang/Object;"
    }
.end annotation


# instance fields
.field public final a:Lcom/google/android/exoplayer2/util/c;

.field public final b:Lcom/google/android/exoplayer2/util/m;

.field public final c:Lcom/google/android/exoplayer2/util/p$b;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/google/android/exoplayer2/util/p$b<",
            "TT;>;"
        }
    .end annotation
.end field

.field public final d:Ljava/util/concurrent/CopyOnWriteArraySet;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/CopyOnWriteArraySet<",
            "Lcom/google/android/exoplayer2/util/p$c<",
            "TT;>;>;"
        }
    .end annotation
.end field

.field public final e:Ljava/util/ArrayDeque;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayDeque<",
            "Ljava/lang/Runnable;",
            ">;"
        }
    .end annotation
.end field

.field public final f:Ljava/util/ArrayDeque;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayDeque<",
            "Ljava/lang/Runnable;",
            ">;"
        }
    .end annotation
.end field

.field public g:Z


# direct methods
.method public constructor <init>(Ljava/util/concurrent/CopyOnWriteArraySet;Landroid/os/Looper;Lcom/google/android/exoplayer2/util/c;Lcom/google/android/exoplayer2/util/p$b;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/concurrent/CopyOnWriteArraySet<",
            "Lcom/google/android/exoplayer2/util/p$c<",
            "TT;>;>;",
            "Landroid/os/Looper;",
            "Lcom/google/android/exoplayer2/util/c;",
            "Lcom/google/android/exoplayer2/util/p$b<",
            "TT;>;)V"
        }
    .end annotation

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

    .line 2
    iput-object p3, p0, Lcom/google/android/exoplayer2/util/p;->a:Lcom/google/android/exoplayer2/util/c;

    .line 3
    iput-object p1, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    .line 4
    iput-object p4, p0, Lcom/google/android/exoplayer2/util/p;->c:Lcom/google/android/exoplayer2/util/p$b;

    .line 5
    new-instance p1, Ljava/util/ArrayDeque;

    invoke-direct {p1}, Ljava/util/ArrayDeque;-><init>()V

    iput-object p1, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    .line 6
    new-instance p1, Ljava/util/ArrayDeque;

    invoke-direct {p1}, Ljava/util/ArrayDeque;-><init>()V

    iput-object p1, p0, Lcom/google/android/exoplayer2/util/p;->f:Ljava/util/ArrayDeque;

    .line 7
    new-instance p1, Lcom/google/android/exoplayer2/util/n;

    invoke-direct {p1, p0}, Lcom/google/android/exoplayer2/util/n;-><init>(Lcom/google/android/exoplayer2/util/p;)V

    invoke-interface {p3, p2, p1}, Lcom/google/android/exoplayer2/util/c;->c(Landroid/os/Looper;Landroid/os/Handler$Callback;)Lcom/google/android/exoplayer2/util/m;

    move-result-object p1

    .line 8
    iput-object p1, p0, Lcom/google/android/exoplayer2/util/p;->b:Lcom/google/android/exoplayer2/util/m;

    return-void
.end method


# virtual methods
.method public final a()V
    .registers 4

    .line 1
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->f:Ljava/util/ArrayDeque;

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_9

    return-void

    .line 2
    :cond_9
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->b:Lcom/google/android/exoplayer2/util/m;

    const/4 v1, 0x0

    invoke-interface {v0}, Lcom/google/android/exoplayer2/util/m;->a()Z

    move-result v0

    if-nez v0, :cond_1b

    .line 3
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->b:Lcom/google/android/exoplayer2/util/m;

    invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/util/m;->b(I)Lcom/google/android/exoplayer2/util/m$a;

    move-result-object v1

    invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/util/m;->f(Lcom/google/android/exoplayer2/util/m$a;)Z

    .line 4
    :cond_1b
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z

    move-result v0

    xor-int/lit8 v0, v0, 0x1

    .line 5
    iget-object v1, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    iget-object v2, p0, Lcom/google/android/exoplayer2/util/p;->f:Ljava/util/ArrayDeque;

    invoke-virtual {v1, v2}, Ljava/util/AbstractCollection;->addAll(Ljava/util/Collection;)Z

    .line 6
    iget-object v1, p0, Lcom/google/android/exoplayer2/util/p;->f:Ljava/util/ArrayDeque;

    invoke-virtual {v1}, Ljava/util/ArrayDeque;->clear()V

    if-eqz v0, :cond_32

    return-void

    .line 7
    :cond_32
    :goto_32
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_4b

    .line 8
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->peekFirst()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Runnable;

    invoke-interface {v0}, Ljava/lang/Runnable;->run()V

    .line 9
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->e:Ljava/util/ArrayDeque;

    invoke-virtual {v0}, Ljava/util/ArrayDeque;->removeFirst()Ljava/lang/Object;

    goto :goto_32

    :cond_4b
    return-void
.end method

.method public final b(ILcom/google/android/exoplayer2/util/p$a;)V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I",
            "Lcom/google/android/exoplayer2/util/p$a<",
            "TT;>;)V"
        }
    .end annotation

    .line 1
    new-instance v0, Ljava/util/concurrent/CopyOnWriteArraySet;

    iget-object v1, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    invoke-direct {v0, v1}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>(Ljava/util/Collection;)V

    .line 2
    iget-object v1, p0, Lcom/google/android/exoplayer2/util/p;->f:Ljava/util/ArrayDeque;

    new-instance v2, Lcom/google/android/exoplayer2/util/o;

    const/4 v3, 0x0

    invoke-direct {v2, v0, p1, p2, v3}, Lcom/google/android/exoplayer2/util/o;-><init>(Ljava/lang/Object;ILjava/lang/Object;I)V

    invoke-virtual {v1, v2}, Ljava/util/ArrayDeque;->add(Ljava/lang/Object;)Z

    return-void
.end method

.method public final c()V
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :cond_6
    :goto_6
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    const/4 v2, 0x1

    if-eqz v1, :cond_27

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/google/android/exoplayer2/util/p$c;

    .line 2
    iget-object v3, p0, Lcom/google/android/exoplayer2/util/p;->c:Lcom/google/android/exoplayer2/util/p$b;

    .line 3
    iput-boolean v2, v1, Lcom/google/android/exoplayer2/util/p$c;->d:Z

    .line 4
    iget-boolean v2, v1, Lcom/google/android/exoplayer2/util/p$c;->c:Z

    if-eqz v2, :cond_6

    .line 5
    iget-object v2, v1, Lcom/google/android/exoplayer2/util/p$c;->a:Ljava/lang/Object;

    iget-object v1, v1, Lcom/google/android/exoplayer2/util/p$c;->b:Lcom/google/android/exoplayer2/util/k$a;

    invoke-virtual {v1}, Lcom/google/android/exoplayer2/util/k$a;->b()Lcom/google/android/exoplayer2/util/k;

    move-result-object v1

    invoke-interface {v3, v2, v1}, Lcom/google/android/exoplayer2/util/p$b;->a(Ljava/lang/Object;Lcom/google/android/exoplayer2/util/k;)V

    goto :goto_6

    .line 6
    :cond_27
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->clear()V

    .line 7
    iput-boolean v2, p0, Lcom/google/android/exoplayer2/util/p;->g:Z

    return-void
.end method

.method public final d(Ljava/lang/Object;)V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(TT;)V"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :cond_6
    :goto_6
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_34

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/google/android/exoplayer2/util/p$c;

    .line 2
    iget-object v2, v1, Lcom/google/android/exoplayer2/util/p$c;->a:Ljava/lang/Object;

    invoke-virtual {v2, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_6

    .line 3
    iget-object v2, p0, Lcom/google/android/exoplayer2/util/p;->c:Lcom/google/android/exoplayer2/util/p$b;

    const/4 v3, 0x1

    .line 4
    iput-boolean v3, v1, Lcom/google/android/exoplayer2/util/p$c;->d:Z

    .line 5
    iget-boolean v3, v1, Lcom/google/android/exoplayer2/util/p$c;->c:Z

    if-eqz v3, :cond_2e

    .line 6
    iget-object v3, v1, Lcom/google/android/exoplayer2/util/p$c;->a:Ljava/lang/Object;

    iget-object v4, v1, Lcom/google/android/exoplayer2/util/p$c;->b:Lcom/google/android/exoplayer2/util/k$a;

    invoke-virtual {v4}, Lcom/google/android/exoplayer2/util/k$a;->b()Lcom/google/android/exoplayer2/util/k;

    move-result-object v4

    invoke-interface {v2, v3, v4}, Lcom/google/android/exoplayer2/util/p$b;->a(Ljava/lang/Object;Lcom/google/android/exoplayer2/util/k;)V

    .line 7
    :cond_2e
    iget-object v2, p0, Lcom/google/android/exoplayer2/util/p;->d:Ljava/util/concurrent/CopyOnWriteArraySet;

    invoke-virtual {v2, v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z

    goto :goto_6

    :cond_34
    return-void
.end method

.method public final e(ILcom/google/android/exoplayer2/util/p$a;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I",
            "Lcom/google/android/exoplayer2/util/p$a<",
            "TT;>;)V"
        }
    .end annotation

    .line 1
    invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/util/p;->b(ILcom/google/android/exoplayer2/util/p$a;)V

    .line 2
    invoke-virtual {p0}, Lcom/google/android/exoplayer2/util/p;->a()V

    return-void
.end method