Timeline.smali
.class public abstract Lcom/google/android/exoplayer2/Timeline;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/Timeline$Period;,
Lcom/google/android/exoplayer2/Timeline$Window;
}
.end annotation
# static fields
.field public static final EMPTY:Lcom/google/android/exoplayer2/Timeline;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 512
new-instance v0, Lcom/google/android/exoplayer2/Timeline$1;
invoke-direct {v0}, Lcom/google/android/exoplayer2/Timeline$1;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/Timeline;->EMPTY:Lcom/google/android/exoplayer2/Timeline;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 106
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getFirstWindowIndex(Z)I
.registers 2
.line 625
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result p1
if-eqz p1, :cond_8
const/4 p1, -0x1
return p1
:cond_8
const/4 p1, 0x0
return p1
.end method
.method public abstract getIndexOfPeriod(Ljava/lang/Object;)I
.end method
.method public getLastWindowIndex(Z)I
.registers 2
.line 613
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result p1
if-eqz p1, :cond_8
const/4 p1, -0x1
return p1
:cond_8
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result p1
add-int/lit8 p1, p1, -0x1
return p1
.end method
.method public final getNextPeriodIndex(ILcom/google/android/exoplayer2/Timeline$Period;Lcom/google/android/exoplayer2/Timeline$Window;IZ)I
.registers 7
.line 685
invoke-virtual {p0, p1, p2}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;)Lcom/google/android/exoplayer2/Timeline$Period;
move-result-object p2
iget p2, p2, Lcom/google/android/exoplayer2/Timeline$Period;->windowIndex:I
.line 686
invoke-virtual {p0, p2, p3}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v0
iget v0, v0, Lcom/google/android/exoplayer2/Timeline$Window;->lastPeriodIndex:I
if-ne v0, p1, :cond_1d
.line 687
invoke-virtual {p0, p2, p4, p5}, Lcom/google/android/exoplayer2/Timeline;->getNextWindowIndex(IIZ)I
move-result p1
const/4 p2, -0x1
if-ne p1, p2, :cond_16
return p2
.line 691
:cond_16
invoke-virtual {p0, p1, p3}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object p1
iget p1, p1, Lcom/google/android/exoplayer2/Timeline$Window;->firstPeriodIndex:I
return p1
:cond_1d
add-int/lit8 p1, p1, 0x1
return p1
.end method
.method public getNextWindowIndex(IIZ)I
.registers 6
const/4 v0, 0x1
if-eqz p2, :cond_1c
if-eq p2, v0, :cond_1b
const/4 v1, 0x2
if-ne p2, v1, :cond_15
.line 572
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getLastWindowIndex(Z)I
move-result p2
if-ne p1, p2, :cond_13
.line 573
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getFirstWindowIndex(Z)I
move-result p1
return p1
:cond_13
add-int/2addr p1, v0
return p1
.line 575
:cond_15
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:cond_1b
return p1
.line 567
:cond_1c
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getLastWindowIndex(Z)I
move-result p2
if-ne p1, p2, :cond_24
const/4 p1, -0x1
return p1
:cond_24
add-int/2addr p1, v0
return p1
.end method
.method public final getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;)Lcom/google/android/exoplayer2/Timeline$Period;
.registers 4
const/4 v0, 0x0
.line 722
invoke-virtual {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;Z)Lcom/google/android/exoplayer2/Timeline$Period;
move-result-object p1
return-object p1
.end method
.method public abstract getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;Z)Lcom/google/android/exoplayer2/Timeline$Period;
.end method
.method public abstract getPeriodCount()I
.end method
.method public final getPeriodPosition(Lcom/google/android/exoplayer2/Timeline$Window;Lcom/google/android/exoplayer2/Timeline$Period;IJ)Landroid/util/Pair;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/Timeline$Window;",
"Lcom/google/android/exoplayer2/Timeline$Period;",
"IJ)",
"Landroid/util/Pair<",
"Ljava/lang/Integer;",
"Ljava/lang/Long;",
">;"
}
.end annotation
const-wide/16 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, p3
move-wide v4, p4
.line 731
invoke-virtual/range {v0 .. v7}, Lcom/google/android/exoplayer2/Timeline;->getPeriodPosition(Lcom/google/android/exoplayer2/Timeline$Window;Lcom/google/android/exoplayer2/Timeline$Period;IJJ)Landroid/util/Pair;
move-result-object p1
return-object p1
.end method
.method public final getPeriodPosition(Lcom/google/android/exoplayer2/Timeline$Window;Lcom/google/android/exoplayer2/Timeline$Period;IJJ)Landroid/util/Pair;
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/exoplayer2/Timeline$Window;",
"Lcom/google/android/exoplayer2/Timeline$Period;",
"IJJ)",
"Landroid/util/Pair<",
"Ljava/lang/Integer;",
"Ljava/lang/Long;",
">;"
}
.end annotation
.line 750
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v0
const/4 v1, 0x0
invoke-static {p3, v1, v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkIndex(III)I
const/4 v5, 0x0
move-object v2, p0
move v3, p3
move-object v4, p1
move-wide v6, p6
.line 751
invoke-virtual/range {v2 .. v7}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;ZJ)Lcom/google/android/exoplayer2/Timeline$Window;
const-wide p6, -0x7fffffffffffffffL # -4.9E-324
cmp-long p3, p4, p6
if-nez p3, :cond_23
.line 753
invoke-virtual {p1}, Lcom/google/android/exoplayer2/Timeline$Window;->getDefaultPositionUs()J
move-result-wide p4
cmp-long p3, p4, p6
if-nez p3, :cond_23
const/4 p1, 0x0
return-object p1
.line 758
:cond_23
iget p3, p1, Lcom/google/android/exoplayer2/Timeline$Window;->firstPeriodIndex:I
.line 759
invoke-virtual {p1}, Lcom/google/android/exoplayer2/Timeline$Window;->getPositionInFirstPeriodUs()J
move-result-wide v0
add-long/2addr v0, p4
.line 760
invoke-virtual {p0, p3, p2}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;)Lcom/google/android/exoplayer2/Timeline$Period;
move-result-object p4
invoke-virtual {p4}, Lcom/google/android/exoplayer2/Timeline$Period;->getDurationUs()J
move-result-wide p4
:goto_32
cmp-long v2, p4, p6
if-eqz v2, :cond_4a
cmp-long v2, v0, p4
if-ltz v2, :cond_4a
.line 761
iget v2, p1, Lcom/google/android/exoplayer2/Timeline$Window;->lastPeriodIndex:I
if-ge p3, v2, :cond_4a
sub-long/2addr v0, p4
add-int/lit8 p3, p3, 0x1
.line 764
invoke-virtual {p0, p3, p2}, Lcom/google/android/exoplayer2/Timeline;->getPeriod(ILcom/google/android/exoplayer2/Timeline$Period;)Lcom/google/android/exoplayer2/Timeline$Period;
move-result-object p4
invoke-virtual {p4}, Lcom/google/android/exoplayer2/Timeline$Period;->getDurationUs()J
move-result-wide p4
goto :goto_32
.line 766
:cond_4a
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
invoke-static {p1, p2}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
move-result-object p1
return-object p1
.end method
.method public getPreviousWindowIndex(IIZ)I
.registers 6
const/4 v0, 0x1
if-eqz p2, :cond_1c
if-eq p2, v0, :cond_1b
const/4 v1, 0x2
if-ne p2, v1, :cond_15
.line 597
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getFirstWindowIndex(Z)I
move-result p2
if-ne p1, p2, :cond_13
.line 598
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getLastWindowIndex(Z)I
move-result p1
return p1
:cond_13
sub-int/2addr p1, v0
return p1
.line 600
:cond_15
new-instance p1, Ljava/lang/IllegalStateException;
invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
throw p1
:cond_1b
return p1
.line 592
:cond_1c
invoke-virtual {p0, p3}, Lcom/google/android/exoplayer2/Timeline;->getFirstWindowIndex(Z)I
move-result p2
if-ne p1, p2, :cond_24
const/4 p1, -0x1
return p1
:cond_24
sub-int/2addr p1, v0
return p1
.end method
.method public final getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
.registers 4
const/4 v0, 0x0
.line 637
invoke-virtual {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;Z)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object p1
return-object p1
.end method
.method public final getWindow(ILcom/google/android/exoplayer2/Timeline$Window;Z)Lcom/google/android/exoplayer2/Timeline$Window;
.registers 10
const-wide/16 v4, 0x0
move-object v0, p0
move v1, p1
move-object v2, p2
move v3, p3
.line 650
invoke-virtual/range {v0 .. v5}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;ZJ)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object p1
return-object p1
.end method
.method public abstract getWindow(ILcom/google/android/exoplayer2/Timeline$Window;ZJ)Lcom/google/android/exoplayer2/Timeline$Window;
.end method
.method public abstract getWindowCount()I
.end method
.method public final isEmpty()Z
.registers 2
.line 546
invoke-virtual {p0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v0
if-nez v0, :cond_8
const/4 v0, 0x1
return v0
:cond_8
const/4 v0, 0x0
return v0
.end method
.method public final isLastPeriod(ILcom/google/android/exoplayer2/Timeline$Period;Lcom/google/android/exoplayer2/Timeline$Window;IZ)Z
.registers 6
.line 709
invoke-virtual/range {p0 .. p5}, Lcom/google/android/exoplayer2/Timeline;->getNextPeriodIndex(ILcom/google/android/exoplayer2/Timeline$Period;Lcom/google/android/exoplayer2/Timeline$Window;IZ)I
move-result p1
const/4 p2, -0x1
if-ne p1, p2, :cond_9
const/4 p1, 0x1
return p1
:cond_9
const/4 p1, 0x0
return p1
.end method