PlaybackControlView.smali
.class public Lcom/google/android/exoplayer2/ui/PlaybackControlView;
.super Landroid/widget/FrameLayout;
.source "PlaybackControlView.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;,
Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;,
Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;
}
.end annotation
# static fields
.field public static final DEFAULT_FAST_FORWARD_MS:I = 0x3a98
.field public static final DEFAULT_REWIND_MS:I = 0x1388
.field public static final DEFAULT_SEEK_DISPATCHER:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
.field public static final DEFAULT_SHOW_TIMEOUT_MS:I = 0x1388
.field private static final MAX_POSITION_FOR_SEEK_TO_PREVIOUS:J = 0xbb8L
.field private static final PROGRESS_BAR_MAX:I = 0x3e8
# instance fields
.field private final componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
.field private final currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
.field private dragging:Z
.field private final durationView:Landroid/widget/TextView;
.field private final fastForwardButton:Landroid/view/View;
.field private fastForwardMs:I
.field private final formatBuilder:Ljava/lang/StringBuilder;
.field private final formatter:Ljava/util/Formatter;
.field private final hideAction:Ljava/lang/Runnable;
.field private hideAtMs:J
.field private isAttachedToWindow:Z
.field private final nextButton:Landroid/view/View;
.field private final pauseButton:Landroid/view/View;
.field private final playButton:Landroid/view/View;
.field private player:Lcom/google/android/exoplayer2/ExoPlayer;
.field private final positionView:Landroid/widget/TextView;
.field private final previousButton:Landroid/view/View;
.field private final progressBar:Landroid/widget/SeekBar;
.field private final rewindButton:Landroid/view/View;
.field private rewindMs:I
.field private seekDispatcher:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
.field private showTimeoutMs:I
.field private final updateProgressAction:Ljava/lang/Runnable;
.field private visibilityListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 180
new-instance v0, Lcom/google/android/exoplayer2/ui/PlaybackControlView$1;
invoke-direct {v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$1;-><init>()V
sput-object v0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->DEFAULT_SEEK_DISPATCHER:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
.line 237
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
const/4 v0, 0x0
.line 241
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 7
.line 245
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 222
new-instance p3, Lcom/google/android/exoplayer2/ui/PlaybackControlView$2;
invoke-direct {p3, p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$2;-><init>(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgressAction:Ljava/lang/Runnable;
.line 229
new-instance p3, Lcom/google/android/exoplayer2/ui/PlaybackControlView$3;
invoke-direct {p3, p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$3;-><init>(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
.line 247
sget p3, Lcom/google/android/exoplayer2/R$layout;->exo_playback_control_view:I
const/16 v0, 0x1388
.line 248
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
const/16 v1, 0x3a98
.line 249
iput v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
.line 250
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
if-eqz p2, :cond_57
.line 252
invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object v0
sget-object v1, Lcom/google/android/exoplayer2/R$styleable;->PlaybackControlView:[I
const/4 v2, 0x0
invoke-virtual {v0, p2, v1, v2, v2}, Landroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p2
.line 255
:try_start_2a
sget v0, Lcom/google/android/exoplayer2/R$styleable;->PlaybackControlView_rewind_increment:I
iget v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
invoke-virtual {p2, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
.line 256
sget v0, Lcom/google/android/exoplayer2/R$styleable;->PlaybackControlView_fastforward_increment:I
iget v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
invoke-virtual {p2, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
.line 258
sget v0, Lcom/google/android/exoplayer2/R$styleable;->PlaybackControlView_show_timeout:I
iget v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
invoke-virtual {p2, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
.line 259
sget v0, Lcom/google/android/exoplayer2/R$styleable;->PlaybackControlView_controller_layout_id:I
invoke-virtual {p2, v0, p3}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result p3
:try_end_4e
.catchall {:try_start_2a .. :try_end_4e} :catchall_52
.line 262
invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V
goto :goto_57
:catchall_52
move-exception p1
invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V
throw p1
.line 265
:cond_57
:goto_57
new-instance p2, Lcom/google/android/exoplayer2/Timeline$Window;
invoke-direct {p2}, Lcom/google/android/exoplayer2/Timeline$Window;-><init>()V
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
.line 266
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatBuilder:Ljava/lang/StringBuilder;
.line 267
new-instance p2, Ljava/util/Formatter;
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatBuilder:Ljava/lang/StringBuilder;
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-direct {p2, v0, v1}, Ljava/util/Formatter;-><init>(Ljava/lang/Appendable;Ljava/util/Locale;)V
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatter:Ljava/util/Formatter;
.line 268
new-instance p2, Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
const/4 v0, 0x0
invoke-direct {p2, p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;-><init>(Lcom/google/android/exoplayer2/ui/PlaybackControlView;Lcom/google/android/exoplayer2/ui/PlaybackControlView$1;)V
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
.line 269
sget-object p2, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->DEFAULT_SEEK_DISPATCHER:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekDispatcher:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
.line 271
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
invoke-virtual {p1, p3, p0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
const/high16 p1, 0x40000
.line 272
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setDescendantFocusability(I)V
.line 274
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_duration:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/TextView;
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->durationView:Landroid/widget/TextView;
.line 275
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_position:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/TextView;
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->positionView:Landroid/widget/TextView;
.line 276
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_progress:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
check-cast p1, Landroid/widget/SeekBar;
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBar:Landroid/widget/SeekBar;
if-eqz p1, :cond_b6
.line 278
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
.line 279
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBar:Landroid/widget/SeekBar;
const/16 p2, 0x3e8
invoke-virtual {p1, p2}, Landroid/widget/SeekBar;->setMax(I)V
.line 281
:cond_b6
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_play:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->playButton:Landroid/view/View;
if-eqz p1, :cond_c5
.line 283
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 285
:cond_c5
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_pause:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->pauseButton:Landroid/view/View;
if-eqz p1, :cond_d4
.line 287
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 289
:cond_d4
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_prev:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->previousButton:Landroid/view/View;
if-eqz p1, :cond_e3
.line 291
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 293
:cond_e3
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_next:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->nextButton:Landroid/view/View;
if-eqz p1, :cond_f2
.line 295
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 297
:cond_f2
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_rew:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindButton:Landroid/view/View;
if-eqz p1, :cond_101
.line 299
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 301
:cond_101
sget p1, Lcom/google/android/exoplayer2/R$id;->exo_ffwd:I
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->findViewById(I)Landroid/view/View;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardButton:Landroid/view/View;
if-eqz p1, :cond_110
.line 303
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-virtual {p1, p2}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_110
return-void
.end method
.method static synthetic access$000(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgress()V
return-void
.end method
.method static synthetic access$1000(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updatePlayPauseButton()V
return-void
.end method
.method static synthetic access$1100(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateNavigation()V
return-void
.end method
.method static synthetic access$1200(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->nextButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$1300(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->next()V
return-void
.end method
.method static synthetic access$1400(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->previousButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$1500(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->previous()V
return-void
.end method
.method static synthetic access$1600(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$1700(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForward()V
return-void
.end method
.method static synthetic access$1800(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$1900(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewind()V
return-void
.end method
.method static synthetic access$200(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Ljava/lang/Runnable;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
return-object p0
.end method
.method static synthetic access$2000(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->playButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$2100(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/view/View;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->pauseButton:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$300(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Z
.registers 1
.line 145
iget-boolean p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->dragging:Z
return p0
.end method
.method static synthetic access$302(Lcom/google/android/exoplayer2/ui/PlaybackControlView;Z)Z
.registers 2
.line 145
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->dragging:Z
return p1
.end method
.method static synthetic access$400(Lcom/google/android/exoplayer2/ui/PlaybackControlView;I)J
.registers 2
.line 145
invoke-direct {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->positionValue(I)J
move-result-wide p0
return-wide p0
.end method
.method static synthetic access$500(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Landroid/widget/TextView;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->positionView:Landroid/widget/TextView;
return-object p0
.end method
.method static synthetic access$600(Lcom/google/android/exoplayer2/ui/PlaybackControlView;J)Ljava/lang/String;
.registers 3
.line 145
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->stringForTime(J)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static synthetic access$700(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)Lcom/google/android/exoplayer2/ExoPlayer;
.registers 1
.line 145
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
return-object p0
.end method
.method static synthetic access$800(Lcom/google/android/exoplayer2/ui/PlaybackControlView;J)V
.registers 3
.line 145
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(J)V
return-void
.end method
.method static synthetic access$900(Lcom/google/android/exoplayer2/ui/PlaybackControlView;)V
.registers 1
.line 145
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAfterTimeout()V
return-void
.end method
.method private fastForward()V
.registers 5
.line 623
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
if-gtz v0, :cond_5
return-void
.line 626
:cond_5
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J
move-result-wide v0
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
int-to-long v2, v2
add-long/2addr v0, v2
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v2}, Lcom/google/android/exoplayer2/ExoPlayer;->getDuration()J
move-result-wide v2
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(J)V
return-void
.end method
.method private hideAfterTimeout()V
.registers 6
.line 436
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 437
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
if-lez v0, :cond_1e
.line 438
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
int-to-long v3, v2
add-long/2addr v0, v3
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAtMs:J
.line 439
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
if-eqz v0, :cond_25
.line 440
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
int-to-long v1, v2
invoke-virtual {p0, v0, v1, v2}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->postDelayed(Ljava/lang/Runnable;J)Z
goto :goto_25
:cond_1e
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
.line 443
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAtMs:J
:cond_25
:goto_25
return-void
.end method
.method private static isHandledMediaKey(I)Z
.registers 2
const/16 v0, 0x5a
if-eq p0, v0, :cond_1f
const/16 v0, 0x59
if-eq p0, v0, :cond_1f
const/16 v0, 0x55
if-eq p0, v0, :cond_1f
const/16 v0, 0x7e
if-eq p0, v0, :cond_1f
const/16 v0, 0x7f
if-eq p0, v0, :cond_1f
const/16 v0, 0x57
if-eq p0, v0, :cond_1f
const/16 v0, 0x58
if-ne p0, v0, :cond_1d
goto :goto_1f
:cond_1d
const/4 p0, 0x0
goto :goto_20
:cond_1f
:goto_1f
const/4 p0, 0x1
:goto_20
return p0
.end method
.method private next()V
.registers 7
.line 603
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 604
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_d
return-void
.line 607
:cond_d
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v1}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentWindowIndex()I
move-result v1
.line 608
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v2
add-int/lit8 v2, v2, -0x1
const-wide v3, -0x7fffffffffffffffL # -4.9E-324
if-ge v1, v2, :cond_26
add-int/lit8 v1, v1, 0x1
.line 609
invoke-direct {p0, v1, v3, v4}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(IJ)V
goto :goto_34
.line 610
:cond_26
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
const/4 v5, 0x0
invoke-virtual {v0, v1, v2, v5}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;Z)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v0
iget-boolean v0, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z
if-eqz v0, :cond_34
.line 611
invoke-direct {p0, v1, v3, v4}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(IJ)V
:cond_34
:goto_34
return-void
.end method
.method private positionValue(I)J
.registers 7
.line 583
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
if-nez v0, :cond_b
move-wide v3, v1
goto :goto_f
:cond_b
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getDuration()J
move-result-wide v3
:goto_f
cmp-long v0, v3, v1
if-nez v0, :cond_16
const-wide/16 v0, 0x0
goto :goto_1d
:cond_16
int-to-long v0, p1
mul-long v3, v3, v0
const-wide/16 v0, 0x3e8
.line 584
div-long v0, v3, v0
:goto_1d
return-wide v0
.end method
.method private previous()V
.registers 7
.line 588
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 589
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_d
return-void
.line 592
:cond_d
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v1}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentWindowIndex()I
move-result v1
.line 593
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow: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;
if-lez v1, :cond_3d
.line 594
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J
move-result-wide v2
const-wide/16 v4, 0xbb8
cmp-long v0, v2, v4
if-lez v0, :cond_32
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z
if-eqz v0, :cond_3d
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isSeekable:Z
if-nez v0, :cond_3d
:cond_32
add-int/lit8 v1, v1, -0x1
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
.line 596
invoke-direct {p0, v1, v2, v3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(IJ)V
goto :goto_42
:cond_3d
const-wide/16 v0, 0x0
.line 598
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(J)V
:goto_42
return-void
.end method
.method private progressBarValue(J)I
.registers 8
.line 577
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
if-nez v0, :cond_b
move-wide v3, v1
goto :goto_f
:cond_b
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getDuration()J
move-result-wide v3
:goto_f
cmp-long v0, v3, v1
if-eqz v0, :cond_21
const-wide/16 v0, 0x0
cmp-long v2, v3, v0
if-nez v2, :cond_1a
goto :goto_21
:cond_1a
const-wide/16 v0, 0x3e8
mul-long p1, p1, v0
.line 578
div-long/2addr p1, v3
long-to-int p2, p1
goto :goto_22
:cond_21
:goto_21
const/4 p2, 0x0
:goto_22
return p2
.end method
.method private requestPlayPauseFocus()V
.registers 3
.line 537
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-eqz v0, :cond_c
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlayWhenReady()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
if-nez v0, :cond_17
.line 538
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->playButton:Landroid/view/View;
if-eqz v1, :cond_17
.line 539
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
goto :goto_20
:cond_17
if-eqz v0, :cond_20
.line 540
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->pauseButton:Landroid/view/View;
if-eqz v0, :cond_20
.line 541
invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z
:cond_20
:goto_20
return-void
.end method
.method private rewind()V
.registers 5
.line 616
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
if-gtz v0, :cond_5
return-void
.line 619
:cond_5
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J
move-result-wide v0
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
int-to-long v2, v2
sub-long/2addr v0, v2
const-wide/16 v2, 0x0
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->max(JJ)J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(J)V
return-void
.end method
.method private seekTo(IJ)V
.registers 6
.line 634
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekDispatcher:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0, v1, p1, p2, p3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;->dispatchSeek(Lcom/google/android/exoplayer2/ExoPlayer;IJ)Z
move-result p1
if-nez p1, :cond_d
.line 638
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgress()V
:cond_d
return-void
.end method
.method private seekTo(J)V
.registers 4
.line 630
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentWindowIndex()I
move-result v0
invoke-direct {p0, v0, p1, p2}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekTo(IJ)V
return-void
.end method
.method private setButtonEnabled(ZLandroid/view/View;)V
.registers 6
if-nez p2, :cond_3
return-void
.line 549
:cond_3
invoke-virtual {p2, p1}, Landroid/view/View;->setEnabled(Z)V
.line 550
sget v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
const/16 v1, 0xb
const/4 v2, 0x0
if-lt v0, v1, :cond_1c
if-eqz p1, :cond_12
const/high16 p1, 0x3f800000 # 1.0f
goto :goto_15
:cond_12
const p1, 0x3e99999a # 0.3f
.line 551
:goto_15
invoke-direct {p0, p2, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setViewAlphaV11(Landroid/view/View;F)V
.line 552
invoke-virtual {p2, v2}, Landroid/view/View;->setVisibility(I)V
goto :goto_23
:cond_1c
if-eqz p1, :cond_1f
goto :goto_20
:cond_1f
const/4 v2, 0x4
.line 554
:goto_20
invoke-virtual {p2, v2}, Landroid/view/View;->setVisibility(I)V
:goto_23
return-void
.end method
.method private setViewAlphaV11(Landroid/view/View;F)V
.registers 3
.line 560
invoke-virtual {p1, p2}, Landroid/view/View;->setAlpha(F)V
return-void
.end method
.method private stringForTime(J)Ljava/lang/String;
.registers 13
const-wide/16 v0, 0x0
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v4, p1, v2
if-nez v4, :cond_c
move-wide p1, v0
:cond_c
const-wide/16 v2, 0x1f4
add-long/2addr p1, v2
const-wide/16 v2, 0x3e8
.line 567
div-long/2addr p1, v2
const-wide/16 v2, 0x3c
.line 568
rem-long v4, p1, v2
.line 569
div-long v6, p1, v2
rem-long/2addr v6, v2
const-wide/16 v2, 0xe10
.line 570
div-long/2addr p1, v2
.line 571
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatBuilder:Ljava/lang/StringBuilder;
const/4 v3, 0x0
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->setLength(I)V
const/4 v2, 0x1
const/4 v8, 0x2
cmp-long v9, p1, v0
if-lez v9, :cond_4a
.line 572
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatter:Ljava/util/Formatter;
const/4 v1, 0x3
new-array v1, v1, [Ljava/lang/Object;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
aput-object p1, v1, v3
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
aput-object p1, v1, v2
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
aput-object p1, v1, v8
const-string p1, "%d:%02d:%02d"
invoke-virtual {v0, p1, v1}, Ljava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
move-result-object p1
invoke-virtual {p1}, Ljava/util/Formatter;->toString()Ljava/lang/String;
move-result-object p1
goto :goto_64
:cond_4a
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->formatter:Ljava/util/Formatter;
new-array p2, v8, [Ljava/lang/Object;
.line 573
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
aput-object v0, p2, v3
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
aput-object v0, p2, v2
const-string v0, "%02d:%02d"
invoke-virtual {p1, v0, p2}, Ljava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
move-result-object p1
invoke-virtual {p1}, Ljava/util/Formatter;->toString()Ljava/lang/String;
move-result-object p1
:goto_64
return-object p1
.end method
.method private updateAll()V
.registers 1
.line 448
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updatePlayPauseButton()V
.line 449
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateNavigation()V
.line 450
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgress()V
return-void
.end method
.method private updateNavigation()V
.registers 7
.line 473
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_83
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
if-nez v0, :cond_c
goto/16 :goto_83
.line 476
:cond_c
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-eqz v0, :cond_15
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
goto :goto_16
:cond_15
const/4 v0, 0x0
:goto_16
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_22
.line 477
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v3
if-nez v3, :cond_22
const/4 v3, 0x1
goto :goto_23
:cond_22
const/4 v3, 0x0
:goto_23
if-eqz v3, :cond_54
.line 482
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v3}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentWindowIndex()I
move-result v3
.line 483
iget-object v4, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
invoke-virtual {v0, v3, v4}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
.line 484
iget-object v4, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
iget-boolean v4, v4, Lcom/google/android/exoplayer2/Timeline$Window;->isSeekable:Z
if-gtz v3, :cond_41
if-nez v4, :cond_41
.line 485
iget-object v5, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
iget-boolean v5, v5, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z
if-nez v5, :cond_3f
goto :goto_41
:cond_3f
const/4 v5, 0x0
goto :goto_42
:cond_41
:goto_41
const/4 v5, 0x1
.line 486
:goto_42
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v0
sub-int/2addr v0, v1
if-lt v3, v0, :cond_52
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->currentWindow:Lcom/google/android/exoplayer2/Timeline$Window;
iget-boolean v0, v0, Lcom/google/android/exoplayer2/Timeline$Window;->isDynamic:Z
if-eqz v0, :cond_50
goto :goto_52
:cond_50
const/4 v0, 0x0
goto :goto_57
:cond_52
:goto_52
const/4 v0, 0x1
goto :goto_57
:cond_54
const/4 v0, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
.line 489
:goto_57
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->previousButton:Landroid/view/View;
invoke-direct {p0, v5, v3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setButtonEnabled(ZLandroid/view/View;)V
.line 490
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->nextButton:Landroid/view/View;
invoke-direct {p0, v0, v3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setButtonEnabled(ZLandroid/view/View;)V
.line 491
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
if-lez v0, :cond_69
if-eqz v4, :cond_69
const/4 v0, 0x1
goto :goto_6a
:cond_69
const/4 v0, 0x0
:goto_6a
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardButton:Landroid/view/View;
invoke-direct {p0, v0, v3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setButtonEnabled(ZLandroid/view/View;)V
.line 492
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
if-lez v0, :cond_76
if-eqz v4, :cond_76
goto :goto_77
:cond_76
const/4 v1, 0x0
:goto_77
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindButton:Landroid/view/View;
invoke-direct {p0, v1, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setButtonEnabled(ZLandroid/view/View;)V
.line 493
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBar:Landroid/widget/SeekBar;
if-eqz v0, :cond_83
.line 494
invoke-virtual {v0, v4}, Landroid/widget/SeekBar;->setEnabled(Z)V
:cond_83
:goto_83
return-void
.end method
.method private updatePlayPauseButton()V
.registers 8
.line 454
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_56
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
if-nez v0, :cond_b
goto :goto_56
.line 458
:cond_b
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_19
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlayWhenReady()Z
move-result v0
if-eqz v0, :cond_19
const/4 v0, 0x1
goto :goto_1a
:cond_19
const/4 v0, 0x0
.line 459
:goto_1a
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->playButton:Landroid/view/View;
const/16 v4, 0x8
if-eqz v3, :cond_38
if-eqz v0, :cond_2a
.line 460
invoke-virtual {v3}, Landroid/view/View;->isFocused()Z
move-result v3
if-eqz v3, :cond_2a
const/4 v3, 0x1
goto :goto_2b
:cond_2a
const/4 v3, 0x0
:goto_2b
or-int/2addr v3, v2
.line 461
iget-object v5, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->playButton:Landroid/view/View;
if-eqz v0, :cond_33
const/16 v6, 0x8
goto :goto_34
:cond_33
const/4 v6, 0x0
:goto_34
invoke-virtual {v5, v6}, Landroid/view/View;->setVisibility(I)V
goto :goto_39
:cond_38
const/4 v3, 0x0
.line 463
:goto_39
iget-object v5, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->pauseButton:Landroid/view/View;
if-eqz v5, :cond_51
if-nez v0, :cond_46
.line 464
invoke-virtual {v5}, Landroid/view/View;->isFocused()Z
move-result v5
if-eqz v5, :cond_46
goto :goto_47
:cond_46
const/4 v1, 0x0
:goto_47
or-int/2addr v3, v1
.line 465
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->pauseButton:Landroid/view/View;
if-nez v0, :cond_4e
const/16 v2, 0x8
:cond_4e
invoke-virtual {v1, v2}, Landroid/view/View;->setVisibility(I)V
:cond_51
if-eqz v3, :cond_56
.line 468
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->requestPlayPauseFocus()V
:cond_56
:goto_56
return-void
.end method
.method private updateProgress()V
.registers 8
.line 499
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_90
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
if-nez v0, :cond_c
goto/16 :goto_90
.line 502
:cond_c
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const-wide/16 v1, 0x0
if-nez v0, :cond_14
move-wide v3, v1
goto :goto_18
:cond_14
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getDuration()J
move-result-wide v3
.line 503
:goto_18
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-nez v0, :cond_1e
move-wide v5, v1
goto :goto_22
:cond_1e
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J
move-result-wide v5
.line 504
:goto_22
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->durationView:Landroid/widget/TextView;
if-eqz v0, :cond_2d
.line 505
invoke-direct {p0, v3, v4}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->stringForTime(J)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 507
:cond_2d
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->positionView:Landroid/widget/TextView;
if-eqz v0, :cond_3c
iget-boolean v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->dragging:Z
if-nez v3, :cond_3c
.line 508
invoke-direct {p0, v5, v6}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->stringForTime(J)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 511
:cond_3c
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBar:Landroid/widget/SeekBar;
if-eqz v0, :cond_5d
.line 512
iget-boolean v3, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->dragging:Z
if-nez v3, :cond_4b
.line 513
invoke-direct {p0, v5, v6}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBarValue(J)I
move-result v3
invoke-virtual {v0, v3}, Landroid/widget/SeekBar;->setProgress(I)V
.line 515
:cond_4b
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-nez v0, :cond_50
goto :goto_54
:cond_50
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPosition()J
move-result-wide v1
.line 516
:goto_54
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBar:Landroid/widget/SeekBar;
invoke-direct {p0, v1, v2}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->progressBarValue(J)I
move-result v1
invoke-virtual {v0, v1}, Landroid/widget/SeekBar;->setSecondaryProgress(I)V
.line 519
:cond_5d
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgressAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 521
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const/4 v1, 0x1
if-nez v0, :cond_69
const/4 v0, 0x1
goto :goto_6d
:cond_69
invoke-interface {v0}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlaybackState()I
move-result v0
:goto_6d
if-eq v0, v1, :cond_90
const/4 v1, 0x4
if-eq v0, v1, :cond_90
.line 524
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {v1}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlayWhenReady()Z
move-result v1
const-wide/16 v2, 0x3e8
if-eqz v1, :cond_8b
const/4 v1, 0x3
if-ne v0, v1, :cond_8b
.line 525
rem-long/2addr v5, v2
sub-long v0, v2, v5
const-wide/16 v4, 0xc8
cmp-long v6, v0, v4
if-gez v6, :cond_8a
add-long/2addr v2, v0
goto :goto_8b
:cond_8a
move-wide v2, v0
.line 532
:cond_8b
:goto_8b
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgressAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0, v2, v3}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->postDelayed(Ljava/lang/Runnable;J)Z
:cond_90
:goto_90
return-void
.end method
# virtual methods
.method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z
.registers 3
.line 667
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->dispatchMediaKeyEvent(Landroid/view/KeyEvent;)Z
move-result v0
if-nez v0, :cond_f
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
if-eqz p1, :cond_d
goto :goto_f
:cond_d
const/4 p1, 0x0
goto :goto_10
:cond_f
:goto_f
const/4 p1, 0x1
:goto_10
if-eqz p1, :cond_15
.line 669
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->show()V
:cond_15
return p1
.end method
.method public dispatchMediaKeyEvent(Landroid/view/KeyEvent;)Z
.registers 5
.line 682
invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v0
.line 683
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
const/4 v2, 0x0
if-eqz v1, :cond_51
invoke-static {v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isHandledMediaKey(I)Z
move-result v1
if-nez v1, :cond_10
goto :goto_51
.line 686
:cond_10
invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
move-result p1
const/4 v1, 0x1
if-nez p1, :cond_4d
const/16 p1, 0x55
if-eq v0, p1, :cond_43
const/16 p1, 0x7e
if-eq v0, p1, :cond_3d
const/16 p1, 0x7f
if-eq v0, p1, :cond_37
packed-switch v0, :pswitch_data_52
goto :goto_4d
.line 689
:pswitch_27
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForward()V
goto :goto_4d
.line 692
:pswitch_2b
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewind()V
goto :goto_4d
.line 707
:pswitch_2f
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->previous()V
goto :goto_4d
.line 704
:pswitch_33
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->next()V
goto :goto_4d
.line 701
:cond_37
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {p1, v2}, Lcom/google/android/exoplayer2/ExoPlayer;->setPlayWhenReady(Z)V
goto :goto_4d
.line 698
:cond_3d
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {p1, v1}, Lcom/google/android/exoplayer2/ExoPlayer;->setPlayWhenReady(Z)V
goto :goto_4d
.line 695
:cond_43
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
invoke-interface {p1}, Lcom/google/android/exoplayer2/ExoPlayer;->getPlayWhenReady()Z
move-result v0
xor-int/2addr v0, v1
invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->setPlayWhenReady(Z)V
.line 713
:cond_4d
:goto_4d
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->show()V
return v1
:cond_51
:goto_51
return v2
:pswitch_data_52
.packed-switch 0x57
:pswitch_33
:pswitch_2f
:pswitch_2b
:pswitch_27
.end packed-switch
.end method
.method public getPlayer()Lcom/google/android/exoplayer2/ExoPlayer;
.registers 2
.line 311
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
return-object v0
.end method
.method public getShowTimeoutMs()I
.registers 2
.line 382
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
return v0
.end method
.method public hide()V
.registers 3
.line 417
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_27
const/16 v0, 0x8
.line 418
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setVisibility(I)V
.line 419
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->visibilityListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;
if-eqz v0, :cond_16
.line 420
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->getVisibility()I
move-result v1
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;->onVisibilityChange(I)V
.line 422
:cond_16
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgressAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 423
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
.line 424
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAtMs:J
:cond_27
return-void
.end method
.method public isVisible()Z
.registers 2
.line 432
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->getVisibility()I
move-result v0
if-nez v0, :cond_8
const/4 v0, 0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return v0
.end method
.method public onAttachedToWindow()V
.registers 6
.line 644
invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V
const/4 v0, 0x1
.line 645
iput-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
.line 646
iget-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAtMs:J
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v4, v0, v2
if-eqz v4, :cond_25
.line 647
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
sub-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-gtz v4, :cond_20
.line 649
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hide()V
goto :goto_25
.line 651
:cond_20
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
invoke-virtual {p0, v2, v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->postDelayed(Ljava/lang/Runnable;J)Z
.line 654
:cond_25
:goto_25
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateAll()V
return-void
.end method
.method public onDetachedFromWindow()V
.registers 2
.line 659
invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V
const/4 v0, 0x0
.line 660
iput-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isAttachedToWindow:Z
.line 661
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateProgressAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 662
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAction:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->removeCallbacks(Ljava/lang/Runnable;)Z
return-void
.end method
.method public setFastForwardIncrementMs(I)V
.registers 2
.line 370
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->fastForwardMs:I
.line 371
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateNavigation()V
return-void
.end method
.method public setPlayer(Lcom/google/android/exoplayer2/ExoPlayer;)V
.registers 4
.line 320
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-ne v0, p1, :cond_5
return-void
:cond_5
if-eqz v0, :cond_c
.line 324
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/ExoPlayer;->removeListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V
.line 326
:cond_c
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->player:Lcom/google/android/exoplayer2/ExoPlayer;
if-eqz p1, :cond_15
.line 328
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$ComponentListener;
invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/ExoPlayer;->addListener(Lcom/google/android/exoplayer2/ExoPlayer$EventListener;)V
.line 330
:cond_15
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateAll()V
return-void
.end method
.method public setRewindIncrementMs(I)V
.registers 2
.line 359
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->rewindMs:I
.line 360
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateNavigation()V
return-void
.end method
.method public setSeekDispatcher(Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;)V
.registers 2
if-nez p1, :cond_4
.line 349
sget-object p1, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->DEFAULT_SEEK_DISPATCHER:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
:cond_4
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->seekDispatcher:Lcom/google/android/exoplayer2/ui/PlaybackControlView$SeekDispatcher;
return-void
.end method
.method public setShowTimeoutMs(I)V
.registers 2
.line 393
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->showTimeoutMs:I
return-void
.end method
.method public setVisibilityListener(Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;)V
.registers 2
.line 339
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->visibilityListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;
return-void
.end method
.method public show()V
.registers 3
.line 401
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->isVisible()Z
move-result v0
if-nez v0, :cond_1b
const/4 v0, 0x0
.line 402
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->setVisibility(I)V
.line 403
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->visibilityListener:Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;
if-eqz v0, :cond_15
.line 404
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->getVisibility()I
move-result v1
invoke-interface {v0, v1}, Lcom/google/android/exoplayer2/ui/PlaybackControlView$VisibilityListener;->onVisibilityChange(I)V
.line 406
:cond_15
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->updateAll()V
.line 407
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->requestPlayPauseFocus()V
.line 410
:cond_1b
invoke-direct {p0}, Lcom/google/android/exoplayer2/ui/PlaybackControlView;->hideAfterTimeout()V
return-void
.end method