CompressUtil.smali
.class public Lsg/bigo/svcapi/util/CompressUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field static final TAG:Ljava/lang/String; = "CompressUtil"
# direct methods
.method public constructor <init>()V
.registers 1
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static gzipCompress([B)[B
.registers 5
if-eqz p0, :cond_36
.line 24
array-length v0, p0
if-nez v0, :cond_6
goto :goto_36
.line 27
:cond_6
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
const/4 v1, 0x0
.line 31
:try_start_c
new-instance v2, Ljava/util/zip/GZIPOutputStream;
invoke-direct {v2, v0}, Ljava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_11
.catch Ljava/io/IOException; {:try_start_c .. :try_end_11} :catch_1e
.catchall {:try_start_c .. :try_end_11} :catchall_1c
.line 32
:try_start_11
invoke-virtual {v2, p0}, Ljava/util/zip/GZIPOutputStream;->write([B)V
.line 33
invoke-virtual {v2}, Ljava/util/zip/GZIPOutputStream;->finish()V
.line 34
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v1
:try_end_1b
.catch Ljava/io/IOException; {:try_start_11 .. :try_end_1b} :catch_1f
.catchall {:try_start_11 .. :try_end_1b} :catchall_2d
goto :goto_26
:catchall_1c
move-exception p0
goto :goto_2f
:catch_1e
move-object v2, v1
:catch_1f
:try_start_1f
const-string p0, "CompressUtil"
const-string v3, "gzip compress failed"
.line 37
invoke-static {p0, v3}, Lsg/bigo/log/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_26
.catchall {:try_start_1f .. :try_end_26} :catchall_2d
.line 39
:goto_26
invoke-static {v2}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 40
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
return-object v1
:catchall_2d
move-exception p0
move-object v1, v2
.line 39
:goto_2f
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 40
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
throw p0
:cond_36
:goto_36
return-object p0
.end method
.method public static gzipUncompress([B)[B
.registers 8
if-eqz p0, :cond_4f
.line 46
array-length v0, p0
if-nez v0, :cond_6
goto :goto_4f
.line 49
:cond_6
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 50
new-instance v1, Ljava/io/ByteArrayInputStream;
invoke-direct {v1, p0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
const/4 p0, 0x0
.line 54
:try_start_11
new-instance v2, Ljava/util/zip/GZIPInputStream;
invoke-direct {v2, v1}, Ljava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_16
.catch Ljava/io/IOException; {:try_start_11 .. :try_end_16} :catch_32
.catchall {:try_start_11 .. :try_end_16} :catchall_2d
const/16 v3, 0x400
:try_start_18
new-array v3, v3, [B
.line 57
:goto_1a
invoke-virtual {v2, v3}, Ljava/util/zip/GZIPInputStream;->read([B)I
move-result v4
if-ltz v4, :cond_25
const/4 v5, 0x0
.line 58
invoke-virtual {v0, v3, v5, v4}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_1a
.line 60
:cond_25
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->flush()V
.line 61
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
:try_end_2c
.catch Ljava/io/IOException; {:try_start_18 .. :try_end_2c} :catch_33
.catchall {:try_start_18 .. :try_end_2c} :catchall_44
goto :goto_3a
:catchall_2d
move-exception v2
move-object v6, v2
move-object v2, p0
move-object p0, v6
goto :goto_45
:catch_32
move-object v2, p0
:catch_33
:try_start_33
const-string v3, "CompressUtil"
const-string v4, "gzip uncompress failed"
.line 64
invoke-static {v3, v4}, Lsg/bigo/log/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_3a
.catchall {:try_start_33 .. :try_end_3a} :catchall_44
.line 66
:goto_3a
invoke-static {v2}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 67
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 68
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
return-object p0
:catchall_44
move-exception p0
.line 66
:goto_45
invoke-static {v2}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 67
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 68
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
throw p0
:cond_4f
:goto_4f
return-object p0
.end method
.method public static zlibCompress([B)[B
.registers 6
.line 102
new-instance v0, Ljava/util/zip/Deflater;
invoke-direct {v0}, Ljava/util/zip/Deflater;-><init>()V
.line 104
invoke-virtual {v0}, Ljava/util/zip/Deflater;->reset()V
.line 105
invoke-virtual {v0, p0}, Ljava/util/zip/Deflater;->setInput([B)V
.line 106
invoke-virtual {v0}, Ljava/util/zip/Deflater;->finish()V
.line 107
new-instance v1, Ljava/io/ByteArrayOutputStream;
array-length v2, p0
invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;-><init>(I)V
const/16 v2, 0x400
:try_start_16
new-array v2, v2, [B
.line 110
:goto_18
invoke-virtual {v0}, Ljava/util/zip/Deflater;->finished()Z
move-result v3
if-nez v3, :cond_27
.line 111
invoke-virtual {v0, v2}, Ljava/util/zip/Deflater;->deflate([B)I
move-result v3
const/4 v4, 0x0
.line 112
invoke-virtual {v1, v2, v4, v3}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_18
.line 114
:cond_27
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_2e
.catchall {:try_start_16 .. :try_end_2b} :catchall_2c
goto :goto_35
:catchall_2c
move-exception p0
goto :goto_3c
:catch_2e
:try_start_2e
const-string v2, "CompressUtil"
const-string v3, "zlib compress failed"
.line 118
invoke-static {v2, v3}, Lsg/bigo/log/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_35
.catchall {:try_start_2e .. :try_end_35} :catchall_2c
.line 120
:goto_35
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 122
invoke-virtual {v0}, Ljava/util/zip/Deflater;->end()V
return-object p0
.line 120
:goto_3c
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_41
:goto_40
throw p0
:goto_41
goto :goto_40
.end method
.method public static zlibUncompress([B)[B
.registers 6
.line 76
new-instance v0, Ljava/util/zip/Inflater;
invoke-direct {v0}, Ljava/util/zip/Inflater;-><init>()V
.line 77
invoke-virtual {v0}, Ljava/util/zip/Inflater;->reset()V
.line 78
invoke-virtual {v0, p0}, Ljava/util/zip/Inflater;->setInput([B)V
.line 80
new-instance v1, Ljava/io/ByteArrayOutputStream;
array-length v2, p0
invoke-direct {v1, v2}, Ljava/io/ByteArrayOutputStream;-><init>(I)V
const/16 v2, 0x400
:try_start_13
new-array v2, v2, [B
.line 83
:goto_15
invoke-virtual {v0}, Ljava/util/zip/Inflater;->finished()Z
move-result v3
if-nez v3, :cond_24
.line 84
invoke-virtual {v0, v2}, Ljava/util/zip/Inflater;->inflate([B)I
move-result v3
const/4 v4, 0x0
.line 85
invoke-virtual {v1, v2, v4, v3}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_15
.line 87
:cond_24
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
:try_end_28
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_28} :catch_2b
.catchall {:try_start_13 .. :try_end_28} :catchall_29
goto :goto_32
:catchall_29
move-exception p0
goto :goto_39
:catch_2b
:try_start_2b
const-string v2, "CompressUtil"
const-string v3, "zlib uncompress failed"
.line 91
invoke-static {v2, v3}, Lsg/bigo/log/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_32
.catchall {:try_start_2b .. :try_end_32} :catchall_29
.line 93
:goto_32
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 95
invoke-virtual {v0}, Ljava/util/zip/Inflater;->end()V
return-object p0
.line 93
:goto_39
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_3e
:goto_3d
throw p0
:goto_3e
goto :goto_3d
.end method