CacheDataSourceFactory.smali
.class public final Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
.super Ljava/lang/Object;
.source "CacheDataSourceFactory.java"
# interfaces
.implements Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
# instance fields
.field private final cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;
.field private final cacheKeyFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.field private final cacheReadDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.field private final cacheWriteDataSinkFactory:Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.field private final eventListener:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;
.field private final flags:I
.field private final upstreamFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;)V
.registers 4
.param p1, "cache" # Lcom/google/android/exoplayer2/upstream/cache/Cache;
.param p2, "upstreamFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 43
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;I)V
.line 44
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;I)V
.registers 11
.param p1, "cache" # Lcom/google/android/exoplayer2/upstream/cache/Cache;
.param p2, "upstreamFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "flags" # I
.line 49
new-instance v3, Lcom/google/android/exoplayer2/upstream/FileDataSourceFactory;
invoke-direct {v3}, Lcom/google/android/exoplayer2/upstream/FileDataSourceFactory;-><init>()V
new-instance v4, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
const-wide/32 v0, 0x500000
invoke-direct {v4, p1, v0, v1}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;J)V
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v5, p3
invoke-direct/range {v0 .. v6}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSink$Factory;ILcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;)V
.line 56
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSink$Factory;ILcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;)V
.registers 15
.param p1, "cache" # Lcom/google/android/exoplayer2/upstream/cache/Cache;
.param p2, "upstreamFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "cacheReadDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p4, "cacheWriteDataSinkFactory" # Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.param p5, "flags" # I
.param p6, "eventListener" # Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;
.line 69
const/4 v7, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
move-object v6, p6
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSink$Factory;ILcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;)V
.line 77
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/upstream/DataSink$Factory;ILcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;)V
.registers 8
.param p1, "cache" # Lcom/google/android/exoplayer2/upstream/cache/Cache;
.param p2, "upstreamFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p3, "cacheReadDataSourceFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.param p4, "cacheWriteDataSinkFactory" # Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.param p5, "flags" # I
.param p6, "eventListener" # Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;
.param p7, "cacheKeyFactory" # Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.line 90
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 91
iput-object p1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;
.line 92
iput-object p2, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->upstreamFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 93
iput-object p3, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheReadDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 94
iput-object p4, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheWriteDataSinkFactory:Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.line 95
iput p5, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->flags:I
.line 96
iput-object p6, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->eventListener:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;
.line 97
iput-object p7, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheKeyFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.line 98
return-void
.end method
# virtual methods
.method public bridge synthetic createDataSource()Lcom/google/android/exoplayer2/upstream/DataSource;
.registers 2
.line 24
invoke-virtual {p0}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->createDataSource()Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
move-result-object v0
return-object v0
.end method
.method public createDataSource()Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
.registers 10
.line 102
new-instance v8, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
iget-object v1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;
iget-object v0, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->upstreamFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 104
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/DataSource$Factory;->createDataSource()Lcom/google/android/exoplayer2/upstream/DataSource;
move-result-object v2
iget-object v0, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheReadDataSourceFactory:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 105
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/DataSource$Factory;->createDataSource()Lcom/google/android/exoplayer2/upstream/DataSource;
move-result-object v3
iget-object v0, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheWriteDataSinkFactory:Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
if-nez v0, :cond_17
const/4 v0, 0x0
move-object v4, v0
goto :goto_1c
.line 106
:cond_17
invoke-interface {v0}, Lcom/google/android/exoplayer2/upstream/DataSink$Factory;->createDataSink()Lcom/google/android/exoplayer2/upstream/DataSink;
move-result-object v0
move-object v4, v0
:goto_1c
iget v5, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->flags:I
iget-object v6, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->eventListener:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;
iget-object v7, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;->cacheKeyFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
move-object v0, v8
invoke-direct/range {v0 .. v7}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSource;Lcom/google/android/exoplayer2/upstream/DataSink;ILcom/google/android/exoplayer2/upstream/cache/CacheDataSource$EventListener;Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;)V
.line 102
return-object v8
.end method