CacheDataSinkFactory.smali

.class public final Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
.super Ljava/lang/Object;
.source "CacheDataSinkFactory.java"

# interfaces
.implements Lcom/google/android/exoplayer2/upstream/DataSink$Factory;


# instance fields
.field private final bufferSize:I

.field private final cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;

.field private final fragmentSize:J

.field private respectCacheFragmentationFlag:Z

.field private syncFileDescriptor:Z


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;J)V
    .registers 5
    .param p1, "cache"    # Lcom/google/android/exoplayer2/upstream/cache/Cache;
    .param p2, "fragmentSize"    # J

    .line 34
    const/16 v0, 0x5000

    invoke-direct {p0, p1, p2, p3, v0}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;JI)V

    .line 35
    return-void
.end method

.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;JI)V
    .registers 5
    .param p1, "cache"    # Lcom/google/android/exoplayer2/upstream/cache/Cache;
    .param p2, "fragmentSize"    # J
    .param p4, "bufferSize"    # I

    .line 38
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 39
    iput-object p1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;

    .line 40
    iput-wide p2, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->fragmentSize:J

    .line 41
    iput p4, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->bufferSize:I

    .line 42
    return-void
.end method


# virtual methods
.method public createDataSink()Lcom/google/android/exoplayer2/upstream/DataSink;
    .registers 6

    .line 67
    new-instance v0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSink;

    iget-object v1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->cache:Lcom/google/android/exoplayer2/upstream/cache/Cache;

    iget-wide v2, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->fragmentSize:J

    iget v4, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->bufferSize:I

    invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSink;-><init>(Lcom/google/android/exoplayer2/upstream/cache/Cache;JI)V

    .line 68
    .local v0, "dataSink":Lcom/google/android/exoplayer2/upstream/cache/CacheDataSink;
    iget-boolean v1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->syncFileDescriptor:Z

    invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSink;->experimental_setSyncFileDescriptor(Z)V

    .line 69
    iget-boolean v1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->respectCacheFragmentationFlag:Z

    invoke-virtual {v0, v1}, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSink;->experimental_setRespectCacheFragmentationFlag(Z)V

    .line 70
    return-object v0
.end method

.method public experimental_setRespectCacheFragmentationFlag(Z)Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
    .registers 2
    .param p1, "respectCacheFragmentationFlag"    # Z

    .line 61
    iput-boolean p1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->respectCacheFragmentationFlag:Z

    .line 62
    return-object p0
.end method

.method public experimental_setSyncFileDescriptor(Z)Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;
    .registers 2
    .param p1, "syncFileDescriptor"    # Z

    .line 50
    iput-boolean p1, p0, Lcom/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory;->syncFileDescriptor:Z

    .line 51
    return-object p0
.end method