WhiteRectangleDetector.smali
.class public final Lcom/google/zxing/common/detector/WhiteRectangleDetector;
.super Ljava/lang/Object;
.source "WhiteRectangleDetector.java"
# static fields
.field private static final CORR:I
.field private static final INIT_SIZE:I
# instance fields
.field private final downInit:I
.field private final height:I
.field private final image:Lcom/google/zxing/common/BitMatrix;
.field private final leftInit:I
.field private final rightInit:I
.field private final upInit:I
.field private final width:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->CORR:I
const v0, 0x1565
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->INIT_SIZE:I
return-void
.end method
.method public constructor <init>(Lcom/google/zxing/common/BitMatrix;)V
.registers 5
.param p1, "image" # Lcom/google/zxing/common/BitMatrix;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 47
invoke-virtual {p1}, Lcom/google/zxing/common/BitMatrix;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
invoke-virtual {p1}, Lcom/google/zxing/common/BitMatrix;->getHeight()I
move-result v1
div-int/lit8 v1, v1, 0x2
const/16 v2, 0xa
invoke-direct {p0, p1, v2, v0, v1}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;-><init>(Lcom/google/zxing/common/BitMatrix;III)V
.line 48
return-void
.end method
.method public constructor <init>(Lcom/google/zxing/common/BitMatrix;III)V
.registers 11
.param p1, "image" # Lcom/google/zxing/common/BitMatrix;
.param p2, "initSize" # I
.param p3, "x" # I
.param p4, "y" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 58
iput-object p1, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->image:Lcom/google/zxing/common/BitMatrix;
.line 59
invoke-virtual {p1}, Lcom/google/zxing/common/BitMatrix;->getHeight()I
move-result v0
iput v0, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->height:I
.line 60
invoke-virtual {p1}, Lcom/google/zxing/common/BitMatrix;->getWidth()I
move-result v0
iput v0, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->width:I
.line 61
div-int/lit8 v1, p2, 0x2
.line 62
.local v1, "halfsize":I
sub-int v2, p3, v1
iput v2, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->leftInit:I
.line 63
add-int v3, p3, v1
iput v3, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->rightInit:I
.line 64
sub-int v4, p4, v1
iput v4, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->upInit:I
.line 65
add-int v5, p4, v1
iput v5, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->downInit:I
.line 66
if-ltz v4, :cond_2e
if-ltz v2, :cond_2e
iget v2, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->height:I
if-ge v5, v2, :cond_2e
if-ge v3, v0, :cond_2e
.line 69
return-void
.line 67
:cond_2e
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
.method private centerEdges(Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;)[Lcom/google/zxing/ResultPoint;
.registers 21
.param p1, "y" # Lcom/google/zxing/ResultPoint;
.param p2, "z" # Lcom/google/zxing/ResultPoint;
.param p3, "x" # Lcom/google/zxing/ResultPoint;
.param p4, "t" # Lcom/google/zxing/ResultPoint;
.line 278
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v0
.line 279
.local v0, "yi":F
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v1
.line 280
.local v1, "yj":F
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v2
.line 281
.local v2, "zi":F
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v3
.line 282
.local v3, "zj":F
invoke-virtual/range {p3 .. p3}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v4
.line 283
.local v4, "xi":F
invoke-virtual/range {p3 .. p3}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v5
.line 284
.local v5, "xj":F
invoke-virtual/range {p4 .. p4}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v6
.line 285
.local v6, "ti":F
invoke-virtual/range {p4 .. p4}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v7
.line 287
.local v7, "tj":F
move-object/from16 v8, p0
iget v9, v8, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->width:I
int-to-float v9, v9
const/high16 v10, 0x40000000 # 2.0f
div-float/2addr v9, v10
const/4 v12, 0x1
const/4 v13, 0x0
const/4 v14, 0x4
const/high16 v15, 0x3f800000 # 1.0f
cmpg-float v9, v0, v9
if-gez v9, :cond_62
.line 288
new-array v9, v14, [Lcom/google/zxing/ResultPoint;
new-instance v14, Lcom/google/zxing/ResultPoint;
sub-float v10, v6, v15
add-float v11, v7, v15
invoke-direct {v14, v10, v11}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v14, v9, v13
new-instance v10, Lcom/google/zxing/ResultPoint;
add-float v11, v2, v15
add-float v13, v3, v15
invoke-direct {v10, v11, v13}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v10, v9, v12
new-instance v10, Lcom/google/zxing/ResultPoint;
sub-float v11, v4, v15
sub-float v12, v5, v15
invoke-direct {v10, v11, v12}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v11, 0x2
aput-object v10, v9, v11
new-instance v10, Lcom/google/zxing/ResultPoint;
add-float v11, v0, v15
sub-float v12, v1, v15
invoke-direct {v10, v11, v12}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v11, 0x3
aput-object v10, v9, v11
return-object v9
.line 294
:cond_62
new-array v9, v14, [Lcom/google/zxing/ResultPoint;
new-instance v10, Lcom/google/zxing/ResultPoint;
add-float v11, v6, v15
add-float v14, v7, v15
invoke-direct {v10, v11, v14}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v10, v9, v13
new-instance v10, Lcom/google/zxing/ResultPoint;
add-float v11, v2, v15
sub-float v13, v3, v15
invoke-direct {v10, v11, v13}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v10, v9, v12
new-instance v10, Lcom/google/zxing/ResultPoint;
sub-float v11, v4, v15
add-float v12, v5, v15
invoke-direct {v10, v11, v12}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v11, 0x2
aput-object v10, v9, v11
new-instance v10, Lcom/google/zxing/ResultPoint;
sub-float v11, v0, v15
sub-float v12, v1, v15
invoke-direct {v10, v11, v12}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v11, 0x3
aput-object v10, v9, v11
return-object v9
.end method
.method private containsBlackPoint(IIIZ)Z
.registers 8
.param p1, "a" # I
.param p2, "b" # I
.param p3, "fixed" # I
.param p4, "horizontal" # Z
.line 313
const/4 v0, 0x1
if-eqz p4, :cond_13
.line 314
move v1, p1
.local v1, "x":I
:goto_4
if-gt v1, p2, :cond_12
.line 315
iget-object v2, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->image:Lcom/google/zxing/common/BitMatrix;
invoke-virtual {v2, v1, p3}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v2
if-eqz v2, :cond_f
.line 316
return v0
.line 314
:cond_f
add-int/lit8 v1, v1, 0x1
goto :goto_4
.end local v1 # "x":I
:cond_12
goto :goto_22
.line 320
:cond_13
move v1, p1
.local v1, "y":I
:goto_14
if-gt v1, p2, :cond_22
.line 321
iget-object v2, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->image:Lcom/google/zxing/common/BitMatrix;
invoke-virtual {v2, p3, v1}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v2
if-eqz v2, :cond_1f
.line 322
return v0
.line 320
:cond_1f
add-int/lit8 v1, v1, 0x1
goto :goto_14
.line 327
.end local v1 # "y":I
:cond_22
:goto_22
const/4 v0, 0x0
return v0
.end method
.method private getBlackPointOnSegment(FFFF)Lcom/google/zxing/ResultPoint;
.registers 14
.param p1, "aX" # F
.param p2, "aY" # F
.param p3, "bX" # F
.param p4, "bY" # F
.line 241
invoke-static {p1, p2, p3, p4}, Lcom/google/zxing/common/detector/MathUtils;->distance(FFFF)F
move-result v0
invoke-static {v0}, Lcom/google/zxing/common/detector/MathUtils;->round(F)I
move-result v0
.line 242
.local v0, "dist":I
sub-float v1, p3, p1
int-to-float v2, v0
div-float/2addr v1, v2
.line 243
.local v1, "xStep":F
sub-float v2, p4, p2
int-to-float v3, v0
div-float/2addr v2, v3
.line 245
.local v2, "yStep":F
const/4 v3, 0x0
.local v3, "i":I
:goto_11
if-ge v3, v0, :cond_36
.line 246
int-to-float v4, v3
mul-float v4, v4, v1
add-float/2addr v4, p1
invoke-static {v4}, Lcom/google/zxing/common/detector/MathUtils;->round(F)I
move-result v4
.line 247
.local v4, "x":I
int-to-float v5, v3
mul-float v5, v5, v2
add-float/2addr v5, p2
invoke-static {v5}, Lcom/google/zxing/common/detector/MathUtils;->round(F)I
move-result v5
.line 248
.local v5, "y":I
iget-object v6, p0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->image:Lcom/google/zxing/common/BitMatrix;
invoke-virtual {v6, v4, v5}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v6
if-eqz v6, :cond_33
.line 249
new-instance v6, Lcom/google/zxing/ResultPoint;
int-to-float v7, v4
int-to-float v8, v5
invoke-direct {v6, v7, v8}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
return-object v6
.line 245
.end local v4 # "x":I
.end local v5 # "y":I
:cond_33
add-int/lit8 v3, v3, 0x1
goto :goto_11
.line 252
.end local v3 # "i":I
:cond_36
const/4 v3, 0x0
return-object v3
.end method
# virtual methods
.method public detect()[Lcom/google/zxing/ResultPoint;
.registers 23
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 87
move-object/from16 v0, p0
iget v1, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->leftInit:I
.line 88
.local v1, "left":I
iget v2, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->rightInit:I
.line 89
.local v2, "right":I
iget v3, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->upInit:I
.line 90
.local v3, "up":I
iget v4, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->downInit:I
.line 91
.local v4, "down":I
const/4 v5, 0x0
.line 92
.local v5, "sizeExceeded":Z
const/4 v6, 0x1
.line 93
.local v6, "aBlackPointFoundOnBorder":Z
const/4 v7, 0x0
.line 95
.local v7, "atLeastOneBlackPointFoundOnBorder":Z
const/4 v8, 0x0
.line 96
.local v8, "atLeastOneBlackPointFoundOnRight":Z
const/4 v9, 0x0
.line 97
.local v9, "atLeastOneBlackPointFoundOnBottom":Z
const/4 v10, 0x0
.line 98
.local v10, "atLeastOneBlackPointFoundOnLeft":Z
const/4 v11, 0x0
.line 100
.local v11, "atLeastOneBlackPointFoundOnTop":Z
:goto_11
if-eqz v6, :cond_b5
.line 102
const/4 v6, 0x0
.line 107
const/4 v12, 0x1
.line 108
.local v12, "rightBorderNotWhite":Z
:cond_15
:goto_15
const/4 v13, 0x0
if-nez v12, :cond_1a
if-nez v8, :cond_2f
:cond_1a
iget v14, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->width:I
if-ge v2, v14, :cond_2f
.line 109
invoke-direct {v0, v3, v4, v2, v13}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->containsBlackPoint(IIIZ)Z
move-result v13
.line 110
move v12, v13
if-eqz v13, :cond_2a
.line 111
add-int/lit8 v2, v2, 0x1
.line 112
const/4 v6, 0x1
.line 113
const/4 v8, 0x1
goto :goto_15
.line 114
:cond_2a
if-nez v8, :cond_15
.line 115
add-int/lit8 v2, v2, 0x1
goto :goto_15
.line 119
:cond_2f
iget v14, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->width:I
if-lt v2, v14, :cond_36
.line 120
const/4 v5, 0x1
.line 121
goto/16 :goto_b5
.line 127
:cond_36
const/4 v14, 0x1
.line 128
.local v14, "bottomBorderNotWhite":Z
:goto_37
const/4 v15, 0x1
if-nez v14, :cond_3c
if-nez v9, :cond_55
:cond_3c
iget v13, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->height:I
if-ge v4, v13, :cond_55
.line 129
invoke-direct {v0, v1, v2, v4, v15}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->containsBlackPoint(IIIZ)Z
move-result v13
.line 130
move v14, v13
if-eqz v13, :cond_4d
.line 131
add-int/lit8 v4, v4, 0x1
.line 132
const/4 v6, 0x1
.line 133
const/4 v9, 0x1
const/4 v13, 0x0
goto :goto_37
.line 134
:cond_4d
if-nez v9, :cond_53
.line 135
add-int/lit8 v4, v4, 0x1
const/4 v13, 0x0
goto :goto_37
.line 134
:cond_53
const/4 v13, 0x0
goto :goto_37
.line 139
:cond_55
iget v13, v0, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->height:I
if-lt v4, v13, :cond_5c
.line 140
const/4 v5, 0x1
.line 141
goto/16 :goto_b5
.line 147
:cond_5c
const/4 v13, 0x1
.line 148
.local v13, "leftBorderNotWhite":Z
:goto_5d
if-nez v13, :cond_61
if-nez v10, :cond_7a
:cond_61
if-ltz v1, :cond_7a
.line 149
const/4 v15, 0x0
invoke-direct {v0, v3, v4, v1, v15}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->containsBlackPoint(IIIZ)Z
move-result v16
.line 150
move/from16 v13, v16
if-eqz v16, :cond_72
.line 151
add-int/lit8 v1, v1, -0x1
.line 152
const/4 v6, 0x1
.line 153
const/4 v10, 0x1
const/4 v15, 0x1
goto :goto_5d
.line 154
:cond_72
if-nez v10, :cond_78
.line 155
add-int/lit8 v1, v1, -0x1
const/4 v15, 0x1
goto :goto_5d
.line 154
:cond_78
const/4 v15, 0x1
goto :goto_5d
.line 159
:cond_7a
if-gez v1, :cond_7e
.line 160
const/4 v5, 0x1
.line 161
goto :goto_b5
.line 167
:cond_7e
const/4 v15, 0x1
.line 168
.local v15, "topBorderNotWhite":Z
:goto_7f
if-nez v15, :cond_87
if-nez v11, :cond_84
goto :goto_87
:cond_84
move/from16 v16, v4
goto :goto_a7
:cond_87
:goto_87
if-ltz v3, :cond_a5
.line 169
move/from16 v16, v4
const/4 v4, 0x1
.end local v4 # "down":I
.local v16, "down":I
invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->containsBlackPoint(IIIZ)Z
move-result v17
.line 170
move/from16 v15, v17
if-eqz v17, :cond_9b
.line 171
add-int/lit8 v3, v3, -0x1
.line 172
const/4 v6, 0x1
.line 173
const/4 v11, 0x1
move/from16 v4, v16
goto :goto_7f
.line 174
:cond_9b
if-nez v11, :cond_a2
.line 175
add-int/lit8 v3, v3, -0x1
move/from16 v4, v16
goto :goto_7f
.line 174
:cond_a2
move/from16 v4, v16
goto :goto_7f
.line 168
.end local v16 # "down":I
.restart local v4 # "down":I
:cond_a5
move/from16 v16, v4
.line 179
.end local v4 # "down":I
.restart local v16 # "down":I
:goto_a7
if-gez v3, :cond_ad
.line 180
const/4 v5, 0x1
.line 181
move/from16 v4, v16
goto :goto_b5
.line 184
:cond_ad
if-eqz v6, :cond_b1
.line 185
const/4 v4, 0x1
move v7, v4
.line 188
.end local v12 # "rightBorderNotWhite":Z
.end local v13 # "leftBorderNotWhite":Z
.end local v14 # "bottomBorderNotWhite":Z
.end local v15 # "topBorderNotWhite":Z
:cond_b1
move/from16 v4, v16
goto/16 :goto_11
.line 190
.end local v16 # "down":I
.restart local v4 # "down":I
:cond_b5
:goto_b5
if-nez v5, :cond_158
if-eqz v7, :cond_158
.line 192
sub-int v12, v2, v1
.line 194
.local v12, "maxSize":I
const/4 v13, 0x0
.line 195
.local v13, "z":Lcom/google/zxing/ResultPoint;
const/4 v14, 0x1
.local v14, "i":I
:goto_bd
if-nez v13, :cond_dc
if-ge v14, v12, :cond_dc
.line 196
int-to-float v15, v1
move/from16 v16, v5
.end local v5 # "sizeExceeded":Z
.local v16, "sizeExceeded":Z
sub-int v5, v4, v14
int-to-float v5, v5
move/from16 v17, v6
.end local v6 # "aBlackPointFoundOnBorder":Z
.local v17, "aBlackPointFoundOnBorder":Z
add-int v6, v1, v14
int-to-float v6, v6
move/from16 v18, v7
.end local v7 # "atLeastOneBlackPointFoundOnBorder":Z
.local v18, "atLeastOneBlackPointFoundOnBorder":Z
int-to-float v7, v4
invoke-direct {v0, v15, v5, v6, v7}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->getBlackPointOnSegment(FFFF)Lcom/google/zxing/ResultPoint;
move-result-object v13
.line 195
add-int/lit8 v14, v14, 0x1
move/from16 v5, v16
move/from16 v6, v17
move/from16 v7, v18
goto :goto_bd
.end local v16 # "sizeExceeded":Z
.end local v17 # "aBlackPointFoundOnBorder":Z
.end local v18 # "atLeastOneBlackPointFoundOnBorder":Z
.restart local v5 # "sizeExceeded":Z
.restart local v6 # "aBlackPointFoundOnBorder":Z
.restart local v7 # "atLeastOneBlackPointFoundOnBorder":Z
:cond_dc
move/from16 v16, v5
move/from16 v17, v6
move/from16 v18, v7
.line 199
.end local v5 # "sizeExceeded":Z
.end local v6 # "aBlackPointFoundOnBorder":Z
.end local v7 # "atLeastOneBlackPointFoundOnBorder":Z
.end local v14 # "i":I
.restart local v16 # "sizeExceeded":Z
.restart local v17 # "aBlackPointFoundOnBorder":Z
.restart local v18 # "atLeastOneBlackPointFoundOnBorder":Z
if-eqz v13, :cond_151
.line 203
const/4 v5, 0x0
.line 205
.local v5, "t":Lcom/google/zxing/ResultPoint;
const/4 v6, 0x1
.local v6, "i":I
:goto_e6
if-nez v5, :cond_fd
if-ge v6, v12, :cond_fd
.line 206
int-to-float v7, v1
add-int v14, v3, v6
int-to-float v14, v14
add-int v15, v1, v6
int-to-float v15, v15
move/from16 v19, v1
.end local v1 # "left":I
.local v19, "left":I
int-to-float v1, v3
invoke-direct {v0, v7, v14, v15, v1}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->getBlackPointOnSegment(FFFF)Lcom/google/zxing/ResultPoint;
move-result-object v5
.line 205
add-int/lit8 v6, v6, 0x1
move/from16 v1, v19
goto :goto_e6
.end local v19 # "left":I
.restart local v1 # "left":I
:cond_fd
move/from16 v19, v1
.line 209
.end local v1 # "left":I
.end local v6 # "i":I
.restart local v19 # "left":I
if-eqz v5, :cond_14c
.line 213
const/4 v1, 0x0
.line 215
.local v1, "x":Lcom/google/zxing/ResultPoint;
const/4 v6, 0x1
.restart local v6 # "i":I
:goto_103
if-nez v1, :cond_11a
if-ge v6, v12, :cond_11a
.line 216
int-to-float v7, v2
add-int v14, v3, v6
int-to-float v14, v14
sub-int v15, v2, v6
int-to-float v15, v15
move/from16 v20, v8
.end local v8 # "atLeastOneBlackPointFoundOnRight":Z
.local v20, "atLeastOneBlackPointFoundOnRight":Z
int-to-float v8, v3
invoke-direct {v0, v7, v14, v15, v8}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->getBlackPointOnSegment(FFFF)Lcom/google/zxing/ResultPoint;
move-result-object v1
.line 215
add-int/lit8 v6, v6, 0x1
move/from16 v8, v20
goto :goto_103
.end local v20 # "atLeastOneBlackPointFoundOnRight":Z
.restart local v8 # "atLeastOneBlackPointFoundOnRight":Z
:cond_11a
move/from16 v20, v8
.line 219
.end local v6 # "i":I
.end local v8 # "atLeastOneBlackPointFoundOnRight":Z
.restart local v20 # "atLeastOneBlackPointFoundOnRight":Z
if-eqz v1, :cond_145
.line 223
const/4 v6, 0x0
.line 225
.local v6, "y":Lcom/google/zxing/ResultPoint;
const/4 v7, 0x1
.local v7, "i":I
:goto_120
if-nez v6, :cond_137
if-ge v7, v12, :cond_137
.line 226
int-to-float v8, v2
sub-int v14, v4, v7
int-to-float v14, v14
sub-int v15, v2, v7
int-to-float v15, v15
move/from16 v21, v2
.end local v2 # "right":I
.local v21, "right":I
int-to-float v2, v4
invoke-direct {v0, v8, v14, v15, v2}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->getBlackPointOnSegment(FFFF)Lcom/google/zxing/ResultPoint;
move-result-object v6
.line 225
add-int/lit8 v7, v7, 0x1
move/from16 v2, v21
goto :goto_120
.end local v21 # "right":I
.restart local v2 # "right":I
:cond_137
move/from16 v21, v2
.line 229
.end local v2 # "right":I
.end local v7 # "i":I
.restart local v21 # "right":I
if-eqz v6, :cond_140
.line 233
invoke-direct {v0, v6, v13, v1, v5}, Lcom/google/zxing/common/detector/WhiteRectangleDetector;->centerEdges(Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;)[Lcom/google/zxing/ResultPoint;
move-result-object v2
return-object v2
.line 230
:cond_140
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v2
throw v2
.line 220
.end local v6 # "y":Lcom/google/zxing/ResultPoint;
.end local v21 # "right":I
.restart local v2 # "right":I
:cond_145
move/from16 v21, v2
.end local v2 # "right":I
.restart local v21 # "right":I
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v2
throw v2
.line 210
.end local v1 # "x":Lcom/google/zxing/ResultPoint;
.end local v20 # "atLeastOneBlackPointFoundOnRight":Z
.end local v21 # "right":I
.restart local v2 # "right":I
.restart local v8 # "atLeastOneBlackPointFoundOnRight":Z
:cond_14c
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v1
throw v1
.line 200
.end local v5 # "t":Lcom/google/zxing/ResultPoint;
.end local v19 # "left":I
.local v1, "left":I
:cond_151
move/from16 v19, v1
.end local v1 # "left":I
.restart local v19 # "left":I
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v1
throw v1
.line 190
.end local v12 # "maxSize":I
.end local v13 # "z":Lcom/google/zxing/ResultPoint;
.end local v16 # "sizeExceeded":Z
.end local v17 # "aBlackPointFoundOnBorder":Z
.end local v18 # "atLeastOneBlackPointFoundOnBorder":Z
.end local v19 # "left":I
.restart local v1 # "left":I
.local v5, "sizeExceeded":Z
.local v6, "aBlackPointFoundOnBorder":Z
.local v7, "atLeastOneBlackPointFoundOnBorder":Z
:cond_158
move/from16 v19, v1
move/from16 v21, v2
move/from16 v16, v5
move/from16 v17, v6
move/from16 v18, v7
move/from16 v20, v8
.line 236
.end local v1 # "left":I
.end local v2 # "right":I
.end local v5 # "sizeExceeded":Z
.end local v6 # "aBlackPointFoundOnBorder":Z
.end local v7 # "atLeastOneBlackPointFoundOnBorder":Z
.end local v8 # "atLeastOneBlackPointFoundOnRight":Z
.restart local v16 # "sizeExceeded":Z
.restart local v17 # "aBlackPointFoundOnBorder":Z
.restart local v18 # "atLeastOneBlackPointFoundOnBorder":Z
.restart local v19 # "left":I
.restart local v20 # "atLeastOneBlackPointFoundOnRight":Z
.restart local v21 # "right":I
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v1
goto :goto_16a
:goto_169
throw v1
:goto_16a
goto :goto_169
.end method