DownloadTask$Builder.smali
.class public Lcom/liulishuo/okdownload/DownloadTask$Builder;
.super Ljava/lang/Object;
.source "DownloadTask.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/liulishuo/okdownload/DownloadTask;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# static fields
.field public static final DEFAULT_AUTO_CALLBACK_TO_UI_THREAD:Z = true
.field public static final DEFAULT_FLUSH_BUFFER_SIZE:I
.field public static final DEFAULT_IS_WIFI_REQUIRED:Z = false
.field public static final DEFAULT_MIN_INTERVAL_MILLIS_CALLBACK_PROCESS:I
.field public static final DEFAULT_PASS_IF_ALREADY_COMPLETED:Z = true
.field public static final DEFAULT_READ_BUFFER_SIZE:I
.field public static final DEFAULT_SYNC_BUFFER_INTERVAL_MILLIS:I
.field public static final DEFAULT_SYNC_BUFFER_SIZE:I
# instance fields
.field public autoCallbackToUIThread:Z
.field public connectionCount:Ljava/lang/Integer;
.field public filename:Ljava/lang/String;
.field public flushBufferSize:I
.field public volatile headerMapFields:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;>;"
}
.end annotation
.end field
.field public isFilenameFromResponse:Ljava/lang/Boolean;
.field public isPreAllocateLength:Ljava/lang/Boolean;
.field public isWifiRequired:Z
.field public minIntervalMillisCallbackProcess:I
.field public passIfAlreadyCompleted:Z
.field public priority:I
.field public readBufferSize:I
.field public syncBufferIntervalMillis:I
.field public syncBufferSize:I
.field public final uri:Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public final url:Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x405a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->DEFAULT_FLUSH_BUFFER_SIZE:I
const v0, 0xbe2
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->DEFAULT_MIN_INTERVAL_MILLIS_CALLBACK_PROCESS:I
const v0, 0x105a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->DEFAULT_READ_BUFFER_SIZE:I
const v0, 0x78a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->DEFAULT_SYNC_BUFFER_INTERVAL_MILLIS:I
const v0, 0x1005a
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->DEFAULT_SYNC_BUFFER_SIZE:I
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Landroid/net/Uri;)V
.registers 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/net/Uri;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x1000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->readBufferSize:I
const/16 v0, 0x4000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->flushBufferSize:I
const/high16 v0, 0x10000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferSize:I
const/16 v0, 0x7d0
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferIntervalMillis:I
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->autoCallbackToUIThread:Z
const/16 v1, 0xbb8
iput v1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->minIntervalMillisCallbackProcess:I
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->passIfAlreadyCompleted:Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isWifiRequired:Z
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->url:Ljava/lang/String;
iput-object p2, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->uri:Landroid/net/Uri;
invoke-static {p2}, Lcom/liulishuo/okdownload/core/Util;->isUriContentScheme(Landroid/net/Uri;)Z
move-result p1
if-eqz p1, :cond_2f
invoke-static {p2}, Lcom/liulishuo/okdownload/core/Util;->getFilenameFromContentUri(Landroid/net/Uri;)Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->filename:Ljava/lang/String;
:cond_2f
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/io/File;)V
.registers 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/io/File;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x1000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->readBufferSize:I
const/16 v0, 0x4000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->flushBufferSize:I
const/high16 v0, 0x10000
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferSize:I
const/16 v0, 0x7d0
iput v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferIntervalMillis:I
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->autoCallbackToUIThread:Z
const/16 v1, 0xbb8
iput v1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->minIntervalMillisCallbackProcess:I
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->passIfAlreadyCompleted:Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isWifiRequired:Z
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->url:Ljava/lang/String;
invoke-static {p2}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object p1
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->uri:Landroid/net/Uri;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
new-instance v0, Ljava/io/File;
invoke-direct {v0, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object p2
invoke-direct {p0, p1, p2}, Lcom/liulishuo/okdownload/DownloadTask$Builder;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
invoke-static {p3}, Lcom/liulishuo/okdownload/core/Util;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p1
if-eqz p1, :cond_1a
const/4 p1, 0x1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isFilenameFromResponse:Ljava/lang/Boolean;
goto :goto_1c
:cond_1a
iput-object p3, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->filename:Ljava/lang/String;
:goto_1c
return-void
.end method
# virtual methods
.method public declared-synchronized addHeader(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
if-nez v0, :cond_c
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
:cond_c
iget-object v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
if-nez v0, :cond_20
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iget-object v1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_20
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_23
.catchall {:try_start_1 .. :try_end_23} :catchall_25
monitor-exit p0
return-void
:catchall_25
move-exception p1
monitor-exit p0
throw p1
.end method
.method public build()Lcom/liulishuo/okdownload/DownloadTask;
.registers 21
move-object/from16 v0, p0
new-instance v18, Lcom/liulishuo/okdownload/DownloadTask;
move-object/from16 v1, v18
iget-object v2, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->url:Ljava/lang/String;
iget-object v3, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->uri:Landroid/net/Uri;
iget v4, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->priority:I
iget v5, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->readBufferSize:I
iget v6, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->flushBufferSize:I
iget v7, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferSize:I
iget v8, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferIntervalMillis:I
iget-boolean v9, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->autoCallbackToUIThread:Z
iget v10, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->minIntervalMillisCallbackProcess:I
iget-object v11, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
iget-object v12, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->filename:Ljava/lang/String;
iget-boolean v13, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->passIfAlreadyCompleted:Z
iget-boolean v14, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isWifiRequired:Z
iget-object v15, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isFilenameFromResponse:Ljava/lang/Boolean;
move-object/from16 v19, v1
iget-object v1, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->connectionCount:Ljava/lang/Integer;
move-object/from16 v16, v1
iget-object v1, v0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isPreAllocateLength:Ljava/lang/Boolean;
move-object/from16 v17, v1
move-object/from16 v1, v19
invoke-direct/range {v1 .. v17}, Lcom/liulishuo/okdownload/DownloadTask;-><init>(Ljava/lang/String;Landroid/net/Uri;IIIIIZILjava/util/Map;Ljava/lang/String;ZZLjava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Boolean;)V
return-object v18
.end method
.method public setAutoCallbackToUIThread(Z)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput-boolean p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->autoCallbackToUIThread:Z
return-object p0
.end method
.method public setConnectionCount(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
.param p1 # I
.annotation build Landroidx/annotation/IntRange;
from = 0x1L
.end annotation
.end param
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->connectionCount:Ljava/lang/Integer;
return-object p0
.end method
.method public setFilename(Ljava/lang/String;)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->filename:Ljava/lang/String;
return-object p0
.end method
.method public setFilenameFromResponse(Ljava/lang/Boolean;)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 3
.param p1 # Ljava/lang/Boolean;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->uri:Landroid/net/Uri;
invoke-static {v0}, Lcom/liulishuo/okdownload/core/Util;->isUriFileScheme(Landroid/net/Uri;)Z
move-result v0
if-eqz v0, :cond_b
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isFilenameFromResponse:Ljava/lang/Boolean;
return-object p0
:cond_b
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Uri isn\'t file scheme we can\'t let filename from response"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setFlushBufferSize(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 3
if-ltz p1, :cond_5
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->flushBufferSize:I
return-object p0
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Value must be positive!"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setHeaderMapFields(Ljava/util/Map;)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;>;)",
"Lcom/liulishuo/okdownload/DownloadTask$Builder;"
}
.end annotation
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->headerMapFields:Ljava/util/Map;
return-object p0
.end method
.method public setMinIntervalMillisCallbackProcess(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->minIntervalMillisCallbackProcess:I
return-object p0
.end method
.method public setPassIfAlreadyCompleted(Z)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput-boolean p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->passIfAlreadyCompleted:Z
return-object p0
.end method
.method public setPreAllocateLength(Z)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
iput-object p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isPreAllocateLength:Ljava/lang/Boolean;
return-object p0
.end method
.method public setPriority(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->priority:I
return-object p0
.end method
.method public setReadBufferSize(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 3
if-ltz p1, :cond_5
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->readBufferSize:I
return-object p0
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Value must be positive!"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setSyncBufferIntervalMillis(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 3
if-ltz p1, :cond_5
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferIntervalMillis:I
return-object p0
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Value must be positive!"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setSyncBufferSize(I)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 3
if-ltz p1, :cond_5
iput p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->syncBufferSize:I
return-object p0
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Value must be positive!"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setWifiRequired(Z)Lcom/liulishuo/okdownload/DownloadTask$Builder;
.registers 2
iput-boolean p1, p0, Lcom/liulishuo/okdownload/DownloadTask$Builder;->isWifiRequired:Z
return-object p0
.end method