BasePlayer.smali
.class public abstract Lcom/google/android/exoplayer2/BasePlayer;
.super Ljava/lang/Object;
.source "BasePlayer.java"
# interfaces
.implements Lcom/google/android/exoplayer2/Player;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/BasePlayer$ListenerInvocation;,
Lcom/google/android/exoplayer2/BasePlayer$ListenerHolder;
}
.end annotation
# instance fields
.field protected final window:Lcom/google/android/exoplayer2/Timeline$Window;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 27
new-instance v0, Lcom/google/android/exoplayer2/Timeline$Window;
invoke-direct {v0}, Lcom/google/android/exoplayer2/Timeline$Window;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/BasePlayer;->window:Lcom/google/android/exoplayer2/Timeline$Window;
.line 28
return-void
.end method
.method private getRepeatModeForNavigation()I
.registers 3
.line 135
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getRepeatMode()I
move-result v0
.line 136
.local v0, "repeatMode":I
const/4 v1, 0x1
if-ne v0, v1, :cond_9
const/4 v1, 0x0
goto :goto_a
:cond_9
move v1, v0
:goto_a
return v1
.end method
# virtual methods
.method public final getBufferedPercentage()I
.registers 10
.line 106
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getBufferedPosition()J
move-result-wide v0
.line 107
.local v0, "position":J
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getDuration()J
move-result-wide v2
.line 108
.local v2, "duration":J
const/16 v4, 0x64
const/4 v5, 0x0
const-wide v6, -0x7fffffffffffffffL # -4.9E-324
cmp-long v8, v0, v6
if-eqz v8, :cond_2b
cmp-long v8, v2, v6
if-nez v8, :cond_19
goto :goto_2b
:cond_19
const-wide/16 v6, 0x0
cmp-long v8, v2, v6
if-nez v8, :cond_20
goto :goto_2c
:cond_20
const-wide/16 v6, 0x64
mul-long v6, v6, v0
div-long/2addr v6, v2
long-to-int v7, v6
.line 110
invoke-static {v7, v5, v4}, Lcom/google/android/exoplayer2/util/Util;->constrainValue(III)I
move-result v4
goto :goto_2c
.line 108
:cond_2b
:goto_2b
const/4 v4, 0x0
:goto_2c
return v4
.end method
.method public final getContentDuration()J
.registers 4
.line 127
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 128
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_10
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
goto :goto_1e
.line 130
:cond_10
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v1
iget-object v2, p0, Lcom/google/android/exoplayer2/BasePlayer;->window:Lcom/google/android/exoplayer2/Timeline$Window;
invoke-virtual {v0, v1, v2}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v1
invoke-virtual {v1}, Lcom/google/android/exoplayer2/Timeline$Window;->getDurationMs()J
move-result-wide v1
.line 128
:goto_1e
return-wide v1
.end method
.method public final getCurrentTag()Ljava/lang/Object;
.registers 5
.line 97
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v0
.line 98
.local v0, "windowIndex":I
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v1
.line 99
.local v1, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v2
if-lt v0, v2, :cond_10
const/4 v2, 0x0
goto :goto_19
:cond_10
iget-object v2, p0, Lcom/google/android/exoplayer2/BasePlayer;->window:Lcom/google/android/exoplayer2/Timeline$Window;
const/4 v3, 0x1
.line 101
invoke-virtual {v1, v0, v2, v3}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;Z)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v2
iget-object v2, v2, Lcom/google/android/exoplayer2/Timeline$Window;->tag:Ljava/lang/Object;
.line 99
:goto_19
return-object v2
.end method
.method public final getNextWindowIndex()I
.registers 5
.line 78
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 79
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_c
const/4 v1, -0x1
goto :goto_1c
.line 82
:cond_c
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v1
invoke-direct {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getRepeatModeForNavigation()I
move-result v2
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getShuffleModeEnabled()Z
move-result v3
.line 81
invoke-virtual {v0, v1, v2, v3}, Lcom/google/android/exoplayer2/Timeline;->getNextWindowIndex(IIZ)I
move-result v1
.line 79
:goto_1c
return v1
.end method
.method public final getPreviousWindowIndex()I
.registers 5
.line 87
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 88
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_c
const/4 v1, -0x1
goto :goto_1c
.line 91
:cond_c
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v1
invoke-direct {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getRepeatModeForNavigation()I
move-result v2
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getShuffleModeEnabled()Z
move-result v3
.line 90
invoke-virtual {v0, v1, v2, v3}, Lcom/google/android/exoplayer2/Timeline;->getPreviousWindowIndex(IIZ)I
move-result v1
.line 88
:goto_1c
return v1
.end method
.method public final hasNext()Z
.registers 3
.line 60
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getNextWindowIndex()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_9
const/4 v0, 0x1
goto :goto_a
:cond_9
const/4 v0, 0x0
:goto_a
return v0
.end method
.method public final hasPrevious()Z
.registers 3
.line 47
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getPreviousWindowIndex()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_9
const/4 v0, 0x1
goto :goto_a
:cond_9
const/4 v0, 0x0
:goto_a
return v0
.end method
.method public final isCurrentWindowDynamic()Z
.registers 4
.line 115
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 116
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-nez v1, :cond_1a
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v1
iget-object v2, p0, Lcom/google/android/exoplayer2/BasePlayer;->window:Lcom/google/android/exoplayer2/Timeline$Window;
invoke-virtual {v0, v1, v2}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v1
iget-boolean v1, v1, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z
if-eqz v1, :cond_1a
const/4 v1, 0x1
goto :goto_1b
:cond_1a
const/4 v1, 0x0
:goto_1b
return v1
.end method
.method public final isCurrentWindowSeekable()Z
.registers 4
.line 121
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 122
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-nez v1, :cond_1a
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v1
iget-object v2, p0, Lcom/google/android/exoplayer2/BasePlayer;->window:Lcom/google/android/exoplayer2/Timeline$Window;
invoke-virtual {v0, v1, v2}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v1
iget-boolean v1, v1, Lcom/google/android/exoplayer2/Timeline$Window;->isSeekable:Z
if-eqz v1, :cond_1a
const/4 v1, 0x1
goto :goto_1b
:cond_1a
const/4 v1, 0x0
:goto_1b
return v1
.end method
.method public final next()V
.registers 3
.line 65
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getNextWindowIndex()I
move-result v0
.line 66
.local v0, "nextWindowIndex":I
const/4 v1, -0x1
if-eq v0, v1, :cond_a
.line 67
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/BasePlayer;->seekToDefaultPosition(I)V
.line 69
:cond_a
return-void
.end method
.method public final previous()V
.registers 3
.line 52
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getPreviousWindowIndex()I
move-result v0
.line 53
.local v0, "previousWindowIndex":I
const/4 v1, -0x1
if-eq v0, v1, :cond_a
.line 54
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/BasePlayer;->seekToDefaultPosition(I)V
.line 56
:cond_a
return-void
.end method
.method public final seekTo(J)V
.registers 4
.param p1, "positionMs" # J
.line 42
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v0
invoke-virtual {p0, v0, p1, p2}, Lcom/google/android/exoplayer2/BasePlayer;->seekTo(IJ)V
.line 43
return-void
.end method
.method public final seekToDefaultPosition()V
.registers 2
.line 32
invoke-virtual {p0}, Lcom/google/android/exoplayer2/BasePlayer;->getCurrentWindowIndex()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/BasePlayer;->seekToDefaultPosition(I)V
.line 33
return-void
.end method
.method public final seekToDefaultPosition(I)V
.registers 4
.param p1, "windowIndex" # I
.line 37
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
invoke-virtual {p0, p1, v0, v1}, Lcom/google/android/exoplayer2/BasePlayer;->seekTo(IJ)V
.line 38
return-void
.end method
.method public final stop()V
.registers 2
.line 73
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/BasePlayer;->stop(Z)V
.line 74
return-void
.end method