AnalyticsCollector.smali
.class public Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;
.super Ljava/lang/Object;
.source "AnalyticsCollector.java"
# interfaces
.implements Lcom/google/android/exoplayer2/Player$EventListener;
.implements Lcom/google/android/exoplayer2/metadata/MetadataOutput;
.implements Lcom/google/android/exoplayer2/audio/AudioRendererEventListener;
.implements Lcom/google/android/exoplayer2/video/VideoRendererEventListener;
.implements Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.implements Lcom/google/android/exoplayer2/upstream/BandwidthMeter$EventListener;
.implements Lcom/google/android/exoplayer2/drm/DefaultDrmSessionEventListener;
.implements Lcom/google/android/exoplayer2/video/VideoListener;
.implements Lcom/google/android/exoplayer2/audio/AudioListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;,
Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;,
Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$Factory;
}
.end annotation
# instance fields
.field private final clock:Lcom/google/android/exoplayer2/util/Clock;
.field private final listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/CopyOnWriteArraySet<",
"Lcom/google/android/exoplayer2/analytics/AnalyticsListener;",
">;"
}
.end annotation
.end field
.field private final mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
.field private player:Lcom/google/android/exoplayer2/Player;
.field private final window:Lcom/google/android/exoplayer2/Timeline$Window;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method protected constructor <init>(Lcom/google/android/exoplayer2/Player;Lcom/google/android/exoplayer2/util/Clock;)V
.registers 4
.param p1, "player" # Lcom/google/android/exoplayer2/Player;
.param p2, "clock" # Lcom/google/android/exoplayer2/util/Clock;
.line 103
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 104
if-eqz p1, :cond_7
.line 105
iput-object p1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 107
:cond_7
invoke-static {p2}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/util/Clock;
iput-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->clock:Lcom/google/android/exoplayer2/util/Clock;
.line 108
new-instance v0, Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
.line 109
new-instance v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-direct {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
.line 110
new-instance v0, Lcom/google/android/exoplayer2/Timeline$Window;
invoke-direct {v0}, Lcom/google/android/exoplayer2/Timeline$Window;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->window:Lcom/google/android/exoplayer2/Timeline$Window;
.line 111
return-void
.end method
.method private generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 7
.param p1, "mediaPeriodInfo" # Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
.line 641
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 642
if-nez p1, :cond_30
.line 643
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v0}, Lcom/google/android/exoplayer2/Player;->getCurrentWindowIndex()I
move-result v0
.line 644
.local v0, "windowIndex":I
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v1, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->tryResolveWindowIndex(I)Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object p1
.line 645
if-nez p1, :cond_30
.line 646
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v1
.line 647
.local v1, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v2
if-ge v0, v2, :cond_23
const/4 v2, 0x1
goto :goto_24
:cond_23
const/4 v2, 0x0
.line 648
.local v2, "windowIsInTimeline":Z
:goto_24
if-eqz v2, :cond_28
move-object v3, v1
goto :goto_2a
:cond_28
sget-object v3, Lcom/google/android/exoplayer2/Timeline;->EMPTY:Lcom/google/android/exoplayer2/Timeline;
:goto_2a
const/4 v4, 0x0
invoke-virtual {p0, v3, v0, v4}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v3
return-object v3
.line 652
.end local v0 # "windowIndex":I
.end local v1 # "timeline":Lcom/google/android/exoplayer2/Timeline;
.end local v2 # "windowIsInTimeline":Z
:cond_30
iget-object v0, p1, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;->timeline:Lcom/google/android/exoplayer2/Timeline;
iget v1, p1, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;->windowIndex:I
iget-object v2, p1, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;->mediaPeriodId:Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
invoke-virtual {p0, v0, v1, v2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
return-object v0
.end method
.method private generateLastReportedPlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 2
.line 657
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->getLastReportedPlayingMediaPeriod()Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
return-object v0
.end method
.method private generateLoadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 2
.line 669
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->getLoadingMediaPeriod()Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
return-object v0
.end method
.method private generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 7
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.line 674
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 675
if-eqz p2, :cond_1b
.line 676
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->getMediaPeriodInfo(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object v0
.line 677
.local v0, "mediaPeriodInfo":Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
if-eqz v0, :cond_14
.line 678
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v1
goto :goto_1a
:cond_14
sget-object v1, Lcom/google/android/exoplayer2/Timeline;->EMPTY:Lcom/google/android/exoplayer2/Timeline;
.line 679
invoke-virtual {p0, v1, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v1
.line 677
:goto_1a
return-object v1
.line 681
.end local v0 # "mediaPeriodInfo":Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
:cond_1b
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v0}, Lcom/google/android/exoplayer2/Player;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v0
.line 682
.local v0, "timeline":Lcom/google/android/exoplayer2/Timeline;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/Timeline;->getWindowCount()I
move-result v1
if-ge p1, v1, :cond_29
const/4 v1, 0x1
goto :goto_2a
:cond_29
const/4 v1, 0x0
.line 683
.local v1, "windowIsInTimeline":Z
:goto_2a
if-eqz v1, :cond_2e
move-object v2, v0
goto :goto_30
:cond_2e
sget-object v2, Lcom/google/android/exoplayer2/Timeline;->EMPTY:Lcom/google/android/exoplayer2/Timeline;
:goto_30
const/4 v3, 0x0
invoke-virtual {p0, v2, p1, v3}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v2
return-object v2
.end method
.method private generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 2
.line 661
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->getPlayingMediaPeriod()Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
return-object v0
.end method
.method private generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 2
.line 665
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->getReadingMediaPeriod()Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateEventTime(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
return-object v0
.end method
# virtual methods
.method public addListener(Lcom/google/android/exoplayer2/analytics/AnalyticsListener;)V
.registers 3
.param p1, "listener" # Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 119
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArraySet;->add(Ljava/lang/Object;)Z
.line 120
return-void
.end method
.method protected generateEventTime(Lcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
.registers 26
.param p1, "timeline" # Lcom/google/android/exoplayer2/Timeline;
.param p2, "windowIndex" # I
.param p3, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.annotation runtime Lorg/checkerframework/checker/nullness/qual/RequiresNonNull;
value = {
"player"
}
.end annotation
.line 607
move-object/from16 v0, p0
move-object/from16 v13, p1
move/from16 v14, p2
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_f
.line 609
const/4 v1, 0x0
move-object v15, v1
.end local p3 # "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.local v1, "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
goto :goto_11
.line 607
.end local v1 # "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.restart local p3 # "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
:cond_f
move-object/from16 v15, p3
.line 611
.end local p3 # "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.local v15, "mediaPeriodId":Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
:goto_11
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->clock:Lcom/google/android/exoplayer2/util/Clock;
invoke-interface {v1}, Lcom/google/android/exoplayer2/util/Clock;->elapsedRealtime()J
move-result-wide v16
.line 613
.local v16, "realtimeMs":J
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 614
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentTimeline()Lcom/google/android/exoplayer2/Timeline;
move-result-object v1
const/4 v2, 0x1
const/4 v3, 0x0
if-ne v13, v1, :cond_2b
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentWindowIndex()I
move-result v1
if-ne v14, v1, :cond_2b
const/4 v1, 0x1
goto :goto_2c
:cond_2b
const/4 v1, 0x0
:goto_2c
move/from16 v18, v1
.line 615
.local v18, "isInCurrentWindow":Z
const-wide/16 v4, 0x0
if-eqz v15, :cond_5d
invoke-virtual {v15}, Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;->isAd()Z
move-result v1
if-eqz v1, :cond_5d
.line 616
if-eqz v18, :cond_4f
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 618
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentAdGroupIndex()I
move-result v1
iget v6, v15, Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;->adGroupIndex:I
if-ne v1, v6, :cond_4f
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 619
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentAdIndexInAdGroup()I
move-result v1
iget v6, v15, Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;->adIndexInAdGroup:I
if-ne v1, v6, :cond_4f
goto :goto_50
:cond_4f
const/4 v2, 0x0
:goto_50
move v1, v2
.line 621
.local v1, "isCurrentAd":Z
if-eqz v1, :cond_59
iget-object v2, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v2}, Lcom/google/android/exoplayer2/Player;->getCurrentPosition()J
move-result-wide v4
:cond_59
move-wide v1, v4
.line 622
.local v1, "eventPositionMs":J
move-wide/from16 v19, v1
goto :goto_7d
.end local v1 # "eventPositionMs":J
:cond_5d
if-eqz v18, :cond_68
.line 623
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getContentPosition()J
move-result-wide v1
move-wide/from16 v19, v1
.restart local v1 # "eventPositionMs":J
goto :goto_7d
.line 627
.end local v1 # "eventPositionMs":J
:cond_68
nop
.line 628
invoke-virtual/range {p1 .. p1}, Lcom/google/android/exoplayer2/Timeline;->isEmpty()Z
move-result v1
if-eqz v1, :cond_70
goto :goto_7a
:cond_70
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->window:Lcom/google/android/exoplayer2/Timeline$Window;
invoke-virtual {v13, v14, v1}, Lcom/google/android/exoplayer2/Timeline;->getWindow(ILcom/google/android/exoplayer2/Timeline$Window;)Lcom/google/android/exoplayer2/Timeline$Window;
move-result-object v1
invoke-virtual {v1}, Lcom/google/android/exoplayer2/Timeline$Window;->getDefaultPositionMs()J
move-result-wide v4
:goto_7a
move-wide v1, v4
move-wide/from16 v19, v1
.line 630
.local v19, "eventPositionMs":J
:goto_7d
new-instance v21, Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 636
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getCurrentPosition()J
move-result-wide v9
iget-object v1, v0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 637
invoke-interface {v1}, Lcom/google/android/exoplayer2/Player;->getTotalBufferedDuration()J
move-result-wide v11
move-object/from16 v1, v21
move-wide/from16 v2, v16
move-object/from16 v4, p1
move/from16 v5, p2
move-object v6, v15
move-wide/from16 v7, v19
invoke-direct/range {v1 .. v12}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;-><init>(JLcom/google/android/exoplayer2/Timeline;ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;JJJ)V
.line 630
return-object v21
.end method
.method protected getListeners()Ljava/util/Set;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Lcom/google/android/exoplayer2/analytics/AnalyticsListener;",
">;"
}
.end annotation
.line 600
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method public final notifySeekStarted()V
.registers 4
.line 149
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->isSeeking()Z
move-result v0
if-nez v0, :cond_27
.line 150
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 151
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v1}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onSeekStarted()V
.line 152
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_17
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_27
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 153
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onSeekStarted(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 154
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_17
.line 156
.end local v0 # "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
:cond_27
return-void
.end method
.method public onAudioAttributesChanged(Lcom/google/android/exoplayer2/audio/AudioAttributes;)V
.registers 5
.param p1, "audioAttributes" # Lcom/google/android/exoplayer2/audio/AudioAttributes;
.line 241
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 242
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 243
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onAudioAttributesChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/audio/AudioAttributes;)V
.line 244
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 245
:cond_1a
return-void
.end method
.method public final onAudioDecoderInitialized(Ljava/lang/String;JJ)V
.registers 15
.param p1, "decoderName" # Ljava/lang/String;
.param p2, "initializedTimestampMs" # J
.param p4, "initializationDurationMs" # J
.line 195
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v6
.line 196
.local v6, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_a
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_20
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v8, v0
check-cast v8, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 197
.local v8, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v2, 0x1
move-object v0, v8
move-object v1, v6
move-object v3, p1
move-wide v4, p4
invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderInitialized(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILjava/lang/String;J)V
.line 199
.end local v8 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 200
:cond_20
return-void
.end method
.method public final onAudioDisabled(Lcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.registers 6
.param p1, "counters" # Lcom/google/android/exoplayer2/decoder/DecoderCounters;
.line 223
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateLastReportedPlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 224
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 225
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x1
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderDisabled(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.line 226
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 227
:cond_1b
return-void
.end method
.method public final onAudioEnabled(Lcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.registers 6
.param p1, "counters" # Lcom/google/android/exoplayer2/decoder/DecoderCounters;
.line 186
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 187
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 188
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x1
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderEnabled(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.line 189
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 190
:cond_1b
return-void
.end method
.method public final onAudioInputFormatChanged(Lcom/google/android/exoplayer2/Format;)V
.registers 6
.param p1, "format" # Lcom/google/android/exoplayer2/Format;
.line 204
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 205
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 206
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x1
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderInputFormatChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/Format;)V
.line 207
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 208
:cond_1b
return-void
.end method
.method public final onAudioSessionId(I)V
.registers 5
.param p1, "audioSessionId" # I
.line 233
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 234
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 235
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onAudioSessionId(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;I)V
.line 236
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 237
:cond_1a
return-void
.end method
.method public final onAudioSinkUnderrun(IJJ)V
.registers 16
.param p1, "bufferSize" # I
.param p2, "bufferSizeMs" # J
.param p4, "elapsedSinceLastFeedMs" # J
.line 213
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v7
.line 214
.local v7, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v8
:goto_a
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_20
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v9, v0
check-cast v9, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 215
.local v9, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
move-object v0, v9
move-object v1, v7
move v2, p1
move-wide v3, p2
move-wide v5, p4
invoke-interface/range {v0 .. v6}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onAudioUnderrun(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;IJJ)V
.line 216
.end local v9 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 217
:cond_20
return-void
.end method
.method public final onBandwidthSample(IJJ)V
.registers 16
.param p1, "elapsedMs" # I
.param p2, "bytes" # J
.param p4, "bitrate" # J
.line 540
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateLoadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v7
.line 541
.local v7, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v8
:goto_a
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_20
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v9, v0
check-cast v9, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 542
.local v9, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
move-object v0, v9
move-object v1, v7
move v2, p1
move-wide v3, p2
move-wide v5, p4
invoke-interface/range {v0 .. v6}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onBandwidthEstimate(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;IJJ)V
.line 543
.end local v9 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 544
:cond_20
return-void
.end method
.method public final onDownstreamFormatChanged(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.registers 7
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.line 437
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 438
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 439
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDownstreamFormatChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.line 440
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 441
:cond_1a
return-void
.end method
.method public final onDrmKeysLoaded()V
.registers 4
.line 558
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 559
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 560
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmKeysLoaded(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 561
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 562
:cond_1a
return-void
.end method
.method public final onDrmKeysRemoved()V
.registers 4
.line 582
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 583
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 584
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmKeysRemoved(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 585
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 586
:cond_1a
return-void
.end method
.method public final onDrmKeysRestored()V
.registers 4
.line 574
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 575
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 576
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmKeysRestored(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 577
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 578
:cond_1a
return-void
.end method
.method public final onDrmSessionAcquired()V
.registers 4
.line 550
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 551
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 552
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmSessionAcquired(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 553
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 554
:cond_1a
return-void
.end method
.method public final onDrmSessionManagerError(Ljava/lang/Exception;)V
.registers 5
.param p1, "error" # Ljava/lang/Exception;
.line 566
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 567
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 568
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmSessionManagerError(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Ljava/lang/Exception;)V
.line 569
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 570
:cond_1a
return-void
.end method
.method public final onDrmSessionReleased()V
.registers 4
.line 590
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateLastReportedPlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 591
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 592
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDrmSessionReleased(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 593
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 594
:cond_1a
return-void
.end method
.method public final onDroppedFrames(IJ)V
.registers 7
.param p1, "count" # I
.param p2, "elapsedMs" # J
.line 286
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateLastReportedPlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 287
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 288
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1, p2, p3}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDroppedVideoFrames(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;IJ)V
.line 289
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 290
:cond_1a
return-void
.end method
.method public final onLoadCanceled(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.registers 8
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "loadEventInfo" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;
.param p4, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.line 396
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 397
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 398
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3, p4}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onLoadCanceled(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.line 399
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 400
:cond_1a
return-void
.end method
.method public final onLoadCompleted(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.registers 8
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "loadEventInfo" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;
.param p4, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.line 384
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 385
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 386
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3, p4}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onLoadCompleted(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.line 387
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 388
:cond_1a
return-void
.end method
.method public final onLoadError(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;Ljava/io/IOException;Z)V
.registers 16
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "loadEventInfo" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;
.param p4, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.param p5, "error" # Ljava/io/IOException;
.param p6, "wasCanceled" # Z
.line 410
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v6
.line 411
.local v6, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_a
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_21
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v8, v0
check-cast v8, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 412
.local v8, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
move-object v0, v8
move-object v1, v6
move-object v2, p3
move-object v3, p4
move-object v4, p5
move v5, p6
invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onLoadError(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;Ljava/io/IOException;Z)V
.line 413
.end local v8 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 414
:cond_21
return-void
.end method
.method public final onLoadStarted(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.registers 8
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "loadEventInfo" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;
.param p4, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.line 372
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 373
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 374
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3, p4}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onLoadStarted(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$LoadEventInfo;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.line 375
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 376
:cond_1a
return-void
.end method
.method public final onLoadingChanged(Z)V
.registers 5
.param p1, "isLoading" # Z
.line 470
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 471
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 472
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onLoadingChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Z)V
.line 473
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 474
:cond_1a
return-void
.end method
.method public final onMediaPeriodCreated(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.registers 6
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.line 349
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onMediaPeriodCreated(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.line 350
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 351
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1f
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 352
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onMediaPeriodCreated(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 353
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_f
.line 354
:cond_1f
return-void
.end method
.method public final onMediaPeriodReleased(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.registers 6
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.line 358
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 359
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onMediaPeriodReleased(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Z
move-result v1
if-eqz v1, :cond_22
.line 360
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_12
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_22
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 361
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onMediaPeriodReleased(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 362
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_12
.line 364
:cond_22
return-void
.end method
.method public final onMetadata(Lcom/google/android/exoplayer2/metadata/Metadata;)V
.registers 5
.param p1, "metadata" # Lcom/google/android/exoplayer2/metadata/Metadata;
.line 175
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 176
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 177
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onMetadata(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/metadata/Metadata;)V
.line 178
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 179
:cond_1a
return-void
.end method
.method public final onPlaybackParametersChanged(Lcom/google/android/exoplayer2/PlaybackParameters;)V
.registers 5
.param p1, "playbackParameters" # Lcom/google/android/exoplayer2/PlaybackParameters;
.line 519
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 520
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 521
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onPlaybackParametersChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/PlaybackParameters;)V
.line 522
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 523
:cond_1a
return-void
.end method
.method public final onPlayerError(Lcom/google/android/exoplayer2/ExoPlaybackException;)V
.registers 5
.param p1, "error" # Lcom/google/android/exoplayer2/ExoPlaybackException;
.line 502
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 503
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 504
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onPlayerError(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/ExoPlaybackException;)V
.line 505
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 506
:cond_1a
return-void
.end method
.method public final onPlayerStateChanged(ZI)V
.registers 6
.param p1, "playWhenReady" # Z
.param p2, "playbackState" # I
.line 478
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 479
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 480
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onPlayerStateChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ZI)V
.line 481
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 482
:cond_1a
return-void
.end method
.method public final onPositionDiscontinuity(I)V
.registers 5
.param p1, "reason" # I
.line 510
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onPositionDiscontinuity(I)V
.line 511
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 512
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1f
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 513
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onPositionDiscontinuity(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;I)V
.line 514
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_f
.line 515
:cond_1f
return-void
.end method
.method public final onReadingStarted(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.registers 6
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.line 418
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onReadingStarted(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.line 419
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 420
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1f
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 421
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onReadingStarted(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 422
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_f
.line 423
:cond_1f
return-void
.end method
.method public final onRenderedFirstFrame()V
.registers 1
.line 325
return-void
.end method
.method public final onRenderedFirstFrame(Landroid/view/Surface;)V
.registers 5
.param p1, "surface" # Landroid/view/Surface;
.line 304
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 305
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 306
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onRenderedFirstFrame(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Landroid/view/Surface;)V
.line 307
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 308
:cond_1a
return-void
.end method
.method public final onRepeatModeChanged(I)V
.registers 5
.param p1, "repeatMode" # I
.line 486
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 487
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 488
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onRepeatModeChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;I)V
.line 489
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 490
:cond_1a
return-void
.end method
.method public final onSeekProcessed()V
.registers 4
.line 527
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->isSeeking()Z
move-result v0
if-eqz v0, :cond_27
.line 528
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onSeekProcessed()V
.line 529
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 530
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_17
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_27
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 531
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onSeekProcessed(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;)V
.line 532
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_17
.line 534
.end local v0 # "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
:cond_27
return-void
.end method
.method public final onShuffleModeEnabledChanged(Z)V
.registers 5
.param p1, "shuffleModeEnabled" # Z
.line 494
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 495
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 496
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onShuffleModeChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Z)V
.line 497
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 498
:cond_1a
return-void
.end method
.method public onSurfaceDestroyed(Landroid/graphics/SurfaceTexture;)Z
.registers 3
.param p1, "surfaceTexture" # Landroid/graphics/SurfaceTexture;
.line 314
const/4 v0, 0x0
return v0
.end method
.method public onSurfaceSizeChanged(II)V
.registers 6
.param p1, "width" # I
.param p2, "height" # I
.line 339
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 340
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 341
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onSurfaceSizeChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;II)V
.line 342
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 343
:cond_1a
return-void
.end method
.method public onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V
.registers 2
.param p1, "surfaceTexture" # Landroid/graphics/SurfaceTexture;
.line 320
return-void
.end method
.method public final onTimelineChanged(Lcom/google/android/exoplayer2/Timeline;Ljava/lang/Object;I)V
.registers 7
.param p1, "timeline" # Lcom/google/android/exoplayer2/Timeline;
.param p2, "manifest" # Ljava/lang/Object;
.param p3, "reason" # I
.line 452
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->onTimelineChanged(Lcom/google/android/exoplayer2/Timeline;)V
.line 453
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 454
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1f
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 455
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onTimelineChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;I)V
.line 456
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_f
.line 457
:cond_1f
return-void
.end method
.method public final onTracksChanged(Lcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/TrackSelectionArray;)V
.registers 6
.param p1, "trackGroups" # Lcom/google/android/exoplayer2/source/TrackGroupArray;
.param p2, "trackSelections" # Lcom/google/android/exoplayer2/trackselection/TrackSelectionArray;
.line 462
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 463
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 464
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onTracksChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/TrackGroupArray;Lcom/google/android/exoplayer2/trackselection/TrackSelectionArray;)V
.line 465
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 466
:cond_1a
return-void
.end method
.method public final onUpstreamDiscarded(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.registers 7
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "mediaLoadData" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;
.line 428
invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateMediaPeriodEventTime(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 429
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 430
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p3}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onUpstreamDiscarded(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;Lcom/google/android/exoplayer2/source/MediaSourceEventListener$MediaLoadData;)V
.line 431
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 432
:cond_1a
return-void
.end method
.method public final onVideoDecoderInitialized(Ljava/lang/String;JJ)V
.registers 15
.param p1, "decoderName" # Ljava/lang/String;
.param p2, "initializedTimestampMs" # J
.param p4, "initializationDurationMs" # J
.line 269
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v6
.line 270
.local v6, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_a
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_20
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v8, v0
check-cast v8, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 271
.local v8, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v2, 0x2
move-object v0, v8
move-object v1, v6
move-object v3, p1
move-wide v4, p4
invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderInitialized(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILjava/lang/String;J)V
.line 273
.end local v8 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 274
:cond_20
return-void
.end method
.method public final onVideoDisabled(Lcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.registers 6
.param p1, "counters" # Lcom/google/android/exoplayer2/decoder/DecoderCounters;
.line 296
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateLastReportedPlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 297
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 298
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x2
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderDisabled(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.line 299
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 300
:cond_1b
return-void
.end method
.method public final onVideoEnabled(Lcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.registers 6
.param p1, "counters" # Lcom/google/android/exoplayer2/decoder/DecoderCounters;
.line 260
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generatePlayingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 261
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 262
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x2
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderEnabled(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/decoder/DecoderCounters;)V
.line 263
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 264
:cond_1b
return-void
.end method
.method public final onVideoInputFormatChanged(Lcom/google/android/exoplayer2/Format;)V
.registers 6
.param p1, "format" # Lcom/google/android/exoplayer2/Format;
.line 278
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 279
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 280
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
const/4 v3, 0x2
invoke-interface {v2, v0, v3, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onDecoderInputFormatChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;ILcom/google/android/exoplayer2/Format;)V
.line 281
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 282
:cond_1b
return-void
.end method
.method public final onVideoSizeChanged(IIIF)V
.registers 14
.param p1, "width" # I
.param p2, "height" # I
.param p3, "unappliedRotationDegrees" # I
.param p4, "pixelWidthHeightRatio" # F
.line 330
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v6
.line 331
.local v6, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_a
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_21
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v8, v0
check-cast v8, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 332
.local v8, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
move-object v0, v8
move-object v1, v6
move v2, p1
move v3, p2
move v4, p3
move v5, p4
invoke-interface/range {v0 .. v5}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onVideoSizeChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;IIIF)V
.line 334
.end local v8 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 335
:cond_21
return-void
.end method
.method public onVolumeChanged(F)V
.registers 5
.param p1, "audioVolume" # F
.line 249
invoke-direct {p0}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->generateReadingMediaPeriodEventTime()Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
move-result-object v0
.line 250
.local v0, "eventTime":Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1a
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 251
.local v2, "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
invoke-interface {v2, v0, p1}, Lcom/google/android/exoplayer2/analytics/AnalyticsListener;->onVolumeChanged(Lcom/google/android/exoplayer2/analytics/AnalyticsListener$EventTime;F)V
.line 252
.end local v2 # "listener":Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
goto :goto_a
.line 253
:cond_1a
return-void
.end method
.method public removeListener(Lcom/google/android/exoplayer2/analytics/AnalyticsListener;)V
.registers 3
.param p1, "listener" # Lcom/google/android/exoplayer2/analytics/AnalyticsListener;
.line 128
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->listeners:Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-virtual {v0, p1}, Ljava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z
.line 129
return-void
.end method
.method public final resetForNewMediaSource()V
.registers 6
.line 164
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->mediaPeriodQueueTracker:Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;
.line 165
invoke-static {v1}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;->access$000(Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodQueueTracker;)Ljava/util/ArrayList;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
.line 166
.local v0, "mediaPeriodInfos":Ljava/util/List;, "Ljava/util/List<Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;>;"
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_23
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
.line 167
.local v2, "mediaPeriodInfo":Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
iget v3, v2, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;->windowIndex:I
iget-object v4, v2, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;->mediaPeriodId:Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
invoke-virtual {p0, v3, v4}, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->onMediaPeriodReleased(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)V
.line 168
.end local v2 # "mediaPeriodInfo":Lcom/google/android/exoplayer2/analytics/AnalyticsCollector$MediaPeriodInfo;
goto :goto_f
.line 169
:cond_23
return-void
.end method
.method public setPlayer(Lcom/google/android/exoplayer2/Player;)V
.registers 3
.param p1, "player" # Lcom/google/android/exoplayer2/Player;
.line 138
iget-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
if-nez v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
invoke-static {v0}, Lcom/google/android/exoplayer2/util/Assertions;->checkState(Z)V
.line 139
invoke-static {p1}, Lcom/google/android/exoplayer2/util/Assertions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/android/exoplayer2/Player;
iput-object v0, p0, Lcom/google/android/exoplayer2/analytics/AnalyticsCollector;->player:Lcom/google/android/exoplayer2/Player;
.line 140
return-void
.end method