Files
rr3-apk/smali_classes2/com/google/android/exoplayer2/ui/PlayerControlView.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

2201 lines
61 KiB
Smali

.class public Lcom/google/android/exoplayer2/ui/PlayerControlView;
.super Landroid/widget/FrameLayout;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/ui/PlayerControlView$Api21;,
Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;,
Lcom/google/android/exoplayer2/ui/PlayerControlView$ProgressUpdateListener;,
Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;
}
.end annotation
# instance fields
.field public adGroupTimesMs:[J
.field public final buttonAlphaDisabled:F
.field public final buttonAlphaEnabled:F
.field public final componentListener:Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;
.field public controlDispatcher:Lcom/google/android/exoplayer2/ControlDispatcher;
.field public currentBufferedPosition:J
.field public currentPosition:J
.field public final durationView:Landroid/widget/TextView;
.field public extraAdGroupTimesMs:[J
.field public extraPlayedAdGroups:[Z
.field public final fastForwardButton:Landroid/view/View;
.field public final formatBuilder:Ljava/lang/StringBuilder;
.field public final formatter:Ljava/util/Formatter;
.field public final hideAction:Ljava/lang/Runnable;
.field public hideAtMs:J
.field public isAttachedToWindow:Z
.field public final nextButton:Landroid/view/View;
.field public final pauseButton:Landroid/view/View;
.field public final period:Lcom/google/android/exoplayer2/Timeline$Period;
.field public final playButton:Landroid/view/View;
.field public playedAdGroups:[Z
.field public final positionView:Landroid/widget/TextView;
.field public final previousButton:Landroid/view/View;
.field public final repeatAllButtonContentDescription:Ljava/lang/String;
.field public final repeatAllButtonDrawable:Landroid/graphics/drawable/Drawable;
.field public final repeatOffButtonContentDescription:Ljava/lang/String;
.field public final repeatOffButtonDrawable:Landroid/graphics/drawable/Drawable;
.field public final repeatOneButtonContentDescription:Ljava/lang/String;
.field public final repeatOneButtonDrawable:Landroid/graphics/drawable/Drawable;
.field public final repeatToggleButton:Landroid/widget/ImageView;
.field public repeatToggleModes:I
.field public final rewindButton:Landroid/view/View;
.field public scrubbing:Z
.field public showFastForwardButton:Z
.field public showMultiWindowTimeBar:Z
.field public showNextButton:Z
.field public showPreviousButton:Z
.field public showRewindButton:Z
.field public showShuffleButton:Z
.field public showTimeoutMs:I
.field public final shuffleButton:Landroid/widget/ImageView;
.field public final shuffleOffButtonDrawable:Landroid/graphics/drawable/Drawable;
.field public final shuffleOffContentDescription:Ljava/lang/String;
.field public final shuffleOnButtonDrawable:Landroid/graphics/drawable/Drawable;
.field public final shuffleOnContentDescription:Ljava/lang/String;
.field public final timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
.field public timeBarMinUpdateIntervalMs:I
.field public final updateProgressAction:Ljava/lang/Runnable;
.field public final visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.field public final vrButton:Landroid/view/View;
.field public final window:Lcom/google/android/exoplayer2/Timeline$Window;
# direct methods
.method public static synthetic $r8$lambda$EPQn3wIJfHsmBxsRaGVq7MNXq9U(Lcom/google/android/exoplayer2/ui/PlayerControlView;)V
.locals 0
.line 0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateProgress()V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
const-string v0, "goog.exo.ui"
.line 251
invoke-static {v0}, Lcom/google/android/exoplayer2/ExoPlayerLibraryInfo;->registerModule(Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
const/4 v0, 0x0
.line 350
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 1
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
.line 354
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;-><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
.locals 0
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 358
invoke-direct {p0, p1, p2, p3, p2}, Lcom/google/android/exoplayer2/ui/PlayerControlView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;ILandroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;ILandroid/util/AttributeSet;)V
.locals 3
.line 371
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
sget p2, Lcom/google/android/exoplayer2/ui/R$layout;->exo_player_control_view:I
const/16 v0, 0x1388
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
const/4 v0, 0x0
iput v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleModes:I
const/16 v1, 0xc8
iput v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBarMinUpdateIntervalMs:I
const-wide v1, -0x7fffffffffffffffL # -4.9E-324
iput-wide v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAtMs:J
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showRewindButton:Z
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showFastForwardButton:Z
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showPreviousButton:Z
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showNextButton:Z
iput-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showShuffleButton:Z
if-eqz p4, :cond_0
.line 385
invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object v1
sget-object v2, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView:[I
.line 386
invoke-virtual {v1, p4, v2, p3, v0}, Landroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p3
.line 389
:try_start_0
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_timeout:I
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
iput v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
.line 390
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_controller_layout_id:I
.line 391
invoke-virtual {p3, v1, p2}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result p2
iget v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleModes:I
.line 392
invoke-static {p3, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->getRepeatToggleModes(Landroid/content/res/TypedArray;I)I
move-result v1
iput v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleModes:I
.line 393
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_rewind_button:I
iget-boolean v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showRewindButton:Z
.line 394
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showRewindButton:Z
.line 395
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_fastforward_button:I
iget-boolean v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showFastForwardButton:Z
.line 396
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showFastForwardButton:Z
.line 398
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_previous_button:I
iget-boolean v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showPreviousButton:Z
.line 399
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showPreviousButton:Z
.line 400
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_next_button:I
iget-boolean v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showNextButton:Z
.line 401
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showNextButton:Z
.line 402
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_show_shuffle_button:I
iget-boolean v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showShuffleButton:Z
.line 403
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showShuffleButton:Z
.line 404
sget v1, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_time_bar_min_update_interval:I
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBarMinUpdateIntervalMs:I
.line 405
invoke-virtual {p3, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
.line 404
invoke-virtual {p0, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->setTimeBarMinUpdateInterval(I)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 409
invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V
goto :goto_0
:catchall_0
move-exception p1
invoke-virtual {p3}, Landroid/content/res/TypedArray;->recycle()V
.line 410
throw p1
.line 412
:cond_0
:goto_0
new-instance p3, Ljava/util/concurrent/CopyOnWriteArrayList;
invoke-direct {p3}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.line 413
new-instance p3, Lcom/google/android/exoplayer2/Timeline$Period;
invoke-direct {p3}, Lcom/google/android/exoplayer2/Timeline$Period;-><init>()V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->period:Lcom/google/android/exoplayer2/Timeline$Period;
.line 414
new-instance p3, Lcom/google/android/exoplayer2/Timeline$Window;
invoke-direct {p3}, Lcom/google/android/exoplayer2/Timeline$Window;-><init>()V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->window:Lcom/google/android/exoplayer2/Timeline$Window;
.line 415
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatBuilder:Ljava/lang/StringBuilder;
.line 416
new-instance v1, Ljava/util/Formatter;
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v2
invoke-direct {v1, p3, v2}, Ljava/util/Formatter;-><init>(Ljava/lang/Appendable;Ljava/util/Locale;)V
iput-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatter:Ljava/util/Formatter;
new-array p3, v0, [J
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->adGroupTimesMs:[J
new-array p3, v0, [Z
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playedAdGroups:[Z
new-array p3, v0, [J
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraAdGroupTimesMs:[J
new-array p3, v0, [Z
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraPlayedAdGroups:[Z
.line 421
new-instance p3, Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;
const/4 v1, 0x0
invoke-direct {p3, p0, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;-><init>(Lcom/google/android/exoplayer2/ui/PlayerControlView;Lcom/google/android/exoplayer2/ui/PlayerControlView$1;)V
iput-object p3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;
.line 422
new-instance v2, Lcom/google/android/exoplayer2/DefaultControlDispatcher;
invoke-direct {v2}, Lcom/google/android/exoplayer2/DefaultControlDispatcher;-><init>()V
iput-object v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->controlDispatcher:Lcom/google/android/exoplayer2/ControlDispatcher;
.line 423
new-instance v2, Lcom/google/android/exoplayer2/ui/PlayerControlView$$ExternalSyntheticLambda0;
invoke-direct {v2, p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView$$ExternalSyntheticLambda0;-><init>(Lcom/google/android/exoplayer2/ui/PlayerControlView;)V
iput-object v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateProgressAction:Ljava/lang/Runnable;
.line 424
new-instance v2, Lcom/google/android/exoplayer2/ui/PlayerControlView$$ExternalSyntheticLambda1;
invoke-direct {v2, p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView$$ExternalSyntheticLambda1;-><init>(Lcom/google/android/exoplayer2/ui/PlayerControlView;)V
iput-object v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 426
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object v2
invoke-virtual {v2, p2, p0}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
const/high16 p2, 0x40000
.line 427
invoke-virtual {p0, p2}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_progress:I
.line 429
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Lcom/google/android/exoplayer2/ui/TimeBar;
sget v2, Lcom/google/android/exoplayer2/ui/R$id;->exo_progress_placeholder:I
.line 430
invoke-virtual {p0, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v2
if-eqz p2, :cond_1
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
goto :goto_1
:cond_1
if-eqz v2, :cond_2
.line 436
new-instance p2, Lcom/google/android/exoplayer2/ui/DefaultTimeBar;
invoke-direct {p2, p1, v1, v0, p4}, Lcom/google/android/exoplayer2/ui/DefaultTimeBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;ILandroid/util/AttributeSet;)V
sget p4, Lcom/google/android/exoplayer2/ui/R$id;->exo_progress:I
.line 437
invoke-virtual {p2, p4}, Landroid/view/View;->setId(I)V
.line 438
invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object p4
invoke-virtual {p2, p4}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
.line 439
invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p4
check-cast p4, Landroid/view/ViewGroup;
.line 440
invoke-virtual {p4, v2}, Landroid/view/ViewGroup;->indexOfChild(Landroid/view/View;)I
move-result v1
.line 441
invoke-virtual {p4, v2}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
.line 442
invoke-virtual {p4, p2, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
goto :goto_1
:cond_2
iput-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
:goto_1
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_duration:I
.line 447
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->durationView:Landroid/widget/TextView;
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_position:I
.line 448
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/TextView;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->positionView:Landroid/widget/TextView;
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
if-eqz p2, :cond_3
.line 451
invoke-interface {p2, p3}, Lcom/google/android/exoplayer2/ui/TimeBar;->addListener(Lcom/google/android/exoplayer2/ui/TimeBar$OnScrubListener;)V
:cond_3
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_play:I
.line 453
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
if-eqz p2, :cond_4
.line 455
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_4
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_pause:I
.line 457
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
if-eqz p2, :cond_5
.line 459
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_5
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_prev:I
.line 461
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->previousButton:Landroid/view/View;
if-eqz p2, :cond_6
.line 463
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_6
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_next:I
.line 465
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->nextButton:Landroid/view/View;
if-eqz p2, :cond_7
.line 467
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_7
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_rew:I
.line 469
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->rewindButton:Landroid/view/View;
if-eqz p2, :cond_8
.line 471
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_8
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_ffwd:I
.line 473
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->fastForwardButton:Landroid/view/View;
if-eqz p2, :cond_9
.line 475
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_9
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_repeat_toggle:I
.line 477
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/ImageView;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleButton:Landroid/widget/ImageView;
if-eqz p2, :cond_a
.line 479
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_a
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_shuffle:I
.line 481
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/ImageView;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleButton:Landroid/widget/ImageView;
if-eqz p2, :cond_b
.line 483
invoke-virtual {p2, p3}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_b
sget p2, Lcom/google/android/exoplayer2/ui/R$id;->exo_vr:I
.line 485
invoke-virtual {p0, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->vrButton:Landroid/view/View;
.line 486
invoke-virtual {p0, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->setShowVrButton(Z)V
.line 487
invoke-virtual {p0, v0, v0, p2}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
.line 489
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
sget p2, Lcom/google/android/exoplayer2/ui/R$integer;->exo_media_button_opacity_percentage_enabled:I
.line 492
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getInteger(I)I
move-result p2
int-to-float p2, p2
const/high16 p3, 0x42c80000 # 100.0f
div-float/2addr p2, p3
iput p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->buttonAlphaEnabled:F
sget p2, Lcom/google/android/exoplayer2/ui/R$integer;->exo_media_button_opacity_percentage_disabled:I
.line 494
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getInteger(I)I
move-result p2
int-to-float p2, p2
div-float/2addr p2, p3
iput p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->buttonAlphaDisabled:F
sget p2, Lcom/google/android/exoplayer2/ui/R$drawable;->exo_controls_repeat_off:I
.line 496
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOffButtonDrawable:Landroid/graphics/drawable/Drawable;
sget p2, Lcom/google/android/exoplayer2/ui/R$drawable;->exo_controls_repeat_one:I
.line 497
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOneButtonDrawable:Landroid/graphics/drawable/Drawable;
sget p2, Lcom/google/android/exoplayer2/ui/R$drawable;->exo_controls_repeat_all:I
.line 498
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatAllButtonDrawable:Landroid/graphics/drawable/Drawable;
sget p2, Lcom/google/android/exoplayer2/ui/R$drawable;->exo_controls_shuffle_on:I
.line 499
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOnButtonDrawable:Landroid/graphics/drawable/Drawable;
sget p2, Lcom/google/android/exoplayer2/ui/R$drawable;->exo_controls_shuffle_off:I
.line 500
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOffButtonDrawable:Landroid/graphics/drawable/Drawable;
sget p2, Lcom/google/android/exoplayer2/ui/R$string;->exo_controls_repeat_off_description:I
.line 502
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOffButtonContentDescription:Ljava/lang/String;
sget p2, Lcom/google/android/exoplayer2/ui/R$string;->exo_controls_repeat_one_description:I
.line 504
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOneButtonContentDescription:Ljava/lang/String;
sget p2, Lcom/google/android/exoplayer2/ui/R$string;->exo_controls_repeat_all_description:I
.line 506
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatAllButtonContentDescription:Ljava/lang/String;
sget p2, Lcom/google/android/exoplayer2/ui/R$string;->exo_controls_shuffle_on_description:I
.line 507
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p2
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOnContentDescription:Ljava/lang/String;
sget p2, Lcom/google/android/exoplayer2/ui/R$string;->exo_controls_shuffle_off_description:I
.line 509
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOffContentDescription:Ljava/lang/String;
return-void
.end method
.method public static synthetic access$1000(Lcom/google/android/exoplayer2/ui/PlayerControlView;)Ljava/util/Formatter;
.locals 0
.line 248
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatter:Ljava/util/Formatter;
return-object p0
.end method
.method public static synthetic access$1100(Lcom/google/android/exoplayer2/ui/PlayerControlView;)Lcom/google/android/exoplayer2/Player;
.locals 0
.line 248
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
const/4 p0, 0x0
return-object p0
.end method
.method public static synthetic access$702(Lcom/google/android/exoplayer2/ui/PlayerControlView;Z)Z
.locals 0
.line 248
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->scrubbing:Z
return p1
.end method
.method public static synthetic access$800(Lcom/google/android/exoplayer2/ui/PlayerControlView;)Landroid/widget/TextView;
.locals 0
.line 248
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->positionView:Landroid/widget/TextView;
return-object p0
.end method
.method public static synthetic access$900(Lcom/google/android/exoplayer2/ui/PlayerControlView;)Ljava/lang/StringBuilder;
.locals 0
.line 248
iget-object p0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatBuilder:Ljava/lang/StringBuilder;
return-object p0
.end method
.method public static getRepeatToggleModes(Landroid/content/res/TypedArray;I)I
.locals 1
.line 1293
sget v0, Lcom/google/android/exoplayer2/ui/R$styleable;->PlayerControlView_repeat_toggle_modes:I
invoke-virtual {p0, v0, p1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result p0
return p0
.end method
# virtual methods
.method public addVisibilityListener(Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;)V
.locals 1
.line 588
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.line 589
invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z
.locals 1
.line 1178
invoke-virtual {p0, p1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->dispatchMediaKeyEvent(Landroid/view/KeyEvent;)Z
move-result v0
if-nez v0, :cond_1
invoke-super {p0, p1}, Landroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public dispatchMediaKeyEvent(Landroid/view/KeyEvent;)Z
.locals 0
.line 1189
invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
const/4 p1, 0x0
return p1
.end method
.method public final dispatchTouchEvent(Landroid/view/MotionEvent;)Z
.locals 2
.line 1168
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 1169
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
goto :goto_0
.line 1170
:cond_0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1
.line 1171
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAfterTimeout()V
.line 1173
:cond_1
:goto_0
invoke-super {p0, p1}, Landroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.end method
.method public getShowTimeoutMs()I
.locals 1
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
return v0
.end method
.method public getShowVrButton()Z
.locals 1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->vrButton:Landroid/view/View;
if-eqz v0, :cond_0
.line 738
invoke-virtual {v0}, Landroid/view/View;->getVisibility()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public hide()V
.locals 3
.line 800
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_1
const/16 v0, 0x8
.line 801
invoke-virtual {p0, v0}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.line 802
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;
.line 803
invoke-virtual {p0}, Landroid/view/View;->getVisibility()I
move-result v2
invoke-interface {v1, v2}, Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;->onVisibilityChange(I)V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateProgressAction:Ljava/lang/Runnable;
.line 805
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 806
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAtMs:J
:cond_1
return-void
.end method
.method public final hideAfterTimeout()V
.locals 5
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 817
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
iget v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
if-lez v0, :cond_0
.line 819
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
iget v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
int-to-long v3, v2
add-long/2addr v0, v3
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAtMs:J
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
int-to-long v1, v2
.line 821
invoke-virtual {p0, v0, v1, v2}, Landroid/view/View;->postDelayed(Ljava/lang/Runnable;J)Z
goto :goto_0
:cond_0
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
iput-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAtMs:J
:cond_1
:goto_0
return-void
.end method
.method public isVisible()Z
.locals 1
.line 813
invoke-virtual {p0}, Landroid/view/View;->getVisibility()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public onAttachedToWindow()V
.locals 4
.line 1143
invoke-super {p0}, Landroid/view/View;->onAttachedToWindow()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
iget-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAtMs:J
const-wide v2, -0x7fffffffffffffffL # -4.9E-324
cmp-long v2, v0, v2
if-eqz v2, :cond_1
.line 1146
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
sub-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-gtz v2, :cond_0
.line 1148
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hide()V
goto :goto_0
:cond_0
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 1150
invoke-virtual {p0, v2, v0, v1}, Landroid/view/View;->postDelayed(Ljava/lang/Runnable;J)Z
goto :goto_0
.line 1152
:cond_1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_2
.line 1153
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAfterTimeout()V
.line 1155
:cond_2
:goto_0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateAll()V
return-void
.end method
.method public onDetachedFromWindow()V
.locals 1
.line 1160
invoke-super {p0}, Landroid/view/View;->onDetachedFromWindow()V
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateProgressAction:Ljava/lang/Runnable;
.line 1162
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAction:Ljava/lang/Runnable;
.line 1163
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
return-void
.end method
.method public removeVisibilityListener(Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;)V
.locals 1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.line 598
invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public final requestPlayPauseAccessibilityFocus()V
.locals 3
.line 1095
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shouldShowPauseButton()Z
move-result v0
const/16 v1, 0x8
if-nez v0, :cond_0
iget-object v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
if-eqz v2, :cond_0
.line 1097
invoke-virtual {v2, v1}, Landroid/view/View;->sendAccessibilityEvent(I)V
goto :goto_0
:cond_0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
if-eqz v0, :cond_1
.line 1099
invoke-virtual {v0, v1}, Landroid/view/View;->sendAccessibilityEvent(I)V
:cond_1
:goto_0
return-void
.end method
.method public final requestPlayPauseFocus()V
.locals 2
.line 1086
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shouldShowPauseButton()Z
move-result v0
if-nez v0, :cond_0
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
if-eqz v1, :cond_0
.line 1088
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
goto :goto_0
:cond_0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
if-eqz v0, :cond_1
.line 1090
invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z
:cond_1
:goto_0
return-void
.end method
.method public setControlDispatcher(Lcom/google/android/exoplayer2/ControlDispatcher;)V
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->controlDispatcher:Lcom/google/android/exoplayer2/ControlDispatcher;
if-eq v0, p1, :cond_0
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->controlDispatcher:Lcom/google/android/exoplayer2/ControlDispatcher;
.line 619
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
:cond_0
return-void
.end method
.method public setExtraAdGroupMarkers([J[Z)V
.locals 3
.param p1 # [J
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # [Z
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
if-nez p1, :cond_0
new-array p1, v0, [J
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraAdGroupTimesMs:[J
new-array p1, v0, [Z
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraPlayedAdGroups:[Z
goto :goto_0
.line 574
:cond_0
invoke-static {p2}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, [Z
.line 575
array-length v1, p1
array-length v2, p2
if-ne v1, v2, :cond_1
const/4 v0, 0x1
:cond_1
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraAdGroupTimesMs:[J
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->extraPlayedAdGroups:[Z
.line 579
:goto_0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateTimeline()V
return-void
.end method
.method public setPlayer(Lcom/google/android/exoplayer2/Player;)V
.locals 4
.param p1 # Lcom/google/android/exoplayer2/Player;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 529
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_0
move v0, v3
goto :goto_0
:cond_0
move v0, v2
:goto_0
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
if-eqz p1, :cond_1
.line 531
invoke-interface {p1}, Lcom/google/android/exoplayer2/Player;->getApplicationLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
if-ne v0, v1, :cond_2
:cond_1
move v2, v3
.line 530
:cond_2
invoke-static {v2}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
if-nez p1, :cond_3
return-void
:cond_3
if-eqz p1, :cond_4
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->componentListener:Lcom/google/android/exoplayer2/ui/PlayerControlView$ComponentListener;
.line 540
invoke-interface {p1, v0}, Lcom/google/android/exoplayer2/Player;->addListener(Lcom/google/android/exoplayer2/Player$Listener;)V
.line 542
:cond_4
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateAll()V
return-void
.end method
.method public setProgressUpdateListener(Lcom/google/android/exoplayer2/ui/PlayerControlView$ProgressUpdateListener;)V
.locals 0
.param p1 # Lcom/google/android/exoplayer2/ui/PlayerControlView$ProgressUpdateListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
return-void
.end method
.method public setRepeatToggleModes(I)V
.locals 0
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleModes:I
.line 718
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateRepeatModeButton()V
return-void
.end method
.method public setShowFastForwardButton(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showFastForwardButton:Z
.line 640
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
return-void
.end method
.method public setShowMultiWindowTimeBar(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showMultiWindowTimeBar:Z
.line 555
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateTimeline()V
return-void
.end method
.method public setShowNextButton(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showNextButton:Z
.line 660
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
return-void
.end method
.method public setShowPreviousButton(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showPreviousButton:Z
.line 650
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
return-void
.end method
.method public setShowRewindButton(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showRewindButton:Z
.line 630
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
return-void
.end method
.method public setShowShuffleButton(Z)V
.locals 0
iput-boolean p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showShuffleButton:Z
.line 733
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateShuffleButton()V
return-void
.end method
.method public setShowTimeoutMs(I)V
.locals 0
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showTimeoutMs:I
.line 683
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result p1
if-eqz p1, :cond_0
.line 685
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAfterTimeout()V
:cond_0
return-void
.end method
.method public setShowVrButton(Z)V
.locals 1
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->vrButton:Landroid/view/View;
if-eqz v0, :cond_1
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
const/16 p1, 0x8
.line 748
:goto_0
invoke-virtual {v0, p1}, Landroid/view/View;->setVisibility(I)V
:cond_1
return-void
.end method
.method public setTimeBarMinUpdateInterval(I)V
.locals 2
const/16 v0, 0x10
const/16 v1, 0x3e8
.line 777
invoke-static {p1, v0, v1}, Lcom/google/android/exoplayer2/util/Util;->constrainValue(III)I
move-result p1
iput p1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBarMinUpdateIntervalMs:I
return-void
.end method
.method public setVrButtonListener(Landroid/view/View$OnClickListener;)V
.locals 2
.param p1 # Landroid/view/View$OnClickListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->vrButton:Landroid/view/View;
if-eqz v0, :cond_1
.line 759
invoke-virtual {v0, p1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 760
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->getShowVrButton()Z
move-result v0
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->vrButton:Landroid/view/View;
invoke-virtual {p0, v0, p1, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
:cond_1
return-void
.end method
.method public final shouldShowPauseButton()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public show()V
.locals 3
.line 785
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-nez v0, :cond_1
const/4 v0, 0x0
.line 786
invoke-virtual {p0, v0}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->visibilityListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
.line 787
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;
.line 788
invoke-virtual {p0}, Landroid/view/View;->getVisibility()I
move-result v2
invoke-interface {v1, v2}, Lcom/google/android/exoplayer2/ui/PlayerControlView$VisibilityListener;->onVisibilityChange(I)V
goto :goto_0
.line 790
:cond_0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateAll()V
.line 791
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->requestPlayPauseFocus()V
.line 792
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->requestPlayPauseAccessibilityFocus()V
.line 795
:cond_1
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->hideAfterTimeout()V
return-void
.end method
.method public final updateAll()V
.locals 0
.line 829
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updatePlayPauseButton()V
.line 830
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateNavigation()V
.line 831
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateRepeatModeButton()V
.line 832
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateShuffleButton()V
.line 833
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateTimeline()V
return-void
.end method
.method public final updateButton(ZZLandroid/view/View;)V
.locals 0
if-nez p3, :cond_0
return-void
.line 1107
:cond_0
invoke-virtual {p3, p2}, Landroid/view/View;->setEnabled(Z)V
if-eqz p2, :cond_1
iget p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->buttonAlphaEnabled:F
goto :goto_0
:cond_1
iget p2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->buttonAlphaDisabled:F
.line 1108
:goto_0
invoke-virtual {p3, p2}, Landroid/view/View;->setAlpha(F)V
if-eqz p1, :cond_2
const/4 p1, 0x0
goto :goto_1
:cond_2
const/16 p1, 0x8
.line 1109
:goto_1
invoke-virtual {p3, p1}, Landroid/view/View;->setVisibility(I)V
return-void
.end method
.method public final updateNavigation()V
.locals 3
.line 868
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_1
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-nez v0, :cond_0
goto :goto_0
:cond_0
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showPreviousButton:Z
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->previousButton:Landroid/view/View;
const/4 v2, 0x0
.line 889
invoke-virtual {p0, v0, v2, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showRewindButton:Z
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->rewindButton:Landroid/view/View;
.line 890
invoke-virtual {p0, v0, v2, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showFastForwardButton:Z
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->fastForwardButton:Landroid/view/View;
.line 891
invoke-virtual {p0, v0, v2, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showNextButton:Z
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->nextButton:Landroid/view/View;
.line 892
invoke-virtual {p0, v0, v2, v1}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
if-eqz v0, :cond_1
.line 894
invoke-interface {v0, v2}, Lcom/google/android/exoplayer2/ui/TimeBar;->setEnabled(Z)V
:cond_1
:goto_0
return-void
.end method
.method public final updatePlayPauseButton()V
.locals 9
.line 837
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_c
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-nez v0, :cond_0
goto/16 :goto_6
.line 842
:cond_0
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shouldShowPauseButton()Z
move-result v0
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
const/16 v2, 0x8
const/16 v3, 0x15
const/4 v4, 0x1
const/4 v5, 0x0
if-eqz v1, :cond_5
if-eqz v0, :cond_1
.line 844
invoke-virtual {v1}, Landroid/view/View;->isFocused()Z
move-result v1
if-eqz v1, :cond_1
move v1, v4
goto :goto_0
:cond_1
move v1, v5
.line 846
:goto_0
sget v6, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
if-ge v6, v3, :cond_2
move v6, v1
goto :goto_1
:cond_2
if-eqz v0, :cond_3
iget-object v6, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
.line 848
invoke-static {v6}, Lcom/google/android/exoplayer2/ui/PlayerControlView$Api21;->isAccessibilityFocused(Landroid/view/View;)Z
move-result v6
if-eqz v6, :cond_3
move v6, v4
goto :goto_1
:cond_3
move v6, v5
:goto_1
iget-object v7, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->playButton:Landroid/view/View;
if-eqz v0, :cond_4
move v8, v2
goto :goto_2
:cond_4
move v8, v5
.line 849
:goto_2
invoke-virtual {v7, v8}, Landroid/view/View;->setVisibility(I)V
goto :goto_3
:cond_5
move v1, v5
move v6, v1
:goto_3
iget-object v7, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
if-eqz v7, :cond_a
if-nez v0, :cond_6
.line 852
invoke-virtual {v7}, Landroid/view/View;->isFocused()Z
move-result v7
if-eqz v7, :cond_6
move v7, v4
goto :goto_4
:cond_6
move v7, v5
:goto_4
or-int/2addr v1, v7
.line 854
sget v7, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
if-ge v7, v3, :cond_7
move v4, v1
goto :goto_5
:cond_7
if-nez v0, :cond_8
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
.line 856
invoke-static {v3}, Lcom/google/android/exoplayer2/ui/PlayerControlView$Api21;->isAccessibilityFocused(Landroid/view/View;)Z
move-result v3
if-eqz v3, :cond_8
goto :goto_5
:cond_8
move v4, v5
:goto_5
or-int/2addr v6, v4
iget-object v3, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->pauseButton:Landroid/view/View;
if-eqz v0, :cond_9
move v2, v5
.line 857
:cond_9
invoke-virtual {v3, v2}, Landroid/view/View;->setVisibility(I)V
:cond_a
if-eqz v1, :cond_b
.line 860
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->requestPlayPauseFocus()V
:cond_b
if-eqz v6, :cond_c
.line 863
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->requestPlayPauseAccessibilityFocus()V
:cond_c
:goto_6
return-void
.end method
.method public final updateProgress()V
.locals 5
.line 1032
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_4
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-nez v0, :cond_0
goto :goto_1
:cond_0
iget-wide v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->currentPosition:J
const-wide/16 v2, 0x0
cmp-long v0, v2, v0
if-eqz v0, :cond_1
const/4 v0, 0x1
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_0
iput-wide v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->currentPosition:J
iput-wide v2, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->currentBufferedPosition:J
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->positionView:Landroid/widget/TextView;
if-eqz v1, :cond_2
iget-boolean v4, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->scrubbing:Z
if-nez v4, :cond_2
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatBuilder:Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->formatter:Ljava/util/Formatter;
.line 1051
invoke-static {v0, v4, v2, v3}, Lcom/google/android/exoplayer2/util/Util;->getStringForTime(Ljava/lang/StringBuilder;Ljava/util/Formatter;J)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
:cond_2
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
if-eqz v0, :cond_3
.line 1054
invoke-interface {v0, v2, v3}, Lcom/google/android/exoplayer2/ui/TimeBar;->setPosition(J)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->timeBar:Lcom/google/android/exoplayer2/ui/TimeBar;
.line 1055
invoke-interface {v0, v2, v3}, Lcom/google/android/exoplayer2/ui/TimeBar;->setBufferedPosition(J)V
:cond_3
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateProgressAction:Ljava/lang/Runnable;
.line 1062
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
:cond_4
:goto_1
return-void
.end method
.method public final updateRepeatModeButton()V
.locals 3
.line 899
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_2
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleButton:Landroid/widget/ImageView;
if-nez v0, :cond_0
goto :goto_0
:cond_0
iget v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleModes:I
const/4 v2, 0x0
if-nez v1, :cond_1
.line 904
invoke-virtual {p0, v2, v2, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
return-void
:cond_1
const/4 v1, 0x1
.line 910
invoke-virtual {p0, v1, v2, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleButton:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOffButtonDrawable:Landroid/graphics/drawable/Drawable;
.line 911
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatToggleButton:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->repeatOffButtonContentDescription:Ljava/lang/String;
.line 912
invoke-virtual {v0, v1}, Landroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V
:cond_2
:goto_0
return-void
.end method
.method public final updateShuffleButton()V
.locals 3
.line 937
invoke-virtual {p0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isVisible()Z
move-result v0
if-eqz v0, :cond_2
iget-boolean v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->isAttachedToWindow:Z
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleButton:Landroid/widget/ImageView;
if-nez v0, :cond_0
goto :goto_0
:cond_0
iget-boolean v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->showShuffleButton:Z
const/4 v2, 0x0
if-nez v1, :cond_1
.line 943
invoke-virtual {p0, v2, v2, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
goto :goto_0
:cond_1
const/4 v1, 0x1
.line 945
invoke-virtual {p0, v1, v2, v0}, Lcom/google/android/exoplayer2/ui/PlayerControlView;->updateButton(ZZLandroid/view/View;)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleButton:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOffButtonDrawable:Landroid/graphics/drawable/Drawable;
.line 946
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
iget-object v0, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleButton:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/google/android/exoplayer2/ui/PlayerControlView;->shuffleOffContentDescription:Ljava/lang/String;
.line 947
invoke-virtual {v0, v1}, Landroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V
:cond_2
:goto_0
return-void
.end method
.method public final updateTimeline()V
.locals 0
return-void
.end method