Luban.smali
.class public Lim/tpelyyftgw/ui/components/compress/Luban;
.super Ljava/lang/Object;
.source "Luban.java"
# interfaces
.implements Landroid/os/Handler$Callback;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/ui/components/compress/Luban$Builder;
}
.end annotation
# static fields
.field private static final DEFAULT_DISK_CACHE_DIR:Ljava/lang/String; = "luban_disk_cache"
.field private static final MSG_COMPRESS_ERROR:I
.field private static final MSG_COMPRESS_START:I
.field private static final MSG_COMPRESS_SUCCESS:I
.field private static final TAG:Ljava/lang/String; = "Luban"
# instance fields
.field private focusAlpha:Z
.field private mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
.field private mCompressQuality:I
.field private mCompressionPredicate:Lim/tpelyyftgw/ui/components/compress/CompressionPredicate;
.field private mHandler:Landroid/os/Handler;
.field private mLeastCompressSize:I
.field private mRenameListener:Lim/tpelyyftgw/ui/components/compress/OnRenameListener;
.field private mStreamProviders:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;",
">;"
}
.end annotation
.end field
.field private mTargetDir:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x156d
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/ui/components/compress/Luban;->MSG_COMPRESS_ERROR:I
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/ui/components/compress/Luban;->MSG_COMPRESS_START:I
const v0, 0x156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/ui/components/compress/Luban;->MSG_COMPRESS_SUCCESS:I
return-void
.end method
.method private constructor <init>(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)V
.registers 4
.param p1, "builder" # Lim/tpelyyftgw/ui/components/compress/Luban$Builder;
.line 51
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 52
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$000(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
.line 53
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$100(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)I
move-result v0
iput v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressQuality:I
.line 54
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$200(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)Lim/tpelyyftgw/ui/components/compress/OnRenameListener;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mRenameListener:Lim/tpelyyftgw/ui/components/compress/OnRenameListener;
.line 55
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$300(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)Ljava/util/List;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mStreamProviders:Ljava/util/List;
.line 56
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$400(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
.line 57
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$500(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)I
move-result v0
iput v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mLeastCompressSize:I
.line 58
invoke-static {p1}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;->access$600(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)Lim/tpelyyftgw/ui/components/compress/CompressionPredicate;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressionPredicate:Lim/tpelyyftgw/ui/components/compress/CompressionPredicate;
.line 59
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mHandler:Landroid/os/Handler;
.line 60
return-void
.end method
.method synthetic constructor <init>(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;Lim/tpelyyftgw/ui/components/compress/Luban$1;)V
.registers 3
.param p1, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban$Builder;
.param p2, "x1" # Lim/tpelyyftgw/ui/components/compress/Luban$1;
.line 32
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/compress/Luban;-><init>(Lim/tpelyyftgw/ui/components/compress/Luban$Builder;)V
return-void
.end method
.method static synthetic access$1100(Lim/tpelyyftgw/ui/components/compress/Luban;Landroid/content/Context;)V
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban;
.param p1, "x1" # Landroid/content/Context;
.line 32
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/compress/Luban;->launch(Landroid/content/Context;)V
return-void
.end method
.method static synthetic access$1200(Lim/tpelyyftgw/ui/components/compress/Luban;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Landroid/content/Context;)Ljava/io/File;
.registers 4
.param p0, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban;
.param p1, "x1" # Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.param p2, "x2" # Landroid/content/Context;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 32
invoke-direct {p0, p1, p2}, Lim/tpelyyftgw/ui/components/compress/Luban;->get(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Landroid/content/Context;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method static synthetic access$1300(Lim/tpelyyftgw/ui/components/compress/Luban;Landroid/content/Context;)Ljava/util/List;
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban;
.param p1, "x1" # Landroid/content/Context;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 32
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/compress/Luban;->get(Landroid/content/Context;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method static synthetic access$700(Lim/tpelyyftgw/ui/components/compress/Luban;)Landroid/os/Handler;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mHandler:Landroid/os/Handler;
return-object v0
.end method
.method static synthetic access$800(Lim/tpelyyftgw/ui/components/compress/Luban;Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
.registers 4
.param p0, "x0" # Lim/tpelyyftgw/ui/components/compress/Luban;
.param p1, "x1" # Landroid/content/Context;
.param p2, "x2" # Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 32
invoke-direct {p0, p1, p2}, Lim/tpelyyftgw/ui/components/compress/Luban;->compress(Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method private compress(Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
.registers 4
.param p1, "context" # Landroid/content/Context;
.param p2, "path" # Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 186
:try_start_0
invoke-direct {p0, p1, p2}, Lim/tpelyyftgw/ui/components/compress/Luban;->compressReal(Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
move-result-object v0
:try_end_4
.catchall {:try_start_0 .. :try_end_4} :catchall_8
.line 188
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->close()V
.line 186
return-object v0
.line 188
:catchall_8
move-exception v0
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->close()V
.line 189
throw v0
.end method
.method private compressReal(Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
.registers 7
.param p1, "context" # Landroid/content/Context;
.param p2, "path" # Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 195
sget-object v0, Lim/tpelyyftgw/ui/components/compress/Checker;->SINGLE:Lim/tpelyyftgw/ui/components/compress/Checker;
invoke-virtual {v0, p2}, Lim/tpelyyftgw/ui/components/compress/Checker;->extSuffix(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/lang/String;
move-result-object v0
invoke-direct {p0, p1, v0}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCacheFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
move-result-object v0
.line 197
.local v0, "outFile":Ljava/io/File;
iget-object v1, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mRenameListener:Lim/tpelyyftgw/ui/components/compress/OnRenameListener;
if-eqz v1, :cond_1a
.line 198
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lim/tpelyyftgw/ui/components/compress/OnRenameListener;->rename(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 199
.local v1, "filename":Ljava/lang/String;
invoke-direct {p0, p1, v1}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCustomFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
move-result-object v0
.line 202
.end local v1 # "filename":Ljava/lang/String;
:cond_1a
iget-object v1, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressionPredicate:Lim/tpelyyftgw/ui/components/compress/CompressionPredicate;
if-eqz v1, :cond_4e
.line 203
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Lim/tpelyyftgw/ui/components/compress/CompressionPredicate;->apply(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_44
sget-object v1, Lim/tpelyyftgw/ui/components/compress/Checker;->SINGLE:Lim/tpelyyftgw/ui/components/compress/Checker;
iget v2, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mLeastCompressSize:I
.line 204
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lim/tpelyyftgw/ui/components/compress/Checker;->needCompress(ILjava/lang/String;)Z
move-result v1
if-eqz v1, :cond_44
.line 205
new-instance v1, Lim/tpelyyftgw/ui/components/compress/Engine;
iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->focusAlpha:Z
iget v3, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressQuality:I
invoke-direct {v1, p2, v0, v2, v3}, Lim/tpelyyftgw/ui/components/compress/Engine;-><init>(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Ljava/io/File;ZI)V
invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/compress/Engine;->compress()Ljava/io/File;
move-result-object v1
.local v1, "result":Ljava/io/File;
goto :goto_74
.line 207
.end local v1 # "result":Ljava/io/File;
:cond_44
new-instance v1, Ljava/io/File;
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.restart local v1 # "result":Ljava/io/File;
goto :goto_74
.line 210
.end local v1 # "result":Ljava/io/File;
:cond_4e
sget-object v1, Lim/tpelyyftgw/ui/components/compress/Checker;->SINGLE:Lim/tpelyyftgw/ui/components/compress/Checker;
iget v2, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mLeastCompressSize:I
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lim/tpelyyftgw/ui/components/compress/Checker;->needCompress(ILjava/lang/String;)Z
move-result v1
if-eqz v1, :cond_6a
new-instance v1, Lim/tpelyyftgw/ui/components/compress/Engine;
iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->focusAlpha:Z
iget v3, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressQuality:I
invoke-direct {v1, p2, v0, v2, v3}, Lim/tpelyyftgw/ui/components/compress/Engine;-><init>(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Ljava/io/File;ZI)V
.line 211
invoke-virtual {v1}, Lim/tpelyyftgw/ui/components/compress/Engine;->compress()Ljava/io/File;
move-result-object v1
goto :goto_73
:cond_6a
new-instance v1, Ljava/io/File;
.line 212
invoke-interface {p2}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->getPath()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:goto_73
nop
.line 215
.restart local v1 # "result":Ljava/io/File;
:goto_74
return-object v1
.end method
.method private get(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Landroid/content/Context;)Ljava/io/File;
.registers 7
.param p1, "input" # Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.param p2, "context" # Landroid/content/Context;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 166
:try_start_0
new-instance v0, Lim/tpelyyftgw/ui/components/compress/Engine;
sget-object v1, Lim/tpelyyftgw/ui/components/compress/Checker;->SINGLE:Lim/tpelyyftgw/ui/components/compress/Checker;
invoke-virtual {v1, p1}, Lim/tpelyyftgw/ui/components/compress/Checker;->extSuffix(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/lang/String;
move-result-object v1
invoke-direct {p0, p2, v1}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCacheFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
move-result-object v1
iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->focusAlpha:Z
iget v3, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressQuality:I
invoke-direct {v0, p1, v1, v2, v3}, Lim/tpelyyftgw/ui/components/compress/Engine;-><init>(Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;Ljava/io/File;ZI)V
invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/compress/Engine;->compress()Ljava/io/File;
move-result-object v0
:try_end_17
.catchall {:try_start_0 .. :try_end_17} :catchall_1b
.line 168
invoke-interface {p1}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->close()V
.line 166
return-object v0
.line 168
:catchall_1b
move-exception v0
invoke-interface {p1}, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;->close()V
.line 169
throw v0
.end method
.method private get(Landroid/content/Context;)Ljava/util/List;
.registers 5
.param p1, "context" # Landroid/content/Context;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
")",
"Ljava/util/List<",
"Ljava/io/File;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 173
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 174
.local v0, "results":Ljava/util/List;, "Ljava/util/List<Ljava/io/File;>;"
iget-object v1, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mStreamProviders:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
.line 176
.local v1, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;>;"
:goto_b
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_22
.line 177
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
invoke-direct {p0, p1, v2}, Lim/tpelyyftgw/ui/components/compress/Luban;->compress(Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)Ljava/io/File;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 178
invoke-interface {v1}, Ljava/util/Iterator;->remove()V
goto :goto_b
.line 181
:cond_22
return-object v0
.end method
.method private getImageCacheDir(Landroid/content/Context;)Ljava/io/File;
.registers 3
.param p1, "context" # Landroid/content/Context;
.line 102
const-string v0, "luban_disk_cache"
invoke-static {p1, v0}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCacheDir(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method private static getImageCacheDir(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
.registers 6
.param p0, "context" # Landroid/content/Context;
.param p1, "cacheName" # Ljava/lang/String;
.line 114
invoke-virtual {p0}, Landroid/content/Context;->getExternalCacheDir()Ljava/io/File;
move-result-object v0
.line 115
.local v0, "cacheDir":Ljava/io/File;
const/4 v1, 0x0
if-eqz v0, :cond_20
.line 116
new-instance v2, Ljava/io/File;
invoke-direct {v2, v0, p1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 117
.local v2, "result":Ljava/io/File;
invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
move-result v3
if-nez v3, :cond_1f
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_1e
invoke-virtual {v2}, Ljava/io/File;->isDirectory()Z
move-result v3
if-nez v3, :cond_1f
.line 119
:cond_1e
return-object v1
.line 121
:cond_1f
return-object v2
.line 123
.end local v2 # "result":Ljava/io/File;
:cond_20
const/4 v2, 0x6
const-string v3, "Luban"
invoke-static {v3, v2}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v2
if-eqz v2, :cond_2e
.line 124
const-string v2, "default disk cache dir is null"
invoke-static {v3, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 126
:cond_2e
return-object v1
.end method
.method private getImageCacheFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
.registers 8
.param p1, "context" # Landroid/content/Context;
.param p2, "suffix" # Ljava/lang/String;
.line 72
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_12
.line 73
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCacheDir(Landroid/content/Context;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
.line 76
:cond_12
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 77
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 78
invoke-static {}, Ljava/lang/Math;->random()D
move-result-wide v1
const-wide v3, 0x408f400000000000L # 1000.0
mul-double v1, v1, v3
double-to-int v1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 79
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_40
const-string v1, ".jpg"
goto :goto_41
:cond_40
move-object v1, p2
:goto_41
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 81
.local v0, "cacheBuilder":Ljava/lang/String;
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
return-object v1
.end method
.method private getImageCustomFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
.registers 5
.param p1, "context" # Landroid/content/Context;
.param p2, "filename" # Ljava/lang/String;
.line 85
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_12
.line 86
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/compress/Luban;->getImageCacheDir(Landroid/content/Context;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
.line 89
:cond_12
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mTargetDir:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 91
.local v0, "cacheBuilder":Ljava/lang/String;
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
return-object v1
.end method
.method private launch(Landroid/content/Context;)V
.registers 6
.param p1, "context" # Landroid/content/Context;
.line 133
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mStreamProviders:Ljava/util/List;
if-eqz v0, :cond_e
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-nez v0, :cond_1a
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
if-eqz v0, :cond_1a
.line 134
:cond_e
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "image file cannot be null"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
invoke-interface {v0, v1}, Lim/tpelyyftgw/ui/components/compress/OnCompressListener;->onError(Ljava/lang/Throwable;)V
.line 137
:cond_1a
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mStreamProviders:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 139
.local v0, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;>;"
:goto_20
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3a
.line 140
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
.line 142
.local v1, "path":Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
sget-object v2, Landroid/os/AsyncTask;->SERIAL_EXECUTOR:Ljava/util/concurrent/Executor;
new-instance v3, Lim/tpelyyftgw/ui/components/compress/Luban$1;
invoke-direct {v3, p0, p1, v1}, Lim/tpelyyftgw/ui/components/compress/Luban$1;-><init>(Lim/tpelyyftgw/ui/components/compress/Luban;Landroid/content/Context;Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;)V
invoke-interface {v2, v3}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
.line 157
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
.line 158
.end local v1 # "path":Lim/tpelyyftgw/ui/components/compress/InputStreamProvider;
goto :goto_20
.line 159
:cond_3a
return-void
.end method
.method public static with(Landroid/content/Context;)Lim/tpelyyftgw/ui/components/compress/Luban$Builder;
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 63
new-instance v0, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;
invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/components/compress/Luban$Builder;-><init>(Landroid/content/Context;)V
return-object v0
.end method
# virtual methods
.method public handleMessage(Landroid/os/Message;)Z
.registers 5
.param p1, "msg" # Landroid/os/Message;
.line 220
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
.line 222
:cond_6
iget v0, p1, Landroid/os/Message;->what:I
if-eqz v0, :cond_21
const/4 v2, 0x1
if-eq v0, v2, :cond_1b
const/4 v2, 0x2
if-eq v0, v2, :cond_11
goto :goto_2b
.line 230
:cond_11
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
iget-object v2, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v2, Ljava/lang/Throwable;
invoke-interface {v0, v2}, Lim/tpelyyftgw/ui/components/compress/OnCompressListener;->onError(Ljava/lang/Throwable;)V
goto :goto_2b
.line 224
:cond_1b
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
invoke-interface {v0}, Lim/tpelyyftgw/ui/components/compress/OnCompressListener;->onStart()V
.line 225
goto :goto_2b
.line 227
:cond_21
iget-object v0, p0, Lim/tpelyyftgw/ui/components/compress/Luban;->mCompressListener:Lim/tpelyyftgw/ui/components/compress/OnCompressListener;
iget-object v2, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v2, Ljava/io/File;
invoke-interface {v0, v2}, Lim/tpelyyftgw/ui/components/compress/OnCompressListener;->onSuccess(Ljava/io/File;)V
.line 228
nop
.line 233
:goto_2b
return v1
.end method