DownloaderConstructorHelper.smali
.class public final Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;
.super Ljava/lang/Object;
.source "DownloaderConstructorHelper.java"
# 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 offlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
.field private final onlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
.field private final priorityTaskManager:Lcom/google/android/exoplayer2/util/PriorityTaskManager;
# 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 9
.param p1, "cache" # Lcom/google/android/exoplayer2/upstream/cache/Cache;
.param p2, "upstreamFactory" # Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.line 49
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
invoke-direct/range {v0 .. v5}, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;-><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;Lcom/google/android/exoplayer2/util/PriorityTaskManager;)V
.line 55
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;Lcom/google/android/exoplayer2/util/PriorityTaskManager;)V
.registers 13
.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, "priorityTaskManager" # Lcom/google/android/exoplayer2/util/PriorityTaskManager;
.line 75
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p5
invoke-direct/range {v0 .. v6}, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;-><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;Lcom/google/android/exoplayer2/util/PriorityTaskManager;Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;)V
.line 82
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;Lcom/google/android/exoplayer2/util/PriorityTaskManager;Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;)V
.registers 24
.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, "priorityTaskManager" # Lcom/google/android/exoplayer2/util/PriorityTaskManager;
.param p6, "cacheKeyFactory" # Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.line 103
move-object/from16 v0, p0
move-object/from16 v13, p1
move-object/from16 v14, p5
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
.line 104
if-eqz v14, :cond_16
.line 105
new-instance v1, Lcom/google/android/exoplayer2/upstream/PriorityDataSourceFactory;
const/16 v2, -0x3e8
move-object/from16 v3, p2
invoke-direct {v1, v3, v14, v2}, Lcom/google/android/exoplayer2/upstream/PriorityDataSourceFactory;-><init>(Lcom/google/android/exoplayer2/upstream/DataSource$Factory;Lcom/google/android/exoplayer2/util/PriorityTaskManager;I)V
move-object v15, v1
.end local p2 # "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.local v1, "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
goto :goto_19
.line 104
.end local v1 # "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.restart local p2 # "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
:cond_16
move-object/from16 v3, p2
move-object v15, v3
.line 108
.end local p2 # "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
.local v15, "upstreamFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
:goto_19
if-eqz p3, :cond_1e
move-object/from16 v4, p3
goto :goto_24
:cond_1e
new-instance v1, Lcom/google/android/exoplayer2/upstream/FileDataSourceFactory;
invoke-direct {v1}, Lcom/google/android/exoplayer2/upstream/FileDataSourceFactory;-><init>()V
move-object v4, v1
.line 112
.local v4, "readDataSourceFactory":Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
:goto_24
if-nez p4, :cond_36
.line 113
new-instance v1, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
const-wide/32 v2, 0x500000
invoke-direct {v1, v13, v2, v3}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;J)V
.line 115
.local v1, "factory":Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->experimental_setRespectCacheFragmentationFlag(Z)Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
.line 116
move-object v2, v1
move-object/from16 v16, v2
.end local p4 # "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.local v2, "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
goto :goto_38
.line 112
.end local v1 # "factory":Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
.end local v2 # "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.restart local p4 # "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
:cond_36
move-object/from16 v16, p4
.line 118
.end local p4 # "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
.local v16, "cacheWriteDataSinkFactory":Lcom/google/android/exoplayer2/upstream/DataSink$Factory;
:goto_38
new-instance v9, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
const/4 v6, 0x1
const/4 v7, 0x0
move-object v1, v9
move-object/from16 v2, p1
move-object v3, v15
move-object/from16 v5, v16
move-object/from16 v8, p6
invoke-direct/range {v1 .. v8}, 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
iput-object v9, v0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->onlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
.line 127
new-instance v1, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
sget-object v7, Lcom/google/android/exoplayer2/upstream/DummyDataSource;->FACTORY:Lcom/google/android/exoplayer2/upstream/DataSource$Factory;
const/4 v9, 0x0
const/4 v10, 0x1
const/4 v11, 0x0
move-object v5, v1
move-object/from16 v6, p1
move-object v8, v4
move-object/from16 v12, p6
invoke-direct/range {v5 .. v12}, 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
iput-object v1, v0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->offlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
.line 136
iput-object v13, v0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;
.line 137
iput-object v14, v0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->priorityTaskManager:Lcom/google/android/exoplayer2/util/PriorityTaskManager;
.line 138
move-object/from16 v1, p6
iput-object v1, v0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->cacheKeyFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.line 139
return-void
.end method
# virtual methods
.method public createCacheDataSource()Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
.registers 2
.line 160
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->onlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
invoke-virtual {v0}, 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 createOfflineCacheDataSource()Lcom/google/android/exoplayer2/upstream/cache/CacheDataSource;
.registers 2
.line 168
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->offlineCacheDataSourceFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory;
invoke-virtual {v0}, 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 getCache()Lcom/google/android/exoplayer2/upstream/cache/Cache;
.registers 2
.line 143
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;
return-object v0
.end method
.method public getCacheKeyFactory()Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
.registers 2
.line 148
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->cacheKeyFactory:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
if-eqz v0, :cond_5
goto :goto_7
:cond_5
sget-object v0, Lcom/google/android/exoplayer2/upstream/cache/CacheUtil;->DEFAULT_CACHE_KEY_FACTORY:Lcom/google/android/exoplayer2/upstream/cache/CacheKeyFactory;
:goto_7
return-object v0
.end method
.method public getPriorityTaskManager()Lcom/google/android/exoplayer2/util/PriorityTaskManager;
.registers 2
.line 155
iget-object v0, p0, Lcom/google/android/exoplayer2/offline/DownloaderConstructorHelper;->priorityTaskManager:Lcom/google/android/exoplayer2/util/PriorityTaskManager;
if-eqz v0, :cond_5
goto :goto_a
:cond_5
new-instance v0, Lcom/google/android/exoplayer2/util/PriorityTaskManager;
invoke-direct {v0}, Lcom/google/android/exoplayer2/util/PriorityTaskManager;-><init>()V
:goto_a
return-object v0
.end method