DynamicConcatenatingMediaSource$ConcatenatedTimeline.smali
.class final Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;
.super Lcom/google/android/exoplayer2/source/AbstractConcatenatedTimeline;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "ConcatenatedTimeline"
.end annotation
# instance fields
.field private final childIndexByUid:Landroid/util/SparseIntArray;
.field private final firstPeriodInChildIndices:[I
.field private final firstWindowInChildIndices:[I
.field private final periodCount:I
.field private final timelines:[Lcom/google/android/exoplayer2/Timeline;
.field private final uids:[I
.field private final windowCount:I
# direct methods
.method public constructor <init>(Ljava/util/Collection;IILcom/google/android/exoplayer2/source/ShuffleOrder;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;",
">;II",
"Lcom/google/android/exoplayer2/source/ShuffleOrder;",
")V"
}
.end annotation
.line 619
invoke-direct {p0, p4}, Lcom/google/android/exoplayer2/source/AbstractConcatenatedTimeline;-><init>(Lcom/google/android/exoplayer2/source/ShuffleOrder;)V
.line 620
iput p2, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->windowCount:I
.line 621
iput p3, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->periodCount:I
.line 622
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result p2
.line 623
new-array p3, p2, [I
iput-object p3, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstPeriodInChildIndices:[I
.line 624
new-array p3, p2, [I
iput-object p3, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstWindowInChildIndices:[I
.line 625
new-array p3, p2, [Lcom/google/android/exoplayer2/Timeline;
iput-object p3, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->timelines:[Lcom/google/android/exoplayer2/Timeline;
.line 626
new-array p2, p2, [I
iput-object p2, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->uids:[I
.line 627
new-instance p2, Landroid/util/SparseIntArray;
invoke-direct {p2}, Landroid/util/SparseIntArray;-><init>()V
iput-object p2, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->childIndexByUid:Landroid/util/SparseIntArray;
.line 629
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 p2, 0x0
:goto_27
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p3
if-eqz p3, :cond_5e
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p3
check-cast p3, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;
.line 630
iget-object p4, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->timelines:[Lcom/google/android/exoplayer2/Timeline;
iget-object v0, p3, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;->timeline:Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$DeferredTimeline;
aput-object v0, p4, p2
.line 631
iget-object p4, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstPeriodInChildIndices:[I
iget v0, p3, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;->firstPeriodIndexInChild:I
aput v0, p4, p2
.line 632
iget-object p4, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstWindowInChildIndices:[I
iget v0, p3, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;->firstWindowIndexInChild:I
aput v0, p4, p2
.line 633
iget-object p4, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->uids:[I
iget-object p3, p3, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$MediaSourceHolder;->uid:Ljava/lang/Object;
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result p3
aput p3, p4, p2
.line 634
iget-object p3, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->childIndexByUid:Landroid/util/SparseIntArray;
iget-object p4, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->uids:[I
aget p4, p4, p2
add-int/lit8 v0, p2, 0x1
invoke-virtual {p3, p4, p2}, Landroid/util/SparseIntArray;->put(II)V
move p2, v0
goto :goto_27
:cond_5e
return-void
.end method
# virtual methods
.method protected final getChildIndexByChildUid(Ljava/lang/Object;)I
.registers 4
.line 650
instance-of v0, p1, Ljava/lang/Integer;
const/4 v1, -0x1
if-nez v0, :cond_6
return v1
.line 653
:cond_6
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->childIndexByUid:Landroid/util/SparseIntArray;
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-virtual {v0, p1, v1}, Landroid/util/SparseIntArray;->get(II)I
move-result p1
if-ne p1, v1, :cond_15
return v1
:cond_15
return p1
.end method
.method protected final getChildIndexByPeriodIndex(I)I
.registers 4
.line 640
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstPeriodInChildIndices:[I
add-int/lit8 p1, p1, 0x1
const/4 v1, 0x0
invoke-static {v0, p1, v1, v1}, Lcom/google/android/exoplayer2/util/Util;->binarySearchFloor([IIZZ)I
move-result p1
return p1
.end method
.method protected final getChildIndexByWindowIndex(I)I
.registers 4
.line 645
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstWindowInChildIndices:[I
add-int/lit8 p1, p1, 0x1
const/4 v1, 0x0
invoke-static {v0, p1, v1, v1}, Lcom/google/android/exoplayer2/util/Util;->binarySearchFloor([IIZZ)I
move-result p1
return p1
.end method
.method protected final getChildUidByChildIndex(I)Ljava/lang/Object;
.registers 3
.line 674
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->uids:[I
aget p1, v0, p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method protected final getFirstPeriodIndexByChildIndex(I)I
.registers 3
.line 664
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstPeriodInChildIndices:[I
aget p1, v0, p1
return p1
.end method
.method protected final getFirstWindowIndexByChildIndex(I)I
.registers 3
.line 669
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->firstWindowInChildIndices:[I
aget p1, v0, p1
return p1
.end method
.method public final getPeriodCount()I
.registers 2
.line 684
iget v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->periodCount:I
return v0
.end method
.method protected final getTimelineByChildIndex(I)Lcom/google/android/exoplayer2/Timeline;
.registers 3
.line 659
iget-object v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->timelines:[Lcom/google/android/exoplayer2/Timeline;
aget-object p1, v0, p1
return-object p1
.end method
.method public final getWindowCount()I
.registers 2
.line 679
iget v0, p0, Lcom/google/android/exoplayer2/source/DynamicConcatenatingMediaSource$ConcatenatedTimeline;->windowCount:I
return v0
.end method