ViewfinderView.smali
.class public final Lcom/king/zxing/ViewfinderView;
.super Landroid/view/View;
.source "ViewfinderView.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/king/zxing/ViewfinderView$TextLocation;,
Lcom/king/zxing/ViewfinderView$LaserStyle;
}
.end annotation
# static fields
.field private static final CURRENT_POINT_OPACITY:I
.field private static final MAX_RESULT_POINTS:I
.field private static final POINT_SIZE:I
# instance fields
.field private cornerColor:I
.field private cornerRectHeight:I
.field private cornerRectWidth:I
.field private frame:Landroid/graphics/Rect;
.field private frameColor:I
.field private frameHeight:I
.field private frameLineWidth:I
.field private frameRatio:F
.field private frameWidth:I
.field private gridColumn:I
.field private gridHeight:I
.field private isShowResultPoint:Z
.field private labelText:Ljava/lang/String;
.field private labelTextColor:I
.field private labelTextLocation:Lcom/king/zxing/ViewfinderView$TextLocation;
.field private labelTextPadding:F
.field private labelTextSize:F
.field private laserColor:I
.field private laserStyle:Lcom/king/zxing/ViewfinderView$LaserStyle;
.field private lastPossibleResultPoints:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/zxing/ResultPoint;",
">;"
}
.end annotation
.end field
.field private maskColor:I
.field private paint:Landroid/graphics/Paint;
.field private possibleResultPoints:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/zxing/ResultPoint;",
">;"
}
.end annotation
.end field
.field private resultPointColor:I
.field private scannerAnimationDelay:I
.field public scannerEnd:I
.field private scannerLineHeight:I
.field private scannerLineMoveDistance:I
.field public scannerStart:I
.field private screenHeight:I
.field private screenWidth:I
.field private textPaint:Landroid/text/TextPaint;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x15cf
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/ViewfinderView;->CURRENT_POINT_OPACITY:I
const v0, 0x157b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/ViewfinderView;->MAX_RESULT_POINTS:I
const v0, 0x157b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/king/zxing/ViewfinderView;->POINT_SIZE:I
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.param p1, "context" # Landroid/content/Context;
.line 235
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/king/zxing/ViewfinderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 236
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.line 239
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/king/zxing/ViewfinderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 240
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 5
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.param p3, "defStyleAttr" # I
.line 243
invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 111
const/4 v0, 0x0
iput v0, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
.line 115
iput v0, p0, Lcom/king/zxing/ViewfinderView;->scannerEnd:I
.line 244
invoke-direct {p0, p1, p2}, Lcom/king/zxing/ViewfinderView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 245
return-void
.end method
.method private drawCorner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 10
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 395
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 397
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
add-int/2addr v0, v1
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
add-int/2addr v0, v1
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 398
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
add-int/2addr v0, v1
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
add-int/2addr v0, v1
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 400
iget v0, p2, Landroid/graphics/Rect;->right:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
sub-int/2addr v0, v1
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
add-int/2addr v0, v1
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 401
iget v0, p2, Landroid/graphics/Rect;->right:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
sub-int/2addr v0, v1
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
add-int/2addr v0, v1
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 403
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
sub-int/2addr v0, v1
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
add-int/2addr v0, v1
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 404
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
sub-int/2addr v0, v1
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
add-int/2addr v0, v1
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 406
iget v0, p2, Landroid/graphics/Rect;->right:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
sub-int/2addr v0, v1
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
sub-int/2addr v0, v1
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 407
iget v0, p2, Landroid/graphics/Rect;->right:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
sub-int/2addr v0, v1
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
sub-int/2addr v0, v1
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 408
return-void
.end method
.method private drawExterior(Landroid/graphics/Canvas;Landroid/graphics/Rect;II)V
.registers 13
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.param p3, "width" # I
.param p4, "height" # I
.line 524
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->maskColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 525
int-to-float v5, p3
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v6, v0
iget-object v7, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/4 v3, 0x0
const/4 v4, 0x0
move-object v2, p1
invoke-virtual/range {v2 .. v7}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 526
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/4 v2, 0x0
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 527
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
int-to-float v4, p3
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 528
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v3, v0
int-to-float v4, p3
int-to-float v5, p4
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/4 v2, 0x0
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 529
return-void
.end method
.method private drawFrame(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 10
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 509
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 510
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameLineWidth:I
add-int/2addr v0, v1
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 511
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameLineWidth:I
add-int/2addr v0, v1
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 512
iget v0, p2, Landroid/graphics/Rect;->right:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameLineWidth:I
sub-int/2addr v0, v1
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->top:I
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 513
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameLineWidth:I
sub-int/2addr v0, v1
int-to-float v3, v0
iget v0, p2, Landroid/graphics/Rect;->right:I
int-to-float v4, v0
iget v0, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v0
iget-object v6, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 514
return-void
.end method
.method private drawGridScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 19
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 461
move-object/from16 v0, p0
move-object/from16 v1, p2
const/4 v2, 0x2
.line 462
.local v2, "stroke":I
iget-object v3, v0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
int-to-float v4, v2
invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 464
iget v3, v0, Lcom/king/zxing/ViewfinderView;->gridHeight:I
if-lez v3, :cond_1c
iget v3, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v4, v1, Landroid/graphics/Rect;->top:I
sub-int/2addr v3, v4
iget v4, v0, Lcom/king/zxing/ViewfinderView;->gridHeight:I
if-le v3, v4, :cond_1c
iget v3, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
sub-int/2addr v3, v4
goto :goto_1e
:cond_1c
iget v3, v1, Landroid/graphics/Rect;->top:I
.line 466
.local v3, "startY":I
:goto_1e
new-instance v12, Landroid/graphics/LinearGradient;
iget v4, v1, Landroid/graphics/Rect;->left:I
invoke-virtual/range {p2 .. p2}, Landroid/graphics/Rect;->width()I
move-result v5
const/4 v6, 0x2
div-int/2addr v5, v6
add-int/2addr v4, v5
int-to-float v5, v4
int-to-float v7, v3
iget v4, v1, Landroid/graphics/Rect;->left:I
invoke-virtual/range {p2 .. p2}, Landroid/graphics/Rect;->width()I
move-result v8
div-int/2addr v8, v6
add-int/2addr v4, v8
int-to-float v8, v4
iget v4, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v9, v4
new-array v10, v6, [I
const/4 v4, 0x0
iget v11, v0, Lcom/king/zxing/ViewfinderView;->laserColor:I
invoke-virtual {v0, v11}, Lcom/king/zxing/ViewfinderView;->shadeColor(I)I
move-result v11
aput v11, v10, v4
iget v4, v0, Lcom/king/zxing/ViewfinderView;->laserColor:I
const/4 v11, 0x1
aput v4, v10, v11
new-array v11, v6, [F
fill-array-data v11, :array_dc
sget-object v13, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
move-object v4, v12
move v6, v7
move v7, v8
move v8, v9
move-object v9, v10
move-object v10, v11
move-object v11, v13
invoke-direct/range {v4 .. v11}, Landroid/graphics/LinearGradient;-><init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V
.line 468
.local v4, "linearGradient":Landroid/graphics/LinearGradient;
iget-object v5, v0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual {v5, v4}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 470
invoke-virtual/range {p2 .. p2}, Landroid/graphics/Rect;->width()I
move-result v5
int-to-float v5, v5
const/high16 v6, 0x3f800000 # 1.0f
mul-float v5, v5, v6
iget v6, v0, Lcom/king/zxing/ViewfinderView;->gridColumn:I
int-to-float v6, v6
div-float/2addr v5, v6
.line 471
.local v5, "wUnit":F
move v6, v5
.line 473
.local v6, "hUnit":F
const/4 v7, 0x1
.local v7, "i":I
:goto_6c
iget v8, v0, Lcom/king/zxing/ViewfinderView;->gridColumn:I
if-ge v7, v8, :cond_8e
.line 474
iget v8, v1, Landroid/graphics/Rect;->left:I
int-to-float v8, v8
int-to-float v9, v7
mul-float v9, v9, v5
add-float v11, v8, v9
int-to-float v12, v3
iget v8, v1, Landroid/graphics/Rect;->left:I
int-to-float v8, v8
int-to-float v9, v7
mul-float v9, v9, v5
add-float v13, v8, v9
iget v8, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v14, v8
iget-object v15, v0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object/from16 v10, p1
invoke-virtual/range {v10 .. v15}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 473
add-int/lit8 v7, v7, 0x1
goto :goto_6c
.line 477
.end local v7 # "i":I
:cond_8e
iget v7, v0, Lcom/king/zxing/ViewfinderView;->gridHeight:I
if-lez v7, :cond_9c
iget v7, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v8, v1, Landroid/graphics/Rect;->top:I
sub-int/2addr v7, v8
iget v8, v0, Lcom/king/zxing/ViewfinderView;->gridHeight:I
if-le v7, v8, :cond_9c
goto :goto_a2
:cond_9c
iget v7, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v8, v1, Landroid/graphics/Rect;->top:I
sub-int v8, v7, v8
:goto_a2
move v7, v8
.line 480
.local v7, "height":I
const/4 v8, 0x0
.local v8, "i":I
:goto_a4
int-to-float v9, v8
int-to-float v10, v7
div-float/2addr v10, v6
cmpg-float v9, v9, v10
if-gtz v9, :cond_cb
.line 481
iget v9, v1, Landroid/graphics/Rect;->left:I
int-to-float v11, v9
iget v9, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v9, v9
int-to-float v10, v8
mul-float v10, v10, v6
sub-float v12, v9, v10
iget v9, v1, Landroid/graphics/Rect;->right:I
int-to-float v13, v9
iget v9, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v9, v9
int-to-float v10, v8
mul-float v10, v10, v6
sub-float v14, v9, v10
iget-object v15, v0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
move-object/from16 v10, p1
invoke-virtual/range {v10 .. v15}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 480
add-int/lit8 v8, v8, 0x1
goto :goto_a4
.line 484
.end local v8 # "i":I
:cond_cb
iget v8, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v9, v0, Lcom/king/zxing/ViewfinderView;->scannerEnd:I
if-ge v8, v9, :cond_d7
.line 485
iget v9, v0, Lcom/king/zxing/ViewfinderView;->scannerLineMoveDistance:I
add-int/2addr v8, v9
iput v8, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
goto :goto_db
.line 487
:cond_d7
iget v8, v1, Landroid/graphics/Rect;->top:I
iput v8, v0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
.line 490
:goto_db
return-void
:array_dc
.array-data 4
0x0
0x3f800000 # 1.0f
.end array-data
.end method
.method private drawLaserScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 5
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 416
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->laserStyle:Lcom/king/zxing/ViewfinderView$LaserStyle;
if-eqz v0, :cond_2a
.line 417
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->laserColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 418
sget-object v0, Lcom/king/zxing/ViewfinderView$1;->$SwitchMap$com$king$zxing$ViewfinderView$LaserStyle:[I
iget-object v1, p0, Lcom/king/zxing/ViewfinderView;->laserStyle:Lcom/king/zxing/ViewfinderView$LaserStyle;
invoke-virtual {v1}, Lcom/king/zxing/ViewfinderView$LaserStyle;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_20
const/4 v1, 0x2
if-eq v0, v1, :cond_1c
goto :goto_24
.line 423
:cond_1c
invoke-direct {p0, p1, p2}, Lcom/king/zxing/ViewfinderView;->drawGridScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
goto :goto_24
.line 420
:cond_20
invoke-direct {p0, p1, p2}, Lcom/king/zxing/ViewfinderView;->drawLineScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 421
nop
.line 426
:goto_24
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 428
:cond_2a
return-void
.end method
.method private drawLineScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 12
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 437
new-instance v8, Landroid/graphics/LinearGradient;
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v1, v0
iget v0, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v2, v0
iget v0, p2, Landroid/graphics/Rect;->left:I
int-to-float v3, v0
iget v0, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v4, p0, Lcom/king/zxing/ViewfinderView;->scannerLineHeight:I
add-int/2addr v0, v4
int-to-float v4, v0
iget v0, p0, Lcom/king/zxing/ViewfinderView;->laserColor:I
.line 440
invoke-virtual {p0, v0}, Lcom/king/zxing/ViewfinderView;->shadeColor(I)I
move-result v5
iget v6, p0, Lcom/king/zxing/ViewfinderView;->laserColor:I
sget-object v7, Landroid/graphics/Shader$TileMode;->MIRROR:Landroid/graphics/Shader$TileMode;
move-object v0, v8
invoke-direct/range {v0 .. v7}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V
.line 444
.local v0, "linearGradient":Landroid/graphics/LinearGradient;
iget-object v1, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 445
iget v1, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v2, p0, Lcom/king/zxing/ViewfinderView;->scannerEnd:I
if-gt v1, v2, :cond_53
.line 447
new-instance v1, Landroid/graphics/RectF;
iget v2, p2, Landroid/graphics/Rect;->left:I
iget v3, p0, Lcom/king/zxing/ViewfinderView;->scannerLineHeight:I
mul-int/lit8 v3, v3, 0x2
add-int/2addr v2, v3
int-to-float v2, v2
iget v3, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
int-to-float v3, v3
iget v4, p2, Landroid/graphics/Rect;->right:I
iget v5, p0, Lcom/king/zxing/ViewfinderView;->scannerLineHeight:I
mul-int/lit8 v6, v5, 0x2
sub-int/2addr v4, v6
int-to-float v4, v4
iget v6, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
add-int/2addr v6, v5
int-to-float v5, v6
invoke-direct {v1, v2, v3, v4, v5}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 448
.local v1, "rectF":Landroid/graphics/RectF;
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
.line 449
iget v2, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
iget v3, p0, Lcom/king/zxing/ViewfinderView;->scannerLineMoveDistance:I
add-int/2addr v2, v3
iput v2, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
.line 450
.end local v1 # "rectF":Landroid/graphics/RectF;
goto :goto_57
.line 451
:cond_53
iget v1, p2, Landroid/graphics/Rect;->top:I
iput v1, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
.line 453
:goto_57
return-void
.end method
.method private drawResultPoint(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 11
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 538
iget-boolean v0, p0, Lcom/king/zxing/ViewfinderView;->isShowResultPoint:Z
if-nez v0, :cond_5
.line 539
return-void
.line 542
:cond_5
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->possibleResultPoints:Ljava/util/List;
.line 543
.local v0, "currentPossible":Ljava/util/List;, "Ljava/util/List<Lcom/google/zxing/ResultPoint;>;"
iget-object v1, p0, Lcom/king/zxing/ViewfinderView;->lastPossibleResultPoints:Ljava/util/List;
.line 545
.local v1, "currentLast":Ljava/util/List;, "Ljava/util/List<Lcom/google/zxing/ResultPoint;>;"
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v2
if-eqz v2, :cond_13
.line 546
const/4 v2, 0x0
iput-object v2, p0, Lcom/king/zxing/ViewfinderView;->lastPossibleResultPoints:Ljava/util/List;
goto :goto_4d
.line 548
:cond_13
new-instance v2, Ljava/util/ArrayList;
const/4 v3, 0x5
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
iput-object v2, p0, Lcom/king/zxing/ViewfinderView;->possibleResultPoints:Ljava/util/List;
.line 549
iput-object v0, p0, Lcom/king/zxing/ViewfinderView;->lastPossibleResultPoints:Ljava/util/List;
.line 550
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/16 v3, 0xa0
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setAlpha(I)V
.line 551
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v3, p0, Lcom/king/zxing/ViewfinderView;->resultPointColor:I
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V
.line 552
monitor-enter v0
.line 553
const/high16 v2, 0x41200000 # 10.0f
.line 554
.local v2, "radius":F
:try_start_2e
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_32
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_4c
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/zxing/ResultPoint;
.line 555
.local v4, "point":Lcom/google/zxing/ResultPoint;
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v5
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v6
iget-object v7, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v5, v6, v2, v7}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 556
.end local v4 # "point":Lcom/google/zxing/ResultPoint;
goto :goto_32
.line 557
.end local v2 # "radius":F
:cond_4c
monitor-exit v0
:try_end_4d
.catchall {:try_start_2e .. :try_end_4d} :catchall_84
.line 559
:goto_4d
if-eqz v1, :cond_83
.line 560
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
const/16 v3, 0x50
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setAlpha(I)V
.line 561
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
iget v3, p0, Lcom/king/zxing/ViewfinderView;->resultPointColor:I
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V
.line 562
monitor-enter v1
.line 563
const/high16 v2, 0x41200000 # 10.0f
.line 564
.restart local v2 # "radius":F
:try_start_60
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_64
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_7e
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/zxing/ResultPoint;
.line 565
.restart local v4 # "point":Lcom/google/zxing/ResultPoint;
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v5
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v6
iget-object v7, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v5, v6, v2, v7}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 566
.end local v4 # "point":Lcom/google/zxing/ResultPoint;
goto :goto_64
.line 567
.end local v2 # "radius":F
:cond_7e
monitor-exit v1
goto :goto_83
:catchall_80
move-exception v2
monitor-exit v1
:try_end_82
.catchall {:try_start_60 .. :try_end_82} :catchall_80
throw v2
.line 569
:cond_83
:goto_83
return-void
.line 557
:catchall_84
move-exception v2
:try_start_85
monitor-exit v0
:try_end_86
.catchall {:try_start_85 .. :try_end_86} :catchall_84
goto :goto_88
:goto_87
throw v2
:goto_88
goto :goto_87
.end method
.method private drawTextInfo(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.registers 13
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "frame" # Landroid/graphics/Rect;
.line 373
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->labelText:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_6a
.line 374
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->textPaint:Landroid/text/TextPaint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextColor:I
invoke-virtual {v0, v1}, Landroid/text/TextPaint;->setColor(I)V
.line 375
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->textPaint:Landroid/text/TextPaint;
iget v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextSize:F
invoke-virtual {v0, v1}, Landroid/text/TextPaint;->setTextSize(F)V
.line 376
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->textPaint:Landroid/text/TextPaint;
sget-object v1, Landroid/graphics/Paint$Align;->CENTER:Landroid/graphics/Paint$Align;
invoke-virtual {v0, v1}, Landroid/text/TextPaint;->setTextAlign(Landroid/graphics/Paint$Align;)V
.line 377
new-instance v0, Landroid/text/StaticLayout;
iget-object v3, p0, Lcom/king/zxing/ViewfinderView;->labelText:Ljava/lang/String;
iget-object v4, p0, Lcom/king/zxing/ViewfinderView;->textPaint:Landroid/text/TextPaint;
invoke-virtual {p1}, Landroid/graphics/Canvas;->getWidth()I
move-result v5
sget-object v6, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment;
const/high16 v7, 0x3f800000 # 1.0f
const/4 v8, 0x0
const/4 v9, 0x1
move-object v2, v0
invoke-direct/range {v2 .. v9}, Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
.line 378
.local v0, "staticLayout":Landroid/text/StaticLayout;
iget-object v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextLocation:Lcom/king/zxing/ViewfinderView$TextLocation;
sget-object v2, Lcom/king/zxing/ViewfinderView$TextLocation;->BOTTOM:Lcom/king/zxing/ViewfinderView$TextLocation;
if-ne v1, v2, :cond_4e
.line 379
iget v1, p2, Landroid/graphics/Rect;->left:I
invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
move-result v2
div-int/lit8 v2, v2, 0x2
add-int/2addr v1, v2
int-to-float v1, v1
iget v2, p2, Landroid/graphics/Rect;->bottom:I
int-to-float v2, v2
iget v3, p0, Lcom/king/zxing/ViewfinderView;->labelTextPadding:F
add-float/2addr v2, v3
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->translate(FF)V
.line 380
invoke-virtual {v0, p1}, Landroid/text/StaticLayout;->draw(Landroid/graphics/Canvas;)V
goto :goto_6a
.line 382
:cond_4e
iget v1, p2, Landroid/graphics/Rect;->left:I
invoke-virtual {p2}, Landroid/graphics/Rect;->width()I
move-result v2
div-int/lit8 v2, v2, 0x2
add-int/2addr v1, v2
int-to-float v1, v1
iget v2, p2, Landroid/graphics/Rect;->top:I
int-to-float v2, v2
iget v3, p0, Lcom/king/zxing/ViewfinderView;->labelTextPadding:F
sub-float/2addr v2, v3
invoke-virtual {v0}, Landroid/text/StaticLayout;->getHeight()I
move-result v3
int-to-float v3, v3
sub-float/2addr v2, v3
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->translate(FF)V
.line 383
invoke-virtual {v0, p1}, Landroid/text/StaticLayout;->draw(Landroid/graphics/Canvas;)V
.line 387
.end local v0 # "staticLayout":Landroid/text/StaticLayout;
:cond_6a
:goto_6a
return-void
.end method
.method private getDisplayMetrics()Landroid/util/DisplayMetrics;
.registers 2
.line 303
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
return-object v0
.end method
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 8
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.line 250
sget-object v0, Lcom/king/zxing/R$styleable;->ViewfinderView:[I
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object v0
.line 251
.local v0, "array":Landroid/content/res/TypedArray;
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_maskColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_mask:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->maskColor:I
.line 252
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_frameColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_frame:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameColor:I
.line 253
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_cornerColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_corner:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->cornerColor:I
.line 254
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_laserColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_laser:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->laserColor:I
.line 255
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_resultPointColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_result_point_color:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->resultPointColor:I
.line 257
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_labelText:I
invoke-virtual {v0, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->labelText:Ljava/lang/String;
.line 258
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_labelTextColor:I
sget v2, Lcom/king/zxing/R$color;->viewfinder_text_color:I
invoke-static {p1, v2}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextColor:I
.line 259
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_labelTextSize:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/4 v3, 0x2
const/high16 v4, 0x41600000 # 14.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextSize:F
.line 260
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_labelTextPadding:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/4 v3, 0x1
const/high16 v4, 0x41c00000 # 24.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextPadding:F
.line 261
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_labelTextLocation:I
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
# invokes: Lcom/king/zxing/ViewfinderView$TextLocation;->getFromInt(I)Lcom/king/zxing/ViewfinderView$TextLocation;
invoke-static {v1}, Lcom/king/zxing/ViewfinderView$TextLocation;->access$000(I)Lcom/king/zxing/ViewfinderView$TextLocation;
move-result-object v1
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->labelTextLocation:Lcom/king/zxing/ViewfinderView$TextLocation;
.line 263
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_showResultPoint:I
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Lcom/king/zxing/ViewfinderView;->isShowResultPoint:Z
.line 265
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_frameWidth:I
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameWidth:I
.line 266
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_frameHeight:I
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameHeight:I
.line 268
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_laserStyle:I
sget-object v2, Lcom/king/zxing/ViewfinderView$LaserStyle;->LINE:Lcom/king/zxing/ViewfinderView$LaserStyle;
# getter for: Lcom/king/zxing/ViewfinderView$LaserStyle;->mValue:I
invoke-static {v2}, Lcom/king/zxing/ViewfinderView$LaserStyle;->access$100(Lcom/king/zxing/ViewfinderView$LaserStyle;)I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
# invokes: Lcom/king/zxing/ViewfinderView$LaserStyle;->getFromInt(I)Lcom/king/zxing/ViewfinderView$LaserStyle;
invoke-static {v1}, Lcom/king/zxing/ViewfinderView$LaserStyle;->access$200(I)Lcom/king/zxing/ViewfinderView$LaserStyle;
move-result-object v1
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->laserStyle:Lcom/king/zxing/ViewfinderView$LaserStyle;
.line 269
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_gridColumn:I
const/16 v2, 0x14
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->gridColumn:I
.line 270
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_gridHeight:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x42200000 # 40.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->gridHeight:I
.line 272
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_cornerRectWidth:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x40800000 # 4.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectWidth:I
.line 273
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_cornerRectHeight:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x41800000 # 16.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->cornerRectHeight:I
.line 274
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_scannerLineMoveDistance:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x40000000 # 2.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->scannerLineMoveDistance:I
.line 275
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_scannerLineHeight:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x40a00000 # 5.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->scannerLineHeight:I
.line 276
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_frameLineWidth:I
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
const/high16 v4, 0x3f800000 # 1.0f
invoke-static {v3, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
float-to-int v1, v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameLineWidth:I
.line 277
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_scannerAnimationDelay:I
const/16 v2, 0xf
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getInteger(II)I
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->scannerAnimationDelay:I
.line 278
sget v1, Lcom/king/zxing/R$styleable;->ViewfinderView_frameRatio:I
const/high16 v2, 0x3f200000 # 0.625f
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F
move-result v1
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameRatio:F
.line 279
invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
.line 281
new-instance v1, Landroid/graphics/Paint;
invoke-direct {v1, v3}, Landroid/graphics/Paint;-><init>(I)V
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->paint:Landroid/graphics/Paint;
.line 282
new-instance v1, Landroid/text/TextPaint;
invoke-direct {v1, v3}, Landroid/text/TextPaint;-><init>(I)V
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->textPaint:Landroid/text/TextPaint;
.line 284
new-instance v1, Ljava/util/ArrayList;
const/4 v2, 0x5
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->possibleResultPoints:Ljava/util/List;
.line 285
const/4 v1, 0x0
iput-object v1, p0, Lcom/king/zxing/ViewfinderView;->lastPossibleResultPoints:Ljava/util/List;
.line 287
invoke-direct {p0}, Lcom/king/zxing/ViewfinderView;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
iget v1, v1, Landroid/util/DisplayMetrics;->widthPixels:I
iput v1, p0, Lcom/king/zxing/ViewfinderView;->screenWidth:I
.line 288
invoke-direct {p0}, Lcom/king/zxing/ViewfinderView;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
iget v1, v1, Landroid/util/DisplayMetrics;->heightPixels:I
iput v1, p0, Lcom/king/zxing/ViewfinderView;->screenHeight:I
.line 290
iget v2, p0, Lcom/king/zxing/ViewfinderView;->screenWidth:I
invoke-static {v2, v1}, Ljava/lang/Math;->min(II)I
move-result v1
int-to-float v1, v1
iget v2, p0, Lcom/king/zxing/ViewfinderView;->frameRatio:F
mul-float v1, v1, v2
float-to-int v1, v1
.line 292
.local v1, "size":I
iget v2, p0, Lcom/king/zxing/ViewfinderView;->frameWidth:I
if-lez v2, :cond_1af
iget v3, p0, Lcom/king/zxing/ViewfinderView;->screenWidth:I
if-le v2, v3, :cond_1b1
.line 293
:cond_1af
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameWidth:I
.line 296
:cond_1b1
iget v2, p0, Lcom/king/zxing/ViewfinderView;->frameHeight:I
if-lez v2, :cond_1b9
iget v3, p0, Lcom/king/zxing/ViewfinderView;->screenHeight:I
if-le v2, v3, :cond_1bb
.line 297
:cond_1b9
iput v1, p0, Lcom/king/zxing/ViewfinderView;->frameHeight:I
.line 300
:cond_1bb
return-void
.end method
# virtual methods
.method public addPossibleResultPoint(Lcom/google/zxing/ResultPoint;)V
.registers 6
.param p1, "point" # Lcom/google/zxing/ResultPoint;
.line 593
iget-boolean v0, p0, Lcom/king/zxing/ViewfinderView;->isShowResultPoint:Z
if-eqz v0, :cond_21
.line 594
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->possibleResultPoints:Ljava/util/List;
.line 595
.local v0, "points":Ljava/util/List;, "Ljava/util/List<Lcom/google/zxing/ResultPoint;>;"
monitor-enter v0
.line 596
:try_start_7
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 597
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
.line 598
.local v1, "size":I
const/16 v2, 0x14
if-le v1, v2, :cond_1c
.line 600
const/4 v2, 0x0
add-int/lit8 v3, v1, -0xa
invoke-interface {v0, v2, v3}, Ljava/util/List;->subList(II)Ljava/util/List;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->clear()V
.line 602
.end local v1 # "size":I
:cond_1c
monitor-exit v0
goto :goto_21
:catchall_1e
move-exception v1
monitor-exit v0
:try_end_20
.catchall {:try_start_7 .. :try_end_20} :catchall_1e
throw v1
.line 605
.end local v0 # "points":Ljava/util/List;, "Ljava/util/List<Lcom/google/zxing/ResultPoint;>;"
:cond_21
:goto_21
return-void
.end method
.method public drawViewfinder()V
.registers 1
.line 572
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->invalidate()V
.line 573
return-void
.end method
.method public isShowResultPoint()Z
.registers 2
.line 576
iget-boolean v0, p0, Lcom/king/zxing/ViewfinderView;->isShowResultPoint:Z
return v0
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.registers 12
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 334
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
if-nez v0, :cond_5
.line 335
return-void
.line 338
:cond_5
iget v0, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
if-eqz v0, :cond_d
iget v0, p0, Lcom/king/zxing/ViewfinderView;->scannerEnd:I
if-nez v0, :cond_1c
.line 339
:cond_d
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->top:I
iput v0, p0, Lcom/king/zxing/ViewfinderView;->scannerStart:I
.line 340
iget-object v0, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->bottom:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->scannerLineHeight:I
sub-int/2addr v0, v1
iput v0, p0, Lcom/king/zxing/ViewfinderView;->scannerEnd:I
.line 343
:cond_1c
invoke-virtual {p1}, Landroid/graphics/Canvas;->getWidth()I
move-result v0
.line 344
.local v0, "width":I
invoke-virtual {p1}, Landroid/graphics/Canvas;->getHeight()I
move-result v1
.line 347
.local v1, "height":I
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2, v0, v1}, Lcom/king/zxing/ViewfinderView;->drawExterior(Landroid/graphics/Canvas;Landroid/graphics/Rect;II)V
.line 349
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2}, Lcom/king/zxing/ViewfinderView;->drawLaserScanner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 351
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2}, Lcom/king/zxing/ViewfinderView;->drawFrame(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 353
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2}, Lcom/king/zxing/ViewfinderView;->drawCorner(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 355
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2}, Lcom/king/zxing/ViewfinderView;->drawTextInfo(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 357
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
invoke-direct {p0, p1, v2}, Lcom/king/zxing/ViewfinderView;->drawResultPoint(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
.line 360
iget v2, p0, Lcom/king/zxing/ViewfinderView;->scannerAnimationDelay:I
int-to-long v4, v2
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->left:I
add-int/lit8 v6, v2, -0x14
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->top:I
add-int/lit8 v7, v2, -0x14
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->right:I
add-int/lit8 v8, v2, 0x14
iget-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->bottom:I
add-int/lit8 v9, v2, 0x14
move-object v3, p0
invoke-virtual/range {v3 .. v9}, Lcom/king/zxing/ViewfinderView;->postInvalidateDelayed(JIIII)V
.line 365
return-void
.end method
.method protected onMeasure(II)V
.registers 8
.param p1, "widthMeasureSpec" # I
.param p2, "heightMeasureSpec" # I
.line 324
invoke-super {p0, p1, p2}, Landroid/view/View;->onMeasure(II)V
.line 326
iget v0, p0, Lcom/king/zxing/ViewfinderView;->screenWidth:I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->frameWidth:I
sub-int/2addr v0, v1
div-int/lit8 v0, v0, 0x2
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getPaddingLeft()I
move-result v1
add-int/2addr v0, v1
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getPaddingRight()I
move-result v1
sub-int/2addr v0, v1
.line 327
.local v0, "leftOffset":I
iget v1, p0, Lcom/king/zxing/ViewfinderView;->screenHeight:I
iget v2, p0, Lcom/king/zxing/ViewfinderView;->frameHeight:I
sub-int/2addr v1, v2
div-int/lit8 v1, v1, 0x2
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getPaddingTop()I
move-result v2
add-int/2addr v1, v2
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 328
.local v1, "topOffset":I
new-instance v2, Landroid/graphics/Rect;
iget v3, p0, Lcom/king/zxing/ViewfinderView;->frameWidth:I
add-int/2addr v3, v0
iget v4, p0, Lcom/king/zxing/ViewfinderView;->frameHeight:I
add-int/2addr v4, v1
invoke-direct {v2, v0, v1, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V
iput-object v2, p0, Lcom/king/zxing/ViewfinderView;->frame:Landroid/graphics/Rect;
.line 329
return-void
.end method
.method public setLabelText(Ljava/lang/String;)V
.registers 2
.param p1, "labelText" # Ljava/lang/String;
.line 307
iput-object p1, p0, Lcom/king/zxing/ViewfinderView;->labelText:Ljava/lang/String;
.line 308
return-void
.end method
.method public setLabelTextColor(I)V
.registers 2
.param p1, "color" # I
.line 311
iput p1, p0, Lcom/king/zxing/ViewfinderView;->labelTextColor:I
.line 312
return-void
.end method
.method public setLabelTextColorResource(I)V
.registers 3
.param p1, "id" # I
.line 315
invoke-virtual {p0}, Lcom/king/zxing/ViewfinderView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0, p1}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I
move-result v0
iput v0, p0, Lcom/king/zxing/ViewfinderView;->labelTextColor:I
.line 316
return-void
.end method
.method public setLabelTextSize(F)V
.registers 2
.param p1, "textSize" # F
.line 319
iput p1, p0, Lcom/king/zxing/ViewfinderView;->labelTextSize:F
.line 320
return-void
.end method
.method public setLaserStyle(Lcom/king/zxing/ViewfinderView$LaserStyle;)V
.registers 2
.param p1, "laserStyle" # Lcom/king/zxing/ViewfinderView$LaserStyle;
.line 580
iput-object p1, p0, Lcom/king/zxing/ViewfinderView;->laserStyle:Lcom/king/zxing/ViewfinderView$LaserStyle;
.line 581
return-void
.end method
.method public setShowResultPoint(Z)V
.registers 2
.param p1, "showResultPoint" # Z
.line 588
iput-boolean p1, p0, Lcom/king/zxing/ViewfinderView;->isShowResultPoint:Z
.line 589
return-void
.end method
.method public shadeColor(I)I
.registers 5
.param p1, "color" # I
.line 498
invoke-static {p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v0
.line 499
.local v0, "hax":Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "01"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v2, 0x2
invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 500
.local v1, "result":Ljava/lang/String;
const/16 v2, 0x10
invoke-static {v1, v2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
return v2
.end method