BaseMediaSource.smali
.class public abstract Lcom/google/android/exoplayer2/source/BaseMediaSource;
.super Ljava/lang/Object;
.source "BaseMediaSource.java"
# interfaces
.implements Lcom/google/android/exoplayer2/source/MediaSource;
# instance fields
.field private final eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.field private looper:Landroid/os/Looper;
.field private manifest:Ljava/lang/Object;
.field private final sourceInfoListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;",
">;"
}
.end annotation
.end field
.field private timeline:Lcom/google/android/exoplayer2/Timeline;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 3
.line 42
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 43
new-instance v0, Ljava/util/ArrayList;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->sourceInfoListeners:Ljava/util/ArrayList;
.line 44
new-instance v0, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-direct {v0}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;-><init>()V
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.line 45
return-void
.end method
# virtual methods
.method public final addEventListener(Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 4
.param p1, "handler" # Landroid/os/Handler;
.param p2, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.line 123
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v0, p1, p2}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->addEventListener(Landroid/os/Handler;Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.line 124
return-void
.end method
.method protected final createEventDispatcher(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;J)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.registers 6
.param p1, "windowIndex" # I
.param p2, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p3, "mediaTimeOffsetMs" # J
.line 118
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->withParameters(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;J)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v0
return-object v0
.end method
.method protected final createEventDispatcher(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.registers 6
.param p1, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.line 88
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
const/4 v1, 0x0
const-wide/16 v2, 0x0
invoke-virtual {v0, v1, p1, v2, v3}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->withParameters(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;J)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v0
return-object v0
.end method
.method protected final createEventDispatcher(Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;J)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
.registers 6
.param p1, "mediaPeriodId" # Lcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;
.param p2, "mediaTimeOffsetMs" # J
.line 102
const/4 v0, 0x0
if-eqz p1, :cond_5
const/4 v1, 0x1
goto :goto_6
:cond_5
const/4 v1, 0x0
:goto_6
invoke-static {v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 103
iget-object v1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v1, v0, p1, p2, p3}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->withParameters(ILcom/google/android/exoplayer2/source/MediaSource$MediaPeriodId;J)Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
move-result-object v0
return-object v0
.end method
.method public synthetic getTag()Ljava/lang/Object;
.registers 2
invoke-static {p0}, Lcom/google/android/exoplayer2/source/MediaSource$-CC;->$default$getTag(Lcom/google/android/exoplayer2/source/MediaSource;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public final prepareSource(Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.registers 6
.param p1, "listener" # Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;
.param p2, "mediaTransferListener" # Lcom/google/android/exoplayer2/upstream/TransferListener;
.line 135
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v0
.line 136
.local v0, "looper":Landroid/os/Looper;
iget-object v1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->looper:Landroid/os/Looper;
if-eqz v1, :cond_d
if-ne v1, v0, :cond_b
goto :goto_d
:cond_b
const/4 v1, 0x0
goto :goto_e
:cond_d
:goto_d
const/4 v1, 0x1
:goto_e
invoke-static {v1}, Lcom/google/android/exoplayer2/util/Assertions;->checkArgument(Z)V
.line 137
iget-object v1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->sourceInfoListeners:Ljava/util/ArrayList;
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 138
iget-object v1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->looper:Landroid/os/Looper;
if-nez v1, :cond_20
.line 139
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->looper:Landroid/os/Looper;
.line 140
invoke-virtual {p0, p2}, Lcom/google/android/exoplayer2/source/BaseMediaSource;->prepareSourceInternal(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
goto :goto_29
.line 141
:cond_20
iget-object v1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->timeline:Lcom/google/android/exoplayer2/Timeline;
if-eqz v1, :cond_29
.line 142
iget-object v2, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->manifest:Ljava/lang/Object;
invoke-interface {p1, p0, v1, v2}, Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;->onSourceInfoRefreshed(Lcom/google/android/exoplayer2/source/MediaSource;Lcom/google/android/exoplayer2/Timeline;Ljava/lang/Object;)V
.line 144
:cond_29
:goto_29
return-void
.end method
.method protected abstract prepareSourceInternal(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.end method
.method protected final refreshSourceInfo(Lcom/google/android/exoplayer2/Timeline;Ljava/lang/Object;)V
.registers 5
.param p1, "timeline" # Lcom/google/android/exoplayer2/Timeline;
.param p2, "manifest" # Ljava/lang/Object;
.line 71
iput-object p1, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->timeline:Lcom/google/android/exoplayer2/Timeline;
.line 72
iput-object p2, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->manifest:Ljava/lang/Object;
.line 73
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->sourceInfoListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_a
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1a
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;
.line 74
.local v1, "listener":Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;
invoke-interface {v1, p0, p1, p2}, Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;->onSourceInfoRefreshed(Lcom/google/android/exoplayer2/source/MediaSource;Lcom/google/android/exoplayer2/Timeline;Ljava/lang/Object;)V
.line 75
.end local v1 # "listener":Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;
goto :goto_a
.line 76
:cond_1a
return-void
.end method
.method public final releaseSource(Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;)V
.registers 3
.param p1, "listener" # Lcom/google/android/exoplayer2/source/MediaSource$SourceInfoRefreshListener;
.line 148
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->sourceInfoListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 149
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->sourceInfoListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-eqz v0, :cond_17
.line 150
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->looper:Landroid/os/Looper;
.line 151
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->timeline:Lcom/google/android/exoplayer2/Timeline;
.line 152
iput-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->manifest:Ljava/lang/Object;
.line 153
invoke-virtual {p0}, Lcom/google/android/exoplayer2/source/BaseMediaSource;->releaseSourceInternal()V
.line 155
:cond_17
return-void
.end method
.method protected abstract releaseSourceInternal()V
.end method
.method public final removeEventListener(Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.registers 3
.param p1, "eventListener" # Lcom/google/android/exoplayer2/source/MediaSourceEventListener;
.line 128
iget-object v0, p0, Lcom/google/android/exoplayer2/source/BaseMediaSource;->eventDispatcher:Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;
invoke-virtual {v0, p1}, Lcom/google/android/exoplayer2/source/MediaSourceEventListener$EventDispatcher;->removeEventListener(Lcom/google/android/exoplayer2/source/MediaSourceEventListener;)V
.line 129
return-void
.end method