CodeUtils.smali
.class public final Lcom/king/zxing/util/CodeUtils;
.super Ljava/lang/Object;
.source "CodeUtils.java"
# static fields
.field public static final DEFAULT_REQ_HEIGHT:I
.field public static final DEFAULT_REQ_WIDTH:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x164f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/util/CodeUtils;->DEFAULT_REQ_HEIGHT:I
const v0, 0x14ad
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/util/CodeUtils;->DEFAULT_REQ_WIDTH:I
return-void
.end method
.method private constructor <init>()V
.registers 2
.line 61
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 62
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.end method
.method private static addCode(Landroid/graphics/Bitmap;Ljava/lang/String;III)Landroid/graphics/Bitmap;
.registers 12
.param p0, "src" # Landroid/graphics/Bitmap;
.param p1, "code" # Ljava/lang/String;
.param p2, "textSize" # I
.param p3, "textColor" # I
.param p4, "offset" # I
.line 654
const/4 v0, 0x0
if-nez p0, :cond_4
.line 655
return-object v0
.line 658
:cond_4
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_b
.line 659
return-object p0
.line 663
:cond_b
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
.line 664
.local v1, "srcWidth":I
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
.line 666
.local v2, "srcHeight":I
if-lez v1, :cond_59
if-gtz v2, :cond_18
goto :goto_59
.line 670
:cond_18
add-int v3, v2, p2
mul-int/lit8 v4, p4, 0x2
add-int/2addr v3, v4
sget-object v4, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v1, v3, v4}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v3
.line 672
.local v3, "bitmap":Landroid/graphics/Bitmap;
:try_start_23
new-instance v4, Landroid/graphics/Canvas;
invoke-direct {v4, v3}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 673
.local v4, "canvas":Landroid/graphics/Canvas;
const/4 v5, 0x0
invoke-virtual {v4, p0, v5, v5, v0}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 674
new-instance v0, Landroid/text/TextPaint;
invoke-direct {v0}, Landroid/text/TextPaint;-><init>()V
.line 675
.local v0, "paint":Landroid/text/TextPaint;
int-to-float v5, p2
invoke-virtual {v0, v5}, Landroid/text/TextPaint;->setTextSize(F)V
.line 676
invoke-virtual {v0, p3}, Landroid/text/TextPaint;->setColor(I)V
.line 677
sget-object v5, Landroid/graphics/Paint$Align;->CENTER:Landroid/graphics/Paint$Align;
invoke-virtual {v0, v5}, Landroid/text/TextPaint;->setTextAlign(Landroid/graphics/Paint$Align;)V
.line 678
div-int/lit8 v5, v1, 0x2
int-to-float v5, v5
div-int/lit8 v6, p2, 0x2
add-int/2addr v6, v2
add-int/2addr v6, p4
int-to-float v6, v6
invoke-virtual {v4, p1, v5, v6, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 679
invoke-virtual {v4}, Landroid/graphics/Canvas;->save()I
.line 680
invoke-virtual {v4}, Landroid/graphics/Canvas;->restore()V
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_23 .. :try_end_4e} :catch_4f
.line 684
.end local v0 # "paint":Landroid/text/TextPaint;
.end local v4 # "canvas":Landroid/graphics/Canvas;
goto :goto_58
.line 681
:catch_4f
move-exception v0
.line 682
.local v0, "e":Ljava/lang/Exception;
const/4 v3, 0x0
.line 683
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 686
.end local v0 # "e":Ljava/lang/Exception;
:goto_58
return-object v3
.line 667
.end local v3 # "bitmap":Landroid/graphics/Bitmap;
:cond_59
:goto_59
return-object v0
.end method
.method private static addLogo(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;F)Landroid/graphics/Bitmap;
.registers 13
.param p0, "src" # Landroid/graphics/Bitmap;
.param p1, "logo" # Landroid/graphics/Bitmap;
.param p2, "ratio" # F
.line 204
const/4 v0, 0x0
if-nez p0, :cond_4
.line 205
return-object v0
.line 208
:cond_4
if-nez p1, :cond_7
.line 209
return-object p0
.line 213
:cond_7
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
.line 214
.local v1, "srcWidth":I
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
.line 215
.local v2, "srcHeight":I
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
.line 216
.local v3, "logoWidth":I
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v4
.line 218
.local v4, "logoHeight":I
if-eqz v1, :cond_5d
if-nez v2, :cond_1c
goto :goto_5d
.line 222
:cond_1c
if-eqz v3, :cond_5c
if-nez v4, :cond_21
goto :goto_5c
.line 227
:cond_21
int-to-float v5, v1
mul-float v5, v5, p2
int-to-float v6, v3
div-float/2addr v5, v6
.line 228
.local v5, "scaleFactor":F
sget-object v6, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v1, v2, v6}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v6
.line 230
.local v6, "bitmap":Landroid/graphics/Bitmap;
:try_start_2c
new-instance v7, Landroid/graphics/Canvas;
invoke-direct {v7, v6}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 231
.local v7, "canvas":Landroid/graphics/Canvas;
const/4 v8, 0x0
invoke-virtual {v7, p0, v8, v8, v0}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 232
div-int/lit8 v8, v1, 0x2
int-to-float v8, v8
div-int/lit8 v9, v2, 0x2
int-to-float v9, v9
invoke-virtual {v7, v5, v5, v8, v9}, Landroid/graphics/Canvas;->scale(FFFF)V
.line 233
sub-int v8, v1, v3
div-int/lit8 v8, v8, 0x2
int-to-float v8, v8
sub-int v9, v2, v4
div-int/lit8 v9, v9, 0x2
int-to-float v9, v9
invoke-virtual {v7, p1, v8, v9, v0}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 234
invoke-virtual {v7}, Landroid/graphics/Canvas;->save()I
.line 235
invoke-virtual {v7}, Landroid/graphics/Canvas;->restore()V
:try_end_51
.catch Ljava/lang/Exception; {:try_start_2c .. :try_end_51} :catch_52
.line 239
.end local v7 # "canvas":Landroid/graphics/Canvas;
goto :goto_5b
.line 236
:catch_52
move-exception v0
.line 237
.local v0, "e":Ljava/lang/Exception;
const/4 v6, 0x0
.line 238
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 241
.end local v0 # "e":Ljava/lang/Exception;
:goto_5b
return-object v6
.line 223
.end local v5 # "scaleFactor":F
.end local v6 # "bitmap":Landroid/graphics/Bitmap;
:cond_5c
:goto_5c
return-object p0
.line 219
:cond_5d
:goto_5d
return-object v0
.end method
.method private static compressBitmap(Ljava/lang/String;II)Landroid/graphics/Bitmap;
.registers 10
.param p0, "path" # Ljava/lang/String;
.param p1, "reqWidth" # I
.param p2, "reqHeight" # I
.line 463
new-instance v0, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v0}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.line 465
.local v0, "newOpts":Landroid/graphics/BitmapFactory$Options;
const/4 v1, 0x1
iput-boolean v1, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 466
invoke-static {p0, v0}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
.line 467
iget v1, v0, Landroid/graphics/BitmapFactory$Options;->outWidth:I
int-to-float v1, v1
.line 468
.local v1, "width":F
iget v2, v0, Landroid/graphics/BitmapFactory$Options;->outHeight:I
int-to-float v2, v2
.line 470
.local v2, "height":F
const/4 v3, 0x1
.line 471
.local v3, "wSize":I
int-to-float v4, p1
cmpl-float v4, v1, v4
if-lez v4, :cond_1b
.line 472
int-to-float v4, p1
div-float v4, v1, v4
float-to-int v3, v4
.line 474
:cond_1b
const/4 v4, 0x1
.line 475
.local v4, "hSize":I
int-to-float v5, p2
cmpl-float v5, v2, v5
if-lez v5, :cond_25
.line 476
int-to-float v5, p2
div-float v5, v2, v5
float-to-int v4, v5
.line 478
:cond_25
invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I
move-result v5
.line 479
.local v5, "size":I
if-gtz v5, :cond_2c
.line 480
const/4 v5, 0x1
.line 481
:cond_2c
iput v5, v0, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I
.line 483
const/4 v6, 0x0
iput-boolean v6, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 484
invoke-static {p0, v0}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v6
return-object v6
.end method
.method public static createBarCode(Ljava/lang/String;II)Landroid/graphics/Bitmap;
.registers 5
.param p0, "content" # Ljava/lang/String;
.param p1, "desiredWidth" # I
.param p2, "desiredHeight" # I
.line 511
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
const/4 v1, 0x0
invoke-static {p0, v0, p1, p2, v1}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;IIZ)Landroid/graphics/Bitmap;
.registers 12
.param p0, "content" # Ljava/lang/String;
.param p1, "desiredWidth" # I
.param p2, "desiredHeight" # I
.param p3, "isShowText" # Z
.line 527
sget-object v1, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
const/4 v4, 0x0
const/16 v6, 0x28
const/high16 v7, -0x1000000
move-object v0, p0
move v2, p1
move v3, p2
move v5, p3
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;IIZI)Landroid/graphics/Bitmap;
.registers 13
.param p0, "content" # Ljava/lang/String;
.param p1, "desiredWidth" # I
.param p2, "desiredHeight" # I
.param p3, "isShowText" # Z
.param p4, "codeColor" # I
.line 540
sget-object v1, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
const/4 v4, 0x0
const/16 v6, 0x28
move-object v0, p0
move v2, p1
move v3, p2
move v5, p3
move v7, p4
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;II)Landroid/graphics/Bitmap;
.registers 5
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.line 523
const/4 v0, 0x0
invoke-static {p0, p1, p2, p3, v0}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Landroid/graphics/Bitmap;
.registers 13
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.line 553
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
const/4 v5, 0x0
const/16 v6, 0x28
const/high16 v7, -0x1000000
move-object v0, p0
move-object v1, p1
move v2, p2
move v3, p3
move-object v4, p4
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;Z)Landroid/graphics/Bitmap;
.registers 14
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.param p5, "isShowText" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;Z)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.line 567
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
const/16 v6, 0x28
const/high16 v7, -0x1000000
move-object v0, p0
move-object v1, p1
move v2, p2
move v3, p3
move-object v4, p4
move v5, p5
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZI)Landroid/graphics/Bitmap;
.registers 15
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.param p5, "isShowText" # Z
.param p6, "codeColor" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;ZI)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.line 595
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
const/16 v6, 0x28
move-object v0, p0
move-object v1, p1
move v2, p2
move v3, p3
move-object v4, p4
move v5, p5
move v7, p6
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
.registers 25
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.param p5, "isShowText" # Z
.param p6, "textSize" # I
.param p7, "codeColor" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;ZII)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.line 611
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
move/from16 v1, p6
invoke-static/range {p0 .. p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v2, 0x0
if-eqz v0, :cond_a
.line 612
return-object v2
.line 614
:cond_a
const/4 v3, -0x1
.line 615
.local v3, "WHITE":I
move/from16 v4, p7
.line 617
.local v4, "BLACK":I
new-instance v5, Lcom/google/zxing/MultiFormatWriter;
invoke-direct {v5}, Lcom/google/zxing/MultiFormatWriter;-><init>()V
.line 619
.local v5, "writer":Lcom/google/zxing/MultiFormatWriter;
move-object/from16 v6, p0
move-object/from16 v7, p1
move/from16 v8, p2
move/from16 v9, p3
move-object/from16 v10, p4
:try_start_1c
invoke-virtual/range {v5 .. v10}, Lcom/google/zxing/MultiFormatWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object v0
.line 621
.local v0, "result":Lcom/google/zxing/common/BitMatrix;
invoke-virtual {v0}, Lcom/google/zxing/common/BitMatrix;->getWidth()I
move-result v6
.line 622
.local v6, "width":I
invoke-virtual {v0}, Lcom/google/zxing/common/BitMatrix;->getHeight()I
move-result v7
move v15, v7
.line 623
.local v15, "height":I
mul-int v7, v6, v15
new-array v7, v7, [I
move-object/from16 v16, v7
.line 625
.local v16, "pixels":[I
const/4 v7, 0x0
.local v7, "y":I
:goto_30
if-ge v7, v15, :cond_4a
.line 626
mul-int v8, v7, v6
.line 627
.local v8, "offset":I
const/4 v9, 0x0
.local v9, "x":I
:goto_35
if-ge v9, v6, :cond_47
.line 628
add-int v10, v8, v9
invoke-virtual {v0, v9, v7}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v11
if-eqz v11, :cond_41
move v11, v4
goto :goto_42
:cond_41
const/4 v11, -0x1
:goto_42
aput v11, v16, v10
.line 627
add-int/lit8 v9, v9, 0x1
goto :goto_35
.line 625
.end local v8 # "offset":I
.end local v9 # "x":I
:cond_47
add-int/lit8 v7, v7, 0x1
goto :goto_30
.line 632
.end local v7 # "y":I
:cond_4a
sget-object v7, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v6, v15, v7}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v7
move-object v14, v7
.line 634
.local v14, "bitmap":Landroid/graphics/Bitmap;
const/4 v9, 0x0
const/4 v11, 0x0
const/4 v12, 0x0
move-object/from16 v8, v16
move v10, v6
move v13, v6
move-object v2, v14
.end local v14 # "bitmap":Landroid/graphics/Bitmap;
.local v2, "bitmap":Landroid/graphics/Bitmap;
move v14, v15
invoke-virtual/range {v7 .. v14}, Landroid/graphics/Bitmap;->setPixels([IIIIIII)V
.line 635
if-eqz p5, :cond_6c
.line 636
div-int/lit8 v7, v1, 0x2
:try_end_61
.catch Lcom/google/zxing/WriterException; {:try_start_1c .. :try_end_61} :catch_71
move-object/from16 v8, p0
move/from16 v9, p7
:try_start_65
invoke-static {v2, v8, v1, v9, v7}, Lcom/king/zxing/util/CodeUtils;->addCode(Landroid/graphics/Bitmap;Ljava/lang/String;III)Landroid/graphics/Bitmap;
move-result-object v7
:try_end_69
.catch Lcom/google/zxing/WriterException; {:try_start_65 .. :try_end_69} :catch_6a
return-object v7
.line 639
.end local v0 # "result":Lcom/google/zxing/common/BitMatrix;
.end local v2 # "bitmap":Landroid/graphics/Bitmap;
.end local v6 # "width":I
.end local v15 # "height":I
.end local v16 # "pixels":[I
:catch_6a
move-exception v0
goto :goto_76
.line 638
.restart local v0 # "result":Lcom/google/zxing/common/BitMatrix;
.restart local v2 # "bitmap":Landroid/graphics/Bitmap;
.restart local v6 # "width":I
.restart local v15 # "height":I
.restart local v16 # "pixels":[I
:cond_6c
move-object/from16 v8, p0
move/from16 v9, p7
return-object v2
.line 639
.end local v0 # "result":Lcom/google/zxing/common/BitMatrix;
.end local v2 # "bitmap":Landroid/graphics/Bitmap;
.end local v6 # "width":I
.end local v15 # "height":I
.end local v16 # "pixels":[I
:catch_71
move-exception v0
move-object/from16 v8, p0
move/from16 v9, p7
.line 640
.local v0, "e":Lcom/google/zxing/WriterException;
:goto_76
invoke-virtual {v0}, Lcom/google/zxing/WriterException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 642
.end local v0 # "e":Lcom/google/zxing/WriterException;
const/4 v2, 0x0
return-object v2
.end method
.method public static createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IIZI)Landroid/graphics/Bitmap;
.registers 14
.param p0, "content" # Ljava/lang/String;
.param p1, "format" # Lcom/google/zxing/BarcodeFormat;
.param p2, "desiredWidth" # I
.param p3, "desiredHeight" # I
.param p4, "isShowText" # Z
.param p5, "codeColor" # I
.line 581
const/4 v4, 0x0
const/16 v6, 0x28
move-object v0, p0
move-object v1, p1
move v2, p2
move v3, p3
move v5, p4
move v7, p5
invoke-static/range {v0 .. v7}, Lcom/king/zxing/util/CodeUtils;->createBarCode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;ZII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;I)Landroid/graphics/Bitmap;
.registers 3
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.line 72
const/4 v0, 0x0
invoke-static {p0, p1, v0}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;II)Landroid/graphics/Bitmap;
.registers 4
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "codeColor" # I
.line 83
const/4 v0, 0x0
invoke-static {p0, p1, v0, p2}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 4
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.line 94
const/high16 v0, -0x1000000
invoke-static {p0, p1, p2, v0}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;F)Landroid/graphics/Bitmap;
.registers 7
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.param p3, "ratio" # F
.line 119
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 120
.local v0, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;Ljava/lang/Object;>;"
sget-object v1, Lcom/google/zxing/EncodeHintType;->CHARACTER_SET:Lcom/google/zxing/EncodeHintType;
const-string/jumbo v2, "utf-8"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 122
sget-object v1, Lcom/google/zxing/EncodeHintType;->ERROR_CORRECTION:Lcom/google/zxing/EncodeHintType;
sget-object v2, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;->H:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 124
sget-object v1, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
const/4 v2, 0x1
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 125
invoke-static {p0, p1, p2, p3, v0}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FLjava/util/Map;)Landroid/graphics/Bitmap;
move-result-object v1
return-object v1
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FI)Landroid/graphics/Bitmap;
.registers 12
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.param p3, "ratio" # F
.param p4, "codeColor" # I
.line 139
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 140
.local v0, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;Ljava/lang/Object;>;"
sget-object v1, Lcom/google/zxing/EncodeHintType;->CHARACTER_SET:Lcom/google/zxing/EncodeHintType;
const-string/jumbo v2, "utf-8"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 142
sget-object v1, Lcom/google/zxing/EncodeHintType;->ERROR_CORRECTION:Lcom/google/zxing/EncodeHintType;
sget-object v2, Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;->H:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 144
sget-object v1, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
const/4 v2, 0x1
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 145
move-object v1, p0
move v2, p1
move-object v3, p2
move v4, p3
move-object v5, v0
move v6, p4
invoke-static/range {v1 .. v6}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FLjava/util/Map;I)Landroid/graphics/Bitmap;
move-result-object v1
return-object v1
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FLjava/util/Map;)Landroid/graphics/Bitmap;
.registers 11
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.param p3, "ratio" # F
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"I",
"Landroid/graphics/Bitmap;",
"F",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.line 149
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
const/high16 v5, -0x1000000
move-object v0, p0
move v1, p1
move-object v2, p2
move v3, p3
move-object v4, p4
invoke-static/range {v0 .. v5}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FLjava/util/Map;I)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FLjava/util/Map;I)Landroid/graphics/Bitmap;
.registers 19
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.param p3, "ratio" # F
.param p5, "codeColor" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"I",
"Landroid/graphics/Bitmap;",
"F",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;I)",
"Landroid/graphics/Bitmap;"
}
.end annotation
.local p4, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
move v9, p1
move-object v10, p2
.line 166
:try_start_2
new-instance v1, Lcom/google/zxing/qrcode/QRCodeWriter;
invoke-direct {v1}, Lcom/google/zxing/qrcode/QRCodeWriter;-><init>()V
sget-object v3, Lcom/google/zxing/BarcodeFormat;->QR_CODE:Lcom/google/zxing/BarcodeFormat;
move-object v2, p0
move v4, p1
move v5, p1
move-object/from16 v6, p4
invoke-virtual/range {v1 .. v6}, Lcom/google/zxing/qrcode/QRCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object v0
.line 167
.local v0, "bitMatrix":Lcom/google/zxing/common/BitMatrix;
mul-int v1, v9, v9
new-array v1, v1, [I
move-object v11, v1
.line 170
.local v11, "pixels":[I
const/4 v1, 0x0
.local v1, "y":I
:goto_18
if-ge v1, v9, :cond_35
.line 171
const/4 v2, 0x0
.local v2, "x":I
:goto_1b
if-ge v2, v9, :cond_32
.line 172
invoke-virtual {v0, v2, v1}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v3
if-eqz v3, :cond_29
.line 173
mul-int v3, v1, v9
add-int/2addr v3, v2
aput p5, v11, v3
goto :goto_2f
.line 175
:cond_29
mul-int v3, v1, v9
add-int/2addr v3, v2
const/4 v4, -0x1
aput v4, v11, v3
.line 171
:goto_2f
add-int/lit8 v2, v2, 0x1
goto :goto_1b
.line 170
.end local v2 # "x":I
:cond_32
add-int/lit8 v1, v1, 0x1
goto :goto_18
.line 181
.end local v1 # "y":I
:cond_35
sget-object v1, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {p1, p1, v1}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v1
move-object v12, v1
.line 182
.local v12, "bitmap":Landroid/graphics/Bitmap;
const/4 v3, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
move-object v2, v11
move v4, p1
move v7, p1
move v8, p1
invoke-virtual/range {v1 .. v8}, Landroid/graphics/Bitmap;->setPixels([IIIIIII)V
:try_end_46
.catch Lcom/google/zxing/WriterException; {:try_start_2 .. :try_end_46} :catch_55
.line 184
if-eqz v10, :cond_52
.line 185
move/from16 v1, p3
:try_start_4a
invoke-static {v12, p2, v1}, Lcom/king/zxing/util/CodeUtils;->addLogo(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;F)Landroid/graphics/Bitmap;
move-result-object v2
:try_end_4e
.catch Lcom/google/zxing/WriterException; {:try_start_4a .. :try_end_4e} :catch_50
move-object v12, v2
goto :goto_54
.line 189
.end local v0 # "bitMatrix":Lcom/google/zxing/common/BitMatrix;
.end local v11 # "pixels":[I
.end local v12 # "bitmap":Landroid/graphics/Bitmap;
:catch_50
move-exception v0
goto :goto_58
.line 184
.restart local v0 # "bitMatrix":Lcom/google/zxing/common/BitMatrix;
.restart local v11 # "pixels":[I
.restart local v12 # "bitmap":Landroid/graphics/Bitmap;
:cond_52
move/from16 v1, p3
.line 188
:goto_54
return-object v12
.line 189
.end local v0 # "bitMatrix":Lcom/google/zxing/common/BitMatrix;
.end local v11 # "pixels":[I
.end local v12 # "bitmap":Landroid/graphics/Bitmap;
:catch_55
move-exception v0
move/from16 v1, p3
.line 190
.local v0, "e":Lcom/google/zxing/WriterException;
:goto_58
invoke-virtual {v0}, Lcom/google/zxing/WriterException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 193
.end local v0 # "e":Lcom/google/zxing/WriterException;
const/4 v0, 0x0
return-object v0
.end method
.method public static createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
.registers 5
.param p0, "content" # Ljava/lang/String;
.param p1, "heightPix" # I
.param p2, "logo" # Landroid/graphics/Bitmap;
.param p3, "codeColor" # I
.line 106
const v0, 0x3e4ccccd # 0.2f
invoke-static {p0, p1, p2, v0, p3}, Lcom/king/zxing/util/CodeUtils;->createQRCode(Ljava/lang/String;ILandroid/graphics/Bitmap;FI)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method private static getRGBLuminanceSource(Landroid/graphics/Bitmap;)Lcom/google/zxing/RGBLuminanceSource;
.registers 12
.param p0, "bitmap" # Landroid/graphics/Bitmap;
.line 494
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
.line 495
.local v0, "width":I
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
.line 497
.local v1, "height":I
mul-int v2, v0, v1
new-array v2, v2, [I
.line 498
.local v2, "pixels":[I
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v6
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v9
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v10
const/4 v5, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
move-object v3, p0
move-object v4, v2
invoke-virtual/range {v3 .. v10}, Landroid/graphics/Bitmap;->getPixels([IIIIIII)V
.line 499
new-instance v3, Lcom/google/zxing/RGBLuminanceSource;
invoke-direct {v3, v0, v1, v2}, Lcom/google/zxing/RGBLuminanceSource;-><init>(II[I)V
return-object v3
.end method
.method public static parseCode(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p0, "bitmapPath" # Ljava/lang/String;
.line 350
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 352
.local v0, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;Ljava/lang/Object;>;"
new-instance v1, Ljava/util/Vector;
invoke-direct {v1}, Ljava/util/Vector;-><init>()V
.line 353
.local v1, "decodeFormats":Ljava/util/Vector;, "Ljava/util/Vector<Lcom/google/zxing/BarcodeFormat;>;"
sget-object v2, Lcom/king/zxing/DecodeFormatManager;->ONE_D_FORMATS:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/util/Vector;->addAll(Ljava/util/Collection;)Z
.line 354
sget-object v2, Lcom/king/zxing/DecodeFormatManager;->QR_CODE_FORMATS:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/util/Vector;->addAll(Ljava/util/Collection;)Z
.line 355
sget-object v2, Lcom/king/zxing/DecodeFormatManager;->DATA_MATRIX_FORMATS:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/util/Vector;->addAll(Ljava/util/Collection;)Z
.line 356
sget-object v2, Lcom/king/zxing/DecodeFormatManager;->AZTEC_FORMATS:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/util/Vector;->addAll(Ljava/util/Collection;)Z
.line 357
sget-object v2, Lcom/king/zxing/DecodeFormatManager;->PDF417_FORMATS:Ljava/util/Set;
invoke-virtual {v1, v2}, Ljava/util/Vector;->addAll(Ljava/util/Collection;)Z
.line 359
sget-object v2, Lcom/google/zxing/DecodeHintType;->CHARACTER_SET:Lcom/google/zxing/DecodeHintType;
const-string/jumbo v3, "utf-8"
invoke-interface {v0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 360
sget-object v2, Lcom/google/zxing/DecodeHintType;->TRY_HARDER:Lcom/google/zxing/DecodeHintType;
sget-object v3, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-interface {v0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 361
sget-object v2, Lcom/google/zxing/DecodeHintType;->POSSIBLE_FORMATS:Lcom/google/zxing/DecodeHintType;
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 362
invoke-static {p0, v0}, Lcom/king/zxing/util/CodeUtils;->parseCode(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method public static parseCode(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
.registers 4
.param p0, "bitmapPath" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"Ljava/lang/Object;",
">;)",
"Ljava/lang/String;"
}
.end annotation
.line 372
.local p1, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;Ljava/lang/Object;>;"
invoke-static {p0, p1}, Lcom/king/zxing/util/CodeUtils;->parseCodeResult(Ljava/lang/String;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v0
.line 373
.local v0, "result":Lcom/google/zxing/Result;
if-eqz v0, :cond_b
.line 374
invoke-virtual {v0}, Lcom/google/zxing/Result;->getText()Ljava/lang/String;
move-result-object v1
return-object v1
.line 376
:cond_b
const/4 v1, 0x0
return-object v1
.end method
.method public static parseCodeResult(Ljava/lang/String;IILjava/util/Map;)Lcom/google/zxing/Result;
.registers 11
.param p0, "bitmapPath" # Ljava/lang/String;
.param p1, "reqWidth" # I
.param p2, "reqHeight" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"Ljava/lang/Object;",
">;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.line 398
.local p3, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;Ljava/lang/Object;>;"
const/4 v0, 0x0
.line 400
.local v0, "result":Lcom/google/zxing/Result;
:try_start_1
new-instance v1, Lcom/google/zxing/MultiFormatReader;
invoke-direct {v1}, Lcom/google/zxing/MultiFormatReader;-><init>()V
.line 401
.local v1, "reader":Lcom/google/zxing/MultiFormatReader;
invoke-virtual {v1, p3}, Lcom/google/zxing/MultiFormatReader;->setHints(Ljava/util/Map;)V
.line 403
invoke-static {p0, p1, p2}, Lcom/king/zxing/util/CodeUtils;->compressBitmap(Ljava/lang/String;II)Landroid/graphics/Bitmap;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/CodeUtils;->getRGBLuminanceSource(Landroid/graphics/Bitmap;)Lcom/google/zxing/RGBLuminanceSource;
move-result-object v2
:try_end_11
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_11} :catch_76
.line 404
.local v2, "source":Lcom/google/zxing/RGBLuminanceSource;
if-eqz v2, :cond_75
.line 408
:try_start_13
new-instance v3, Lcom/google/zxing/BinaryBitmap;
new-instance v4, Lcom/google/zxing/common/HybridBinarizer;
invoke-direct {v4, v2}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v3, v4}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 409
.local v3, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v3}, Lcom/google/zxing/MultiFormatReader;->decodeWithState(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
move-result-object v4
:try_end_21
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_21} :catch_24
move-object v0, v4
.line 410
const/4 v3, 0x0
.line 413
.local v3, "isReDecode":Z
goto :goto_27
.line 411
.end local v3 # "isReDecode":Z
:catch_24
move-exception v3
.line 412
.local v3, "e":Ljava/lang/Exception;
const/4 v4, 0x1
move v3, v4
.line 415
.local v3, "isReDecode":Z
:goto_27
if-eqz v3, :cond_40
.line 417
:try_start_29
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/HybridBinarizer;
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->invert()Lcom/google/zxing/LuminanceSource;
move-result-object v6
invoke-direct {v5, v6}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 418
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4}, Lcom/google/zxing/MultiFormatReader;->decodeWithState(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_3b
.catch Ljava/lang/Exception; {:try_start_29 .. :try_end_3b} :catch_3e
move-object v0, v5
.line 419
const/4 v3, 0x0
.line 422
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_40
.line 420
:catch_3e
move-exception v4
.line 421
.local v4, "e":Ljava/lang/Exception;
const/4 v3, 0x1
.line 425
.end local v4 # "e":Ljava/lang/Exception;
:cond_40
:goto_40
if-eqz v3, :cond_55
.line 427
:try_start_42
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/GlobalHistogramBinarizer;
invoke-direct {v5, v2}, Lcom/google/zxing/common/GlobalHistogramBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 428
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4}, Lcom/google/zxing/MultiFormatReader;->decodeWithState(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_50
.catch Ljava/lang/Exception; {:try_start_42 .. :try_end_50} :catch_53
move-object v0, v5
.line 429
const/4 v3, 0x0
.line 432
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_55
.line 430
:catch_53
move-exception v4
.line 431
.local v4, "e":Ljava/lang/Exception;
const/4 v3, 0x1
.line 435
.end local v4 # "e":Ljava/lang/Exception;
:cond_55
:goto_55
if-eqz v3, :cond_72
:try_start_57
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->isRotateSupported()Z
move-result v4
:try_end_5b
.catch Ljava/lang/Exception; {:try_start_57 .. :try_end_5b} :catch_76
if-eqz v4, :cond_72
.line 437
:try_start_5d
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/HybridBinarizer;
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->rotateCounterClockwise()Lcom/google/zxing/LuminanceSource;
move-result-object v6
invoke-direct {v5, v6}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 438
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4}, Lcom/google/zxing/MultiFormatReader;->decodeWithState(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_6f
.catch Ljava/lang/Exception; {:try_start_5d .. :try_end_6f} :catch_71
move-object v0, v5
.line 441
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_72
.line 439
:catch_71
move-exception v4
.line 444
:cond_72
:goto_72
:try_start_72
invoke-virtual {v1}, Lcom/google/zxing/MultiFormatReader;->reset()V
:try_end_75
.catch Ljava/lang/Exception; {:try_start_72 .. :try_end_75} :catch_76
.line 449
.end local v1 # "reader":Lcom/google/zxing/MultiFormatReader;
.end local v2 # "source":Lcom/google/zxing/RGBLuminanceSource;
.end local v3 # "isReDecode":Z
:cond_75
goto :goto_7e
.line 447
:catch_76
move-exception v1
.line 448
.local v1, "e":Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 451
.end local v1 # "e":Ljava/lang/Exception;
:goto_7e
return-object v0
.end method
.method public static parseCodeResult(Ljava/lang/String;Ljava/util/Map;)Lcom/google/zxing/Result;
.registers 4
.param p0, "bitmapPath" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"Ljava/lang/Object;",
">;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.line 386
.local p1, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;Ljava/lang/Object;>;"
const/16 v0, 0x1c2
const/16 v1, 0x320
invoke-static {p0, v0, v1, p1}, Lcom/king/zxing/util/CodeUtils;->parseCodeResult(Ljava/lang/String;IILjava/util/Map;)Lcom/google/zxing/Result;
move-result-object v0
return-object v0
.end method
.method public static parseQRCode(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.param p0, "bitmapPath" # Ljava/lang/String;
.line 250
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 251
.local v0, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;Ljava/lang/Object;>;"
sget-object v1, Lcom/google/zxing/DecodeHintType;->CHARACTER_SET:Lcom/google/zxing/DecodeHintType;
const-string/jumbo v2, "utf-8"
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 252
sget-object v1, Lcom/google/zxing/DecodeHintType;->TRY_HARDER:Lcom/google/zxing/DecodeHintType;
sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 253
invoke-static {p0, v0}, Lcom/king/zxing/util/CodeUtils;->parseQRCode(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method public static parseQRCode(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
.registers 4
.param p0, "bitmapPath" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.line 263
.local p1, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;*>;"
invoke-static {p0, p1}, Lcom/king/zxing/util/CodeUtils;->parseQRCodeResult(Ljava/lang/String;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v0
.line 264
.local v0, "result":Lcom/google/zxing/Result;
if-eqz v0, :cond_b
.line 265
invoke-virtual {v0}, Lcom/google/zxing/Result;->getText()Ljava/lang/String;
move-result-object v1
return-object v1
.line 267
:cond_b
const/4 v1, 0x0
return-object v1
.end method
.method public static parseQRCodeResult(Ljava/lang/String;IILjava/util/Map;)Lcom/google/zxing/Result;
.registers 11
.param p0, "bitmapPath" # Ljava/lang/String;
.param p1, "reqWidth" # I
.param p2, "reqHeight" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.line 289
.local p3, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;*>;"
const/4 v0, 0x0
.line 291
.local v0, "result":Lcom/google/zxing/Result;
:try_start_1
new-instance v1, Lcom/google/zxing/qrcode/QRCodeReader;
invoke-direct {v1}, Lcom/google/zxing/qrcode/QRCodeReader;-><init>()V
.line 293
.local v1, "reader":Lcom/google/zxing/qrcode/QRCodeReader;
invoke-static {p0, p1, p2}, Lcom/king/zxing/util/CodeUtils;->compressBitmap(Ljava/lang/String;II)Landroid/graphics/Bitmap;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/CodeUtils;->getRGBLuminanceSource(Landroid/graphics/Bitmap;)Lcom/google/zxing/RGBLuminanceSource;
move-result-object v2
:try_end_e
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_73
.line 294
.local v2, "source":Lcom/google/zxing/RGBLuminanceSource;
if-eqz v2, :cond_72
.line 298
:try_start_10
new-instance v3, Lcom/google/zxing/BinaryBitmap;
new-instance v4, Lcom/google/zxing/common/HybridBinarizer;
invoke-direct {v4, v2}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v3, v4}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 299
.local v3, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v3, p3}, Lcom/google/zxing/qrcode/QRCodeReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v4
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_1e} :catch_21
move-object v0, v4
.line 300
const/4 v3, 0x0
.line 303
.local v3, "isReDecode":Z
goto :goto_24
.line 301
.end local v3 # "isReDecode":Z
:catch_21
move-exception v3
.line 302
.local v3, "e":Ljava/lang/Exception;
const/4 v4, 0x1
move v3, v4
.line 305
.local v3, "isReDecode":Z
:goto_24
if-eqz v3, :cond_3d
.line 307
:try_start_26
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/HybridBinarizer;
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->invert()Lcom/google/zxing/LuminanceSource;
move-result-object v6
invoke-direct {v5, v6}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 308
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4, p3}, Lcom/google/zxing/qrcode/QRCodeReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_38
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_38} :catch_3b
move-object v0, v5
.line 309
const/4 v3, 0x0
.line 312
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_3d
.line 310
:catch_3b
move-exception v4
.line 311
.local v4, "e":Ljava/lang/Exception;
const/4 v3, 0x1
.line 315
.end local v4 # "e":Ljava/lang/Exception;
:cond_3d
:goto_3d
if-eqz v3, :cond_52
.line 317
:try_start_3f
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/GlobalHistogramBinarizer;
invoke-direct {v5, v2}, Lcom/google/zxing/common/GlobalHistogramBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 318
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4, p3}, Lcom/google/zxing/qrcode/QRCodeReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_3f .. :try_end_4d} :catch_50
move-object v0, v5
.line 319
const/4 v3, 0x0
.line 322
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_52
.line 320
:catch_50
move-exception v4
.line 321
.local v4, "e":Ljava/lang/Exception;
const/4 v3, 0x1
.line 325
.end local v4 # "e":Ljava/lang/Exception;
:cond_52
:goto_52
if-eqz v3, :cond_6f
:try_start_54
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->isRotateSupported()Z
move-result v4
:try_end_58
.catch Ljava/lang/Exception; {:try_start_54 .. :try_end_58} :catch_73
if-eqz v4, :cond_6f
.line 327
:try_start_5a
new-instance v4, Lcom/google/zxing/BinaryBitmap;
new-instance v5, Lcom/google/zxing/common/HybridBinarizer;
invoke-virtual {v2}, Lcom/google/zxing/RGBLuminanceSource;->rotateCounterClockwise()Lcom/google/zxing/LuminanceSource;
move-result-object v6
invoke-direct {v5, v6}, Lcom/google/zxing/common/HybridBinarizer;-><init>(Lcom/google/zxing/LuminanceSource;)V
invoke-direct {v4, v5}, Lcom/google/zxing/BinaryBitmap;-><init>(Lcom/google/zxing/Binarizer;)V
.line 328
.local v4, "bitmap":Lcom/google/zxing/BinaryBitmap;
invoke-virtual {v1, v4, p3}, Lcom/google/zxing/qrcode/QRCodeReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v5
:try_end_6c
.catch Ljava/lang/Exception; {:try_start_5a .. :try_end_6c} :catch_6e
move-object v0, v5
.line 331
.end local v4 # "bitmap":Lcom/google/zxing/BinaryBitmap;
goto :goto_6f
.line 329
:catch_6e
move-exception v4
.line 334
:cond_6f
:goto_6f
:try_start_6f
invoke-virtual {v1}, Lcom/google/zxing/qrcode/QRCodeReader;->reset()V
:try_end_72
.catch Ljava/lang/Exception; {:try_start_6f .. :try_end_72} :catch_73
.line 339
.end local v1 # "reader":Lcom/google/zxing/qrcode/QRCodeReader;
.end local v2 # "source":Lcom/google/zxing/RGBLuminanceSource;
.end local v3 # "isReDecode":Z
:cond_72
goto :goto_7b
.line 337
:catch_73
move-exception v1
.line 338
.local v1, "e":Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/king/zxing/util/LogUtils;->w(Ljava/lang/String;)V
.line 341
.end local v1 # "e":Ljava/lang/Exception;
:goto_7b
return-object v0
.end method
.method public static parseQRCodeResult(Ljava/lang/String;Ljava/util/Map;)Lcom/google/zxing/Result;
.registers 4
.param p0, "bitmapPath" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.line 277
.local p1, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;*>;"
const/16 v0, 0x1c2
const/16 v1, 0x320
invoke-static {p0, v0, v1, p1}, Lcom/king/zxing/util/CodeUtils;->parseQRCodeResult(Ljava/lang/String;IILjava/util/Map;)Lcom/google/zxing/Result;
move-result-object v0
return-object v0
.end method