ConvertUtils.smali

.class public final Lcom/blankj/utilcode/util/ConvertUtils;
.super Ljava/lang/Object;
.source "ConvertUtils.java"


# static fields
.field private static final hexDigits:[C


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

    .line 37
    const/16 v0, 0x10

    new-array v0, v0, [C

    fill-array-data v0, :array_a

    sput-object v0, Lcom/blankj/utilcode/util/ConvertUtils;->hexDigits:[C

    return-void

    :array_a
    .array-data 2
        0x30s
        0x31s
        0x32s
        0x33s
        0x34s
        0x35s
        0x36s
        0x37s
        0x38s
        0x39s
        0x41s
        0x42s
        0x43s
        0x44s
        0x45s
        0x46s
    .end array-data
.end method

.method private constructor <init>()V
    .registers 3

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

    .line 34
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string/jumbo v1, "u can\'t instantiate me..."

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public static bitmap2Bytes(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap$CompressFormat;)[B
    .registers 4
    .param p0, "bitmap"    # Landroid/graphics/Bitmap;
    .param p1, "format"    # Landroid/graphics/Bitmap$CompressFormat;

    .line 473
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 474
    :cond_4
    new-instance v0, Ljava/io/ByteArrayOutputStream;

    invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V

    .line 475
    .local v0, "baos":Ljava/io/ByteArrayOutputStream;
    const/16 v1, 0x64

    invoke-virtual {p0, p1, v1, v0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z

    .line 476
    invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v1

    return-object v1
.end method

.method public static bitmap2Drawable(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Drawable;
    .registers 3
    .param p0, "bitmap"    # Landroid/graphics/Bitmap;

    .line 530
    if-nez p0, :cond_4

    const/4 v0, 0x0

    goto :goto_11

    :cond_4
    new-instance v0, Landroid/graphics/drawable/BitmapDrawable;

    invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;

    move-result-object v1

    invoke-virtual {v1}, Landroid/app/Application;->getResources()Landroid/content/res/Resources;

    move-result-object v1

    invoke-direct {v0, v1, p0}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V

    :goto_11
    return-object v0
.end method

.method public static bits2Bytes(Ljava/lang/String;)[B
    .registers 9
    .param p0, "bits"    # Ljava/lang/String;

    .line 64
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    const/16 v1, 0x8

    rem-int/2addr v0, v1

    .line 65
    .local v0, "lenMod":I
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    div-int/2addr v2, v1

    .line 67
    .local v2, "byteLen":I
    if-eqz v0, :cond_27

    .line 68
    move v3, v0

    .local v3, "i":I
    :goto_f
    if-ge v3, v1, :cond_25

    .line 69
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "0"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    .line 68
    add-int/lit8 v3, v3, 0x1

    goto :goto_f

    .line 71
    .end local v3    # "i":I
    :cond_25
    add-int/lit8 v2, v2, 0x1

    .line 73
    :cond_27
    new-array v3, v2, [B

    .line 74
    .local v3, "bytes":[B
    const/4 v4, 0x0

    .local v4, "i":I
    :goto_2a
    if-ge v4, v2, :cond_4b

    .line 75
    const/4 v5, 0x0

    .local v5, "j":I
    :goto_2d
    if-ge v5, v1, :cond_48

    .line 76
    aget-byte v6, v3, v4

    shl-int/lit8 v6, v6, 0x1

    int-to-byte v6, v6

    aput-byte v6, v3, v4

    .line 77
    aget-byte v6, v3, v4

    mul-int/lit8 v7, v4, 0x8

    add-int/2addr v7, v5

    invoke-virtual {p0, v7}, Ljava/lang/String;->charAt(I)C

    move-result v7

    add-int/lit8 v7, v7, -0x30

    or-int/2addr v6, v7

    int-to-byte v6, v6

    aput-byte v6, v3, v4

    .line 75
    add-int/lit8 v5, v5, 0x1

    goto :goto_2d

    .line 74
    .end local v5    # "j":I
    :cond_48
    add-int/lit8 v4, v4, 0x1

    goto :goto_2a

    .line 80
    .end local v4    # "i":I
    :cond_4b
    return-object v3
.end method

.method public static byte2FitMemorySize(J)Ljava/lang/String;
    .registers 9
    .param p0, "byteSize"    # J

    .line 214
    const-wide/16 v0, 0x0

    cmp-long v2, p0, v0

    if-gez v2, :cond_a

    .line 215
    const-string/jumbo v0, "shouldn\'t be less than zero!"

    return-object v0

    .line 216
    :cond_a
    const-wide/16 v0, 0x400

    const/4 v2, 0x0

    const/4 v3, 0x1

    cmp-long v4, p0, v0

    if-gez v4, :cond_22

    .line 217
    new-array v0, v3, [Ljava/lang/Object;

    long-to-double v3, p0

    invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v1

    aput-object v1, v0, v2

    const-string v1, "%.3fB"

    invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 218
    :cond_22
    const-wide/32 v0, 0x100000

    cmp-long v4, p0, v0

    if-gez v4, :cond_3f

    .line 219
    new-array v0, v3, [Ljava/lang/Object;

    long-to-double v3, p0

    const-wide/high16 v5, 0x4090000000000000L    # 1024.0

    invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v3, v5

    invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v1

    aput-object v1, v0, v2

    const-string v1, "%.3fKB"

    invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 220
    :cond_3f
    const-wide/32 v0, 0x40000000

    cmp-long v4, p0, v0

    if-gez v4, :cond_5c

    .line 221
    new-array v0, v3, [Ljava/lang/Object;

    long-to-double v3, p0

    const-wide/high16 v5, 0x4130000000000000L    # 1048576.0

    invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v3, v5

    invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v1

    aput-object v1, v0, v2

    const-string v1, "%.3fMB"

    invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 223
    :cond_5c
    new-array v0, v3, [Ljava/lang/Object;

    long-to-double v3, p0

    const-wide/high16 v5, 0x41d0000000000000L    # 1.073741824E9

    invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v3, v5

    invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v1

    aput-object v1, v0, v2

    const-string v1, "%.3fGB"

    invoke-static {v1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static byte2MemorySize(JI)D
    .registers 7
    .param p0, "byteSize"    # J
    .param p2, "unit"    # I

    .line 201
    const-wide/16 v0, 0x0

    cmp-long v2, p0, v0

    if-gez v2, :cond_9

    const-wide/high16 v0, -0x4010000000000000L    # -1.0

    return-wide v0

    .line 202
    :cond_9
    long-to-double v0, p0

    int-to-double v2, p2

    invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z

    invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v0, v2

    return-wide v0
.end method

.method public static bytes2Bitmap([B)Landroid/graphics/Bitmap;
    .registers 3
    .param p0, "bytes"    # [B

    .line 486
    if-eqz p0, :cond_d

    array-length v0, p0

    if-nez v0, :cond_6

    goto :goto_d

    :cond_6
    const/4 v0, 0x0

    array-length v1, p0

    .line 488
    invoke-static {p0, v0, v1}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;

    move-result-object v0

    goto :goto_e

    .line 486
    :cond_d
    :goto_d
    const/4 v0, 0x0

    :goto_e
    return-object v0
.end method

.method public static bytes2Bits([B)Ljava/lang/String;
    .registers 7
    .param p0, "bytes"    # [B

    .line 47
    if-eqz p0, :cond_2d

    array-length v0, p0

    if-nez v0, :cond_6

    goto :goto_2d

    .line 48
    :cond_6
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    .line 49
    .local v0, "sb":Ljava/lang/StringBuilder;
    array-length v1, p0

    const/4 v2, 0x0

    :goto_d
    if-ge v2, v1, :cond_28

    aget-byte v3, p0, v2

    .line 50
    .local v3, "aByte":B
    const/4 v4, 0x7

    .local v4, "j":I
    :goto_12
    if-ltz v4, :cond_25

    .line 51
    shr-int v5, v3, v4

    and-int/lit8 v5, v5, 0x1

    if-nez v5, :cond_1d

    const/16 v5, 0x30

    goto :goto_1f

    :cond_1d
    const/16 v5, 0x31

    :goto_1f
    invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 50
    add-int/lit8 v4, v4, -0x1

    goto :goto_12

    .line 49
    .end local v3    # "aByte":B
    .end local v4    # "j":I
    :cond_25
    add-int/lit8 v2, v2, 0x1

    goto :goto_d

    .line 54
    :cond_28
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    return-object v1

    .line 47
    .end local v0    # "sb":Ljava/lang/StringBuilder;
    :cond_2d
    :goto_2d
    const-string v0, ""

    return-object v0
.end method

.method public static bytes2Chars([B)[C
    .registers 5
    .param p0, "bytes"    # [B

    .line 90
    const/4 v0, 0x0

    if-nez p0, :cond_4

    return-object v0

    .line 91
    :cond_4
    array-length v1, p0

    .line 92
    .local v1, "len":I
    if-gtz v1, :cond_8

    return-object v0

    .line 93
    :cond_8
    new-array v0, v1, [C

    .line 94
    .local v0, "chars":[C
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_b
    if-ge v2, v1, :cond_17

    .line 95
    aget-byte v3, p0, v2

    and-int/lit16 v3, v3, 0xff

    int-to-char v3, v3

    aput-char v3, v0, v2

    .line 94
    add-int/lit8 v2, v2, 0x1

    goto :goto_b

    .line 97
    .end local v2    # "i":I
    :cond_17
    return-object v0
.end method

.method public static bytes2Drawable([B)Landroid/graphics/drawable/Drawable;
    .registers 2
    .param p0, "bytes"    # [B

    .line 552
    if-nez p0, :cond_4

    const/4 v0, 0x0

    goto :goto_c

    :cond_4
    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->bytes2Bitmap([B)Landroid/graphics/Bitmap;

    move-result-object v0

    invoke-static {v0}, Lcom/blankj/utilcode/util/ConvertUtils;->bitmap2Drawable(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    :goto_c
    return-object v0
.end method

.method public static bytes2HexString([B)Ljava/lang/String;
    .registers 8
    .param p0, "bytes"    # [B

    .line 124
    const-string v0, ""

    if-nez p0, :cond_5

    return-object v0

    .line 125
    :cond_5
    array-length v1, p0

    .line 126
    .local v1, "len":I
    if-gtz v1, :cond_9

    return-object v0

    .line 127
    :cond_9
    shl-int/lit8 v0, v1, 0x1

    new-array v0, v0, [C

    .line 128
    .local v0, "ret":[C
    const/4 v2, 0x0

    .local v2, "i":I
    const/4 v3, 0x0

    .local v3, "j":I
    :goto_f
    if-ge v2, v1, :cond_2c

    .line 129
    add-int/lit8 v4, v3, 0x1

    .end local v3    # "j":I
    .local v4, "j":I
    sget-object v5, Lcom/blankj/utilcode/util/ConvertUtils;->hexDigits:[C

    aget-byte v6, p0, v2

    shr-int/lit8 v6, v6, 0x4

    and-int/lit8 v6, v6, 0xf

    aget-char v6, v5, v6

    aput-char v6, v0, v3

    .line 130
    add-int/lit8 v3, v4, 0x1

    .end local v4    # "j":I
    .restart local v3    # "j":I
    aget-byte v6, p0, v2

    and-int/lit8 v6, v6, 0xf

    aget-char v5, v5, v6

    aput-char v5, v0, v4

    .line 128
    add-int/lit8 v2, v2, 0x1

    goto :goto_f

    .line 132
    .end local v2    # "i":I
    .end local v3    # "j":I
    :cond_2c
    new-instance v2, Ljava/lang/String;

    invoke-direct {v2, v0}, Ljava/lang/String;-><init>([C)V

    return-object v2
.end method

.method public static bytes2InputStream([B)Ljava/io/InputStream;
    .registers 2
    .param p0, "bytes"    # [B

    .line 353
    if-eqz p0, :cond_c

    array-length v0, p0

    if-gtz v0, :cond_6

    goto :goto_c

    .line 354
    :cond_6
    new-instance v0, Ljava/io/ByteArrayInputStream;

    invoke-direct {v0, p0}, Ljava/io/ByteArrayInputStream;-><init>([B)V

    return-object v0

    .line 353
    :cond_c
    :goto_c
    const/4 v0, 0x0

    return-object v0
.end method

.method public static bytes2OutputStream([B)Ljava/io/OutputStream;
    .registers 5
    .param p0, "bytes"    # [B

    .line 375
    const/4 v0, 0x0

    if-eqz p0, :cond_3d

    array-length v1, p0

    if-gtz v1, :cond_7

    goto :goto_3d

    .line 376
    :cond_7
    const/4 v1, 0x0

    .line 378
    .local v1, "os":Ljava/io/ByteArrayOutputStream;
    :try_start_8
    new-instance v2, Ljava/io/ByteArrayOutputStream;

    invoke-direct {v2}, Ljava/io/ByteArrayOutputStream;-><init>()V

    move-object v1, v2

    .line 379
    invoke-virtual {v1, p0}, Ljava/io/ByteArrayOutputStream;->write([B)V
    :try_end_11
    .catch Ljava/io/IOException; {:try_start_8 .. :try_end_11} :catch_1e
    .catchall {:try_start_8 .. :try_end_11} :catchall_1c

    .line 380
    nop

    .line 386
    nop

    .line 387
    :try_start_13
    invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
    :try_end_16
    .catch Ljava/io/IOException; {:try_start_13 .. :try_end_16} :catch_17

    .line 391
    goto :goto_1b

    .line 389
    :catch_17
    move-exception v0

    .line 390
    .local v0, "e":Ljava/io/IOException;
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    .line 380
    .end local v0    # "e":Ljava/io/IOException;
    :goto_1b
    return-object v1

    .line 385
    :catchall_1c
    move-exception v0

    goto :goto_30

    .line 381
    :catch_1e
    move-exception v2

    .line 382
    .local v2, "e":Ljava/io/IOException;
    :try_start_1f
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
    :try_end_22
    .catchall {:try_start_1f .. :try_end_22} :catchall_1c

    .line 383
    nop

    .line 386
    if-eqz v1, :cond_2e

    .line 387
    :try_start_25
    invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
    :try_end_28
    .catch Ljava/io/IOException; {:try_start_25 .. :try_end_28} :catch_29

    goto :goto_2e

    .line 389
    :catch_29
    move-exception v3

    .line 390
    .local v3, "e":Ljava/io/IOException;
    invoke-virtual {v3}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_2f

    .line 391
    .end local v3    # "e":Ljava/io/IOException;
    :cond_2e
    :goto_2e
    nop

    .line 383
    :goto_2f
    return-object v0

    .line 386
    .end local v2    # "e":Ljava/io/IOException;
    :goto_30
    if-eqz v1, :cond_3b

    .line 387
    :try_start_32
    invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
    :try_end_35
    .catch Ljava/io/IOException; {:try_start_32 .. :try_end_35} :catch_36

    goto :goto_3b

    .line 389
    :catch_36
    move-exception v2

    .line 390
    .restart local v2    # "e":Ljava/io/IOException;
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_3c

    .line 391
    .end local v2    # "e":Ljava/io/IOException;
    :cond_3b
    :goto_3b
    nop

    .line 392
    :goto_3c
    throw v0

    .line 375
    .end local v1    # "os":Ljava/io/ByteArrayOutputStream;
    :cond_3d
    :goto_3d
    return-object v0
.end method

.method public static chars2Bytes([C)[B
    .registers 5
    .param p0, "chars"    # [C

    .line 107
    if-eqz p0, :cond_15

    array-length v0, p0

    if-gtz v0, :cond_6

    goto :goto_15

    .line 108
    :cond_6
    array-length v0, p0

    .line 109
    .local v0, "len":I
    new-array v1, v0, [B

    .line 110
    .local v1, "bytes":[B
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_a
    if-ge v2, v0, :cond_14

    .line 111
    aget-char v3, p0, v2

    int-to-byte v3, v3

    aput-byte v3, v1, v2

    .line 110
    add-int/lit8 v2, v2, 0x1

    goto :goto_a

    .line 113
    .end local v2    # "i":I
    :cond_14
    return-object v1

    .line 107
    .end local v0    # "len":I
    .end local v1    # "bytes":[B
    :cond_15
    :goto_15
    const/4 v0, 0x0

    return-object v0
.end method

.method public static dp2px(F)I
    .registers 4
    .param p0, "dpValue"    # F

    .line 589
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->density:F

    .line 590
    .local v0, "scale":F
    mul-float v1, p0, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method

.method public static drawable2Bitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
    .registers 6
    .param p0, "drawable"    # Landroid/graphics/drawable/Drawable;

    .line 498
    instance-of v0, p0, Landroid/graphics/drawable/BitmapDrawable;

    if-eqz v0, :cond_12

    .line 499
    move-object v0, p0

    check-cast v0, Landroid/graphics/drawable/BitmapDrawable;

    .line 500
    .local v0, "bitmapDrawable":Landroid/graphics/drawable/BitmapDrawable;
    invoke-virtual {v0}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;

    move-result-object v1

    if-eqz v1, :cond_12

    .line 501
    invoke-virtual {v0}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;

    move-result-object v1

    return-object v1

    .line 505
    .end local v0    # "bitmapDrawable":Landroid/graphics/drawable/BitmapDrawable;
    :cond_12
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I

    move-result v0

    const/4 v1, -0x1

    if-lez v0, :cond_38

    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I

    move-result v0

    if-gtz v0, :cond_20

    goto :goto_38

    .line 511
    :cond_20
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I

    move-result v0

    .line 512
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I

    move-result v2

    .line 513
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getOpacity()I

    move-result v3

    if-eq v3, v1, :cond_31

    sget-object v1, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    goto :goto_33

    :cond_31
    sget-object v1, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;

    .line 511
    :goto_33
    invoke-static {v0, v2, v1}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v0

    .local v0, "bitmap":Landroid/graphics/Bitmap;
    goto :goto_49

    .line 506
    .end local v0    # "bitmap":Landroid/graphics/Bitmap;
    :cond_38
    :goto_38
    nop

    .line 507
    invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getOpacity()I

    move-result v0

    if-eq v0, v1, :cond_42

    sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    goto :goto_44

    :cond_42
    sget-object v0, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;

    .line 506
    :goto_44
    const/4 v1, 0x1

    invoke-static {v1, v1, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 517
    .restart local v0    # "bitmap":Landroid/graphics/Bitmap;
    :goto_49
    new-instance v1, Landroid/graphics/Canvas;

    invoke-direct {v1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    .line 518
    .local v1, "canvas":Landroid/graphics/Canvas;
    invoke-virtual {v1}, Landroid/graphics/Canvas;->getWidth()I

    move-result v2

    invoke-virtual {v1}, Landroid/graphics/Canvas;->getHeight()I

    move-result v3

    const/4 v4, 0x0

    invoke-virtual {p0, v4, v4, v2, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V

    .line 519
    invoke-virtual {p0, v1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V

    .line 520
    return-object v0
.end method

.method public static drawable2Bytes(Landroid/graphics/drawable/Drawable;Landroid/graphics/Bitmap$CompressFormat;)[B
    .registers 3
    .param p0, "drawable"    # Landroid/graphics/drawable/Drawable;
    .param p1, "format"    # Landroid/graphics/Bitmap$CompressFormat;

    .line 542
    if-nez p0, :cond_4

    const/4 v0, 0x0

    goto :goto_c

    :cond_4
    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->drawable2Bitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;

    move-result-object v0

    invoke-static {v0, p1}, Lcom/blankj/utilcode/util/ConvertUtils;->bitmap2Bytes(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap$CompressFormat;)[B

    move-result-object v0

    :goto_c
    return-object v0
.end method

.method private static hex2Int(C)I
    .registers 2
    .param p0, "hexChar"    # C

    .line 158
    const/16 v0, 0x30

    if-lt p0, v0, :cond_b

    const/16 v0, 0x39

    if-gt p0, v0, :cond_b

    .line 159
    add-int/lit8 v0, p0, -0x30

    return v0

    .line 160
    :cond_b
    const/16 v0, 0x41

    if-lt p0, v0, :cond_18

    const/16 v0, 0x46

    if-gt p0, v0, :cond_18

    .line 161
    add-int/lit8 v0, p0, -0x41

    add-int/lit8 v0, v0, 0xa

    return v0

    .line 163
    :cond_18
    new-instance v0, Ljava/lang/IllegalArgumentException;

    invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V

    throw v0
.end method

.method public static hexString2Bytes(Ljava/lang/String;)[B
    .registers 8
    .param p0, "hexString"    # Ljava/lang/String;

    .line 143
    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->isSpace(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_8

    const/4 v0, 0x0

    return-object v0

    .line 144
    :cond_8
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    .line 145
    .local v0, "len":I
    rem-int/lit8 v1, v0, 0x2

    if-eqz v1, :cond_23

    .line 146
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "0"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    .line 147
    add-int/lit8 v0, v0, 0x1

    .line 149
    :cond_23
    invoke-virtual {p0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->toCharArray()[C

    move-result-object v1

    .line 150
    .local v1, "hexBytes":[C
    shr-int/lit8 v2, v0, 0x1

    new-array v2, v2, [B

    .line 151
    .local v2, "ret":[B
    const/4 v3, 0x0

    .local v3, "i":I
    :goto_30
    if-ge v3, v0, :cond_4b

    .line 152
    shr-int/lit8 v4, v3, 0x1

    aget-char v5, v1, v3

    invoke-static {v5}, Lcom/blankj/utilcode/util/ConvertUtils;->hex2Int(C)I

    move-result v5

    shl-int/lit8 v5, v5, 0x4

    add-int/lit8 v6, v3, 0x1

    aget-char v6, v1, v6

    invoke-static {v6}, Lcom/blankj/utilcode/util/ConvertUtils;->hex2Int(C)I

    move-result v6

    or-int/2addr v5, v6

    int-to-byte v5, v5

    aput-byte v5, v2, v4

    .line 151
    add-int/lit8 v3, v3, 0x2

    goto :goto_30

    .line 154
    .end local v3    # "i":I
    :cond_4b
    return-object v2
.end method

.method public static input2OutputStream(Ljava/io/InputStream;)Ljava/io/ByteArrayOutputStream;
    .registers 9
    .param p0, "is"    # Ljava/io/InputStream;

    .line 303
    const/4 v0, 0x0

    if-nez p0, :cond_4

    return-object v0

    .line 305
    :cond_4
    :try_start_4
    new-instance v1, Ljava/io/ByteArrayOutputStream;

    invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V

    .line 306
    .local v1, "os":Ljava/io/ByteArrayOutputStream;
    const/16 v2, 0x400

    new-array v3, v2, [B

    .line 308
    .local v3, "b":[B
    :goto_d
    const/4 v4, 0x0

    invoke-virtual {p0, v3, v4, v2}, Ljava/io/InputStream;->read([BII)I

    move-result v5

    move v6, v5

    .local v6, "len":I
    const/4 v7, -0x1

    if-eq v5, v7, :cond_1a

    .line 309
    invoke-virtual {v1, v3, v4, v6}, Ljava/io/ByteArrayOutputStream;->write([BII)V
    :try_end_19
    .catch Ljava/io/IOException; {:try_start_4 .. :try_end_19} :catch_26
    .catchall {:try_start_4 .. :try_end_19} :catchall_24

    goto :goto_d

    .line 311
    :cond_1a
    nop

    .line 317
    :try_start_1b
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_1e
    .catch Ljava/io/IOException; {:try_start_1b .. :try_end_1e} :catch_1f

    .line 320
    goto :goto_23

    .line 318
    :catch_1f
    move-exception v0

    .line 319
    .local v0, "e":Ljava/io/IOException;
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    .line 311
    .end local v0    # "e":Ljava/io/IOException;
    :goto_23
    return-object v1

    .line 316
    .end local v1    # "os":Ljava/io/ByteArrayOutputStream;
    .end local v3    # "b":[B
    .end local v6    # "len":I
    :catchall_24
    move-exception v0

    goto :goto_34

    .line 312
    :catch_26
    move-exception v1

    .line 313
    .local v1, "e":Ljava/io/IOException;
    :try_start_27
    invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
    :try_end_2a
    .catchall {:try_start_27 .. :try_end_2a} :catchall_24

    .line 314
    nop

    .line 317
    :try_start_2b
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_2e
    .catch Ljava/io/IOException; {:try_start_2b .. :try_end_2e} :catch_2f

    .line 320
    goto :goto_33

    .line 318
    :catch_2f
    move-exception v2

    .line 319
    .local v2, "e":Ljava/io/IOException;
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

    .line 314
    .end local v2    # "e":Ljava/io/IOException;
    :goto_33
    return-object v0

    .line 317
    .end local v1    # "e":Ljava/io/IOException;
    :goto_34
    :try_start_34
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_37
    .catch Ljava/io/IOException; {:try_start_34 .. :try_end_37} :catch_38

    .line 320
    goto :goto_3c

    .line 318
    :catch_38
    move-exception v1

    .line 319
    .restart local v1    # "e":Ljava/io/IOException;
    invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V

    .line 321
    .end local v1    # "e":Ljava/io/IOException;
    :goto_3c
    goto :goto_3e

    :goto_3d
    throw v0

    :goto_3e
    goto :goto_3d
.end method

.method public static inputStream2Bytes(Ljava/io/InputStream;)[B
    .registers 2
    .param p0, "is"    # Ljava/io/InputStream;

    .line 342
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 343
    :cond_4
    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->input2OutputStream(Ljava/io/InputStream;)Ljava/io/ByteArrayOutputStream;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v0

    return-object v0
.end method

.method public static inputStream2String(Ljava/io/InputStream;Ljava/lang/String;)Ljava/lang/String;
    .registers 4
    .param p0, "is"    # Ljava/io/InputStream;
    .param p1, "charsetName"    # Ljava/lang/String;

    .line 403
    const-string v0, ""

    if-eqz p0, :cond_1c

    invoke-static {p1}, Lcom/blankj/utilcode/util/ConvertUtils;->isSpace(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_b

    goto :goto_1c

    .line 405
    :cond_b
    :try_start_b
    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->input2OutputStream(Ljava/io/InputStream;)Ljava/io/ByteArrayOutputStream;

    move-result-object v1

    .line 406
    .local v1, "baos":Ljava/io/ByteArrayOutputStream;
    if-nez v1, :cond_12

    return-object v0

    .line 407
    :cond_12
    invoke-virtual {v1, p1}, Ljava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0
    :try_end_16
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_b .. :try_end_16} :catch_17

    return-object v0

    .line 408
    .end local v1    # "baos":Ljava/io/ByteArrayOutputStream;
    :catch_17
    move-exception v1

    .line 409
    .local v1, "e":Ljava/io/UnsupportedEncodingException;
    invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    .line 410
    return-object v0

    .line 403
    .end local v1    # "e":Ljava/io/UnsupportedEncodingException;
    :cond_1c
    :goto_1c
    return-object v0
.end method

.method private static isSpace(Ljava/lang/String;)Z
    .registers 5
    .param p0, "s"    # Ljava/lang/String;

    .line 631
    const/4 v0, 0x1

    if-nez p0, :cond_4

    return v0

    .line 632
    :cond_4
    const/4 v1, 0x0

    .local v1, "i":I
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    .local v2, "len":I
    :goto_9
    if-ge v1, v2, :cond_1a

    .line 633
    invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C

    move-result v3

    invoke-static {v3}, Ljava/lang/Character;->isWhitespace(C)Z

    move-result v3

    if-nez v3, :cond_17

    .line 634
    const/4 v0, 0x0

    return v0

    .line 632
    :cond_17
    add-int/lit8 v1, v1, 0x1

    goto :goto_9

    .line 637
    .end local v1    # "i":I
    .end local v2    # "len":I
    :cond_1a
    return v0
.end method

.method public static memorySize2Byte(JI)J
    .registers 6
    .param p0, "memorySize"    # J
    .param p2, "unit"    # I

    .line 182
    const-wide/16 v0, 0x0

    cmp-long v2, p0, v0

    if-gez v2, :cond_9

    const-wide/16 v0, -0x1

    return-wide v0

    .line 183
    :cond_9
    int-to-long v0, p2

    mul-long v0, v0, p0

    return-wide v0
.end method

.method public static millis2FitTimeSpan(JI)Ljava/lang/String;
    .registers 11
    .param p0, "millis"    # J
    .param p2, "precision"    # I

    .line 281
    const-wide/16 v0, 0x0

    cmp-long v2, p0, v0

    if-lez v2, :cond_50

    if-gtz p2, :cond_9

    goto :goto_50

    .line 282
    :cond_9
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    .line 283
    .local v0, "sb":Ljava/lang/StringBuilder;
    const-string/jumbo v1, "\u5929"

    const-string/jumbo v2, "\u5c0f\u65f6"

    const-string/jumbo v3, "\u5206\u949f"

    const-string/jumbo v4, "\u79d2"

    const-string/jumbo v5, "\u6beb\u79d2"

    filled-new-array {v1, v2, v3, v4, v5}, [Ljava/lang/String;

    move-result-object v1

    .line 284
    .local v1, "units":[Ljava/lang/String;
    const/4 v2, 0x5

    new-array v3, v2, [I

    fill-array-data v3, :array_52

    .line 285
    .local v3, "unitLen":[I
    invoke-static {p2, v2}, Ljava/lang/Math;->min(II)I

    move-result p2

    .line 286
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_2c
    if-ge v2, p2, :cond_4b

    .line 287
    aget v4, v3, v2

    int-to-long v4, v4

    cmp-long v6, p0, v4

    if-ltz v6, :cond_48

    .line 288
    aget v4, v3, v2

    int-to-long v4, v4

    div-long v4, p0, v4

    .line 289
    .local v4, "mode":J
    aget v6, v3, v2

    int-to-long v6, v6

    mul-long v6, v6, v4

    sub-long/2addr p0, v6

    .line 290
    invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    aget-object v6, v1, v2

    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 286
    .end local v4    # "mode":J
    :cond_48
    add-int/lit8 v2, v2, 0x1

    goto :goto_2c

    .line 293
    .end local v2    # "i":I
    :cond_4b
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    return-object v2

    .line 281
    .end local v0    # "sb":Ljava/lang/StringBuilder;
    .end local v1    # "units":[Ljava/lang/String;
    .end local v3    # "unitLen":[I
    :cond_50
    :goto_50
    const/4 v0, 0x0

    return-object v0

    :array_52
    .array-data 4
        0x5265c00
        0x36ee80
        0xea60
        0x3e8
        0x1
    .end array-data
.end method

.method public static millis2TimeSpan(JI)J
    .registers 5
    .param p0, "millis"    # J
    .param p2, "unit"    # I

    .line 260
    int-to-long v0, p2

    div-long v0, p0, v0

    return-wide v0
.end method

.method public static outputStream2Bytes(Ljava/io/OutputStream;)[B
    .registers 2
    .param p0, "out"    # Ljava/io/OutputStream;

    .line 364
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 365
    :cond_4
    move-object v0, p0

    check-cast v0, Ljava/io/ByteArrayOutputStream;

    invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v0

    return-object v0
.end method

.method public static outputStream2String(Ljava/io/OutputStream;Ljava/lang/String;)Ljava/lang/String;
    .registers 5
    .param p0, "out"    # Ljava/io/OutputStream;
    .param p1, "charsetName"    # Ljava/lang/String;

    .line 439
    const-string v0, ""

    if-eqz p0, :cond_1a

    invoke-static {p1}, Lcom/blankj/utilcode/util/ConvertUtils;->isSpace(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_b

    goto :goto_1a

    .line 441
    :cond_b
    :try_start_b
    new-instance v1, Ljava/lang/String;

    invoke-static {p0}, Lcom/blankj/utilcode/util/ConvertUtils;->outputStream2Bytes(Ljava/io/OutputStream;)[B

    move-result-object v2

    invoke-direct {v1, v2, p1}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
    :try_end_14
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_b .. :try_end_14} :catch_15

    return-object v1

    .line 442
    :catch_15
    move-exception v1

    .line 443
    .local v1, "e":Ljava/io/UnsupportedEncodingException;
    invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    .line 444
    return-object v0

    .line 439
    .end local v1    # "e":Ljava/io/UnsupportedEncodingException;
    :cond_1a
    :goto_1a
    return-object v0
.end method

.method public static px2dp(F)I
    .registers 4
    .param p0, "pxValue"    # F

    .line 600
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->density:F

    .line 601
    .local v0, "scale":F
    div-float v1, p0, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method

.method public static px2sp(F)I
    .registers 4
    .param p0, "pxValue"    # F

    .line 622
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F

    .line 623
    .local v0, "fontScale":F
    div-float v1, p0, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method

.method public static sp2px(F)I
    .registers 4
    .param p0, "spValue"    # F

    .line 611
    invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v0

    iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F

    .line 612
    .local v0, "fontScale":F
    mul-float v1, p0, v0

    const/high16 v2, 0x3f000000    # 0.5f

    add-float/2addr v1, v2

    float-to-int v1, v1

    return v1
.end method

.method public static string2InputStream(Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream;
    .registers 5
    .param p0, "string"    # Ljava/lang/String;
    .param p1, "charsetName"    # Ljava/lang/String;

    .line 422
    const/4 v0, 0x0

    if-eqz p0, :cond_19

    invoke-static {p1}, Lcom/blankj/utilcode/util/ConvertUtils;->isSpace(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_a

    goto :goto_19

    .line 424
    :cond_a
    :try_start_a
    new-instance v1, Ljava/io/ByteArrayInputStream;

    invoke-virtual {p0, p1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/io/ByteArrayInputStream;-><init>([B)V
    :try_end_13
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_a .. :try_end_13} :catch_14

    return-object v1

    .line 425
    :catch_14
    move-exception v1

    .line 426
    .local v1, "e":Ljava/io/UnsupportedEncodingException;
    invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    .line 427
    return-object v0

    .line 422
    .end local v1    # "e":Ljava/io/UnsupportedEncodingException;
    :cond_19
    :goto_19
    return-object v0
.end method

.method public static string2OutputStream(Ljava/lang/String;Ljava/lang/String;)Ljava/io/OutputStream;
    .registers 4
    .param p0, "string"    # Ljava/lang/String;
    .param p1, "charsetName"    # Ljava/lang/String;

    .line 456
    const/4 v0, 0x0

    if-eqz p0, :cond_18

    invoke-static {p1}, Lcom/blankj/utilcode/util/ConvertUtils;->isSpace(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_a

    goto :goto_18

    .line 458
    :cond_a
    :try_start_a
    invoke-virtual {p0, p1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v1

    invoke-static {v1}, Lcom/blankj/utilcode/util/ConvertUtils;->bytes2OutputStream([B)Ljava/io/OutputStream;

    move-result-object v0
    :try_end_12
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_a .. :try_end_12} :catch_13

    return-object v0

    .line 459
    :catch_13
    move-exception v1

    .line 460
    .local v1, "e":Ljava/io/UnsupportedEncodingException;
    invoke-virtual {v1}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    .line 461
    return-object v0

    .line 456
    .end local v1    # "e":Ljava/io/UnsupportedEncodingException;
    :cond_18
    :goto_18
    return-object v0
.end method

.method public static timeSpan2Millis(JI)J
    .registers 5
    .param p0, "timeSpan"    # J
    .param p2, "unit"    # I

    .line 242
    int-to-long v0, p2

    mul-long v0, v0, p0

    return-wide v0
.end method

.method public static view2Bitmap(Landroid/view/View;)Landroid/graphics/Bitmap;
    .registers 7
    .param p0, "view"    # Landroid/view/View;

    .line 562
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 563
    :cond_4
    invoke-virtual {p0}, Landroid/view/View;->isDrawingCacheEnabled()Z

    move-result v0

    .line 564
    .local v0, "drawingCacheEnabled":Z
    invoke-virtual {p0}, Landroid/view/View;->willNotCacheDrawing()Z

    move-result v1

    .line 565
    .local v1, "willNotCacheDrawing":Z
    const/4 v2, 0x1

    invoke-virtual {p0, v2}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

    .line 566
    const/4 v2, 0x0

    invoke-virtual {p0, v2}, Landroid/view/View;->setWillNotCacheDrawing(Z)V

    .line 567
    invoke-virtual {p0}, Landroid/view/View;->getDrawingCache()Landroid/graphics/Bitmap;

    move-result-object v3

    .line 569
    .local v3, "drawingCache":Landroid/graphics/Bitmap;
    if-nez v3, :cond_31

    .line 570
    invoke-virtual {p0}, Landroid/view/View;->getWidth()I

    move-result v4

    invoke-virtual {p0}, Landroid/view/View;->getHeight()I

    move-result v5

    invoke-virtual {p0, v2, v2, v4, v5}, Landroid/view/View;->layout(IIII)V

    .line 571
    invoke-virtual {p0}, Landroid/view/View;->buildDrawingCache()V

    .line 572
    invoke-virtual {p0}, Landroid/view/View;->getDrawingCache()Landroid/graphics/Bitmap;

    move-result-object v2

    invoke-static {v2}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    move-result-object v2

    .local v2, "bitmap":Landroid/graphics/Bitmap;
    goto :goto_35

    .line 574
    .end local v2    # "bitmap":Landroid/graphics/Bitmap;
    :cond_31
    invoke-static {v3}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    move-result-object v2

    .line 576
    .restart local v2    # "bitmap":Landroid/graphics/Bitmap;
    :goto_35
    invoke-virtual {p0}, Landroid/view/View;->destroyDrawingCache()V

    .line 577
    invoke-virtual {p0, v1}, Landroid/view/View;->setWillNotCacheDrawing(Z)V

    .line 578
    invoke-virtual {p0, v0}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

    .line 579
    return-object v2
.end method


# virtual methods
.method public output2InputStream(Ljava/io/OutputStream;)Ljava/io/ByteArrayInputStream;
    .registers 4
    .param p1, "out"    # Ljava/io/OutputStream;

    .line 331
    if-nez p1, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 332
    :cond_4
    new-instance v0, Ljava/io/ByteArrayInputStream;

    move-object v1, p1

    check-cast v1, Ljava/io/ByteArrayOutputStream;

    invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/io/ByteArrayInputStream;-><init>([B)V

    return-object v0
.end method