RSSExpandedReader.smali
.class public final Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;
.super Lcom/google/zxing/oned/rss/AbstractRSSReader;
.source "RSSExpandedReader.java"
# static fields
.field private static final EVEN_TOTAL_SUBSET:[I
.field private static final FINDER_PATTERNS:[[I
.field private static final FINDER_PATTERN_SEQUENCES:[[I
.field private static final FINDER_PAT_A:I = 0x0
.field private static final FINDER_PAT_B:I = 0x1
.field private static final FINDER_PAT_C:I = 0x2
.field private static final FINDER_PAT_D:I = 0x3
.field private static final FINDER_PAT_E:I = 0x4
.field private static final FINDER_PAT_F:I = 0x5
.field private static final GSUM:[I
.field private static final MAX_PAIRS:I = 0xb
.field private static final SYMBOL_WIDEST:[I
.field private static final WEIGHTS:[[I
# instance fields
.field private final pairs:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;"
}
.end annotation
.end field
.field private final rows:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedRow;",
">;"
}
.end annotation
.end field
.field private final startEnd:[I
.field private startFromEven:Z
# direct methods
.method static constructor <clinit>()V
.registers 15
const/4 v0, 0x5
new-array v1, v0, [I
.line 55
fill-array-data v1, :array_15c
sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->SYMBOL_WIDEST:[I
new-array v1, v0, [I
.line 56
fill-array-data v1, :array_16a
sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->EVEN_TOTAL_SUBSET:[I
new-array v1, v0, [I
.line 57
fill-array-data v1, :array_178
sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->GSUM:[I
const/4 v1, 0x6
new-array v2, v1, [[I
const/4 v3, 0x4
new-array v4, v3, [I
.line 59
fill-array-data v4, :array_186
const/4 v5, 0x0
aput-object v4, v2, v5
new-array v4, v3, [I
fill-array-data v4, :array_192
const/4 v6, 0x1
aput-object v4, v2, v6
new-array v4, v3, [I
fill-array-data v4, :array_19e
const/4 v7, 0x2
aput-object v4, v2, v7
new-array v4, v3, [I
fill-array-data v4, :array_1aa
const/4 v8, 0x3
aput-object v4, v2, v8
new-array v4, v3, [I
fill-array-data v4, :array_1b6
aput-object v4, v2, v3
new-array v4, v3, [I
fill-array-data v4, :array_1c2
aput-object v4, v2, v0
sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERNS:[[I
const/16 v2, 0x17
new-array v2, v2, [[I
const/16 v4, 0x8
new-array v9, v4, [I
.line 68
fill-array-data v9, :array_1ce
aput-object v9, v2, v5
new-array v9, v4, [I
fill-array-data v9, :array_1e2
aput-object v9, v2, v6
new-array v9, v4, [I
fill-array-data v9, :array_1f6
aput-object v9, v2, v7
new-array v9, v4, [I
fill-array-data v9, :array_20a
aput-object v9, v2, v8
new-array v9, v4, [I
fill-array-data v9, :array_21e
aput-object v9, v2, v3
new-array v9, v4, [I
fill-array-data v9, :array_232
aput-object v9, v2, v0
new-array v9, v4, [I
fill-array-data v9, :array_246
aput-object v9, v2, v1
new-array v9, v4, [I
fill-array-data v9, :array_25a
const/4 v10, 0x7
aput-object v9, v2, v10
new-array v9, v4, [I
fill-array-data v9, :array_26e
aput-object v9, v2, v4
new-array v9, v4, [I
fill-array-data v9, :array_282
const/16 v11, 0x9
aput-object v9, v2, v11
new-array v9, v4, [I
fill-array-data v9, :array_296
const/16 v12, 0xa
aput-object v9, v2, v12
new-array v9, v4, [I
fill-array-data v9, :array_2aa
const/16 v13, 0xb
aput-object v9, v2, v13
new-array v9, v4, [I
fill-array-data v9, :array_2be
const/16 v14, 0xc
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_2d2
const/16 v14, 0xd
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_2e6
const/16 v14, 0xe
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_2fa
const/16 v14, 0xf
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_30e
const/16 v14, 0x10
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_322
const/16 v14, 0x11
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_336
const/16 v14, 0x12
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_34a
const/16 v14, 0x13
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_35e
const/16 v14, 0x14
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_372
const/16 v14, 0x15
aput-object v9, v2, v14
new-array v9, v4, [I
fill-array-data v9, :array_386
const/16 v14, 0x16
aput-object v9, v2, v14
sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I
new-array v2, v12, [[I
new-array v9, v7, [I
.line 101
fill-array-data v9, :array_39a
aput-object v9, v2, v5
new-array v5, v8, [I
fill-array-data v5, :array_3a2
aput-object v5, v2, v6
new-array v5, v3, [I
fill-array-data v5, :array_3ac
aput-object v5, v2, v7
new-array v5, v0, [I
fill-array-data v5, :array_3b8
aput-object v5, v2, v8
new-array v5, v1, [I
fill-array-data v5, :array_3c6
aput-object v5, v2, v3
new-array v3, v10, [I
fill-array-data v3, :array_3d6
aput-object v3, v2, v0
new-array v0, v4, [I
fill-array-data v0, :array_3e8
aput-object v0, v2, v1
new-array v0, v11, [I
fill-array-data v0, :array_3fc
aput-object v0, v2, v10
new-array v0, v12, [I
fill-array-data v0, :array_412
aput-object v0, v2, v4
new-array v0, v13, [I
fill-array-data v0, :array_42a
aput-object v0, v2, v11
sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERN_SEQUENCES:[[I
return-void
nop
:array_15c
.array-data 4
0x7
0x5
0x4
0x3
0x1
.end array-data
:array_16a
.array-data 4
0x4
0x14
0x34
0x68
0xcc
.end array-data
:array_178
.array-data 4
0x0
0x15c
0x56c
0xb84
0xf94
.end array-data
:array_186
.array-data 4
0x1
0x8
0x4
0x1
.end array-data
:array_192
.array-data 4
0x3
0x6
0x4
0x1
.end array-data
:array_19e
.array-data 4
0x3
0x4
0x6
0x1
.end array-data
:array_1aa
.array-data 4
0x3
0x2
0x8
0x1
.end array-data
:array_1b6
.array-data 4
0x2
0x6
0x5
0x1
.end array-data
:array_1c2
.array-data 4
0x2
0x2
0x9
0x1
.end array-data
:array_1ce
.array-data 4
0x1
0x3
0x9
0x1b
0x51
0x20
0x60
0x4d
.end array-data
:array_1e2
.array-data 4
0x14
0x3c
0xb4
0x76
0x8f
0x7
0x15
0x3f
.end array-data
:array_1f6
.array-data 4
0xbd
0x91
0xd
0x27
0x75
0x8c
0xd1
0xcd
.end array-data
:array_20a
.array-data 4
0xc1
0x9d
0x31
0x93
0x13
0x39
0xab
0x5b
.end array-data
:array_21e
.array-data 4
0x3e
0xba
0x88
0xc5
0xa9
0x55
0x2c
0x84
.end array-data
:array_232
.array-data 4
0xb9
0x85
0xbc
0x8e
0x4
0xc
0x24
0x6c
.end array-data
:array_246
.array-data 4
0x71
0x80
0xad
0x61
0x50
0x1d
0x57
0x32
.end array-data
:array_25a
.array-data 4
0x96
0x1c
0x54
0x29
0x7b
0x9e
0x34
0x9c
.end array-data
:array_26e
.array-data 4
0x2e
0x8a
0xcb
0xbb
0x8b
0xce
0xc4
0xa6
.end array-data
:array_282
.array-data 4
0x4c
0x11
0x33
0x99
0x25
0x6f
0x7a
0x9b
.end array-data
:array_296
.array-data 4
0x2b
0x81
0xb0
0x6a
0x6b
0x6e
0x77
0x92
.end array-data
:array_2aa
.array-data 4
0x10
0x30
0x90
0xa
0x1e
0x5a
0x3b
0xb1
.end array-data
:array_2be
.array-data 4
0x6d
0x74
0x89
0xc8
0xb2
0x70
0x7d
0xa4
.end array-data
:array_2d2
.array-data 4
0x46
0xd2
0xd0
0xca
0xb8
0x82
0xb3
0x73
.end array-data
:array_2e6
.array-data 4
0x86
0xbf
0x97
0x1f
0x5d
0x44
0xcc
0xbe
.end array-data
:array_2fa
.array-data 4
0x94
0x16
0x42
0xc6
0xac
0x5e
0x47
0x2
.end array-data
:array_30e
.array-data 4
0x6
0x12
0x36
0xa2
0x40
0xc0
0x9a
0x28
.end array-data
:array_322
.array-data 4
0x78
0x95
0x19
0x4b
0xe
0x2a
0x7e
0xa7
.end array-data
:array_336
.array-data 4
0x4f
0x1a
0x4e
0x17
0x45
0xcf
0xc7
0xaf
.end array-data
:array_34a
.array-data 4
0x67
0x62
0x53
0x26
0x72
0x83
0xb6
0x7c
.end array-data
:array_35e
.array-data 4
0xa1
0x3d
0xb7
0x7f
0xaa
0x58
0x35
0x9f
.end array-data
:array_372
.array-data 4
0x37
0xa5
0x49
0x8
0x18
0x48
0x5
0xf
.end array-data
:array_386
.array-data 4
0x2d
0x87
0xc2
0xa0
0x3a
0xae
0x64
0x59
.end array-data
:array_39a
.array-data 4
0x0
0x0
.end array-data
:array_3a2
.array-data 4
0x0
0x1
0x1
.end array-data
:array_3ac
.array-data 4
0x0
0x2
0x1
0x3
.end array-data
:array_3b8
.array-data 4
0x0
0x4
0x1
0x3
0x2
.end array-data
:array_3c6
.array-data 4
0x0
0x4
0x1
0x3
0x3
0x5
.end array-data
:array_3d6
.array-data 4
0x0
0x4
0x1
0x3
0x4
0x5
0x5
.end array-data
:array_3e8
.array-data 4
0x0
0x0
0x1
0x1
0x2
0x2
0x3
0x3
.end array-data
:array_3fc
.array-data 4
0x0
0x0
0x1
0x1
0x2
0x2
0x3
0x4
0x4
.end array-data
:array_412
.array-data 4
0x0
0x0
0x1
0x1
0x2
0x2
0x3
0x4
0x5
0x5
.end array-data
:array_42a
.array-data 4
0x0
0x0
0x1
0x1
0x2
0x3
0x3
0x4
0x4
0x5
0x5
.end array-data
.end method
.method public constructor <init>()V
.registers 3
.line 53
invoke-direct {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;-><init>()V
.line 116
new-instance v0, Ljava/util/ArrayList;
const/16 v1, 0xb
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
.line 117
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
const/4 v0, 0x2
new-array v0, v0, [I
.line 118
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
return-void
.end method
.method private adjustOddEvenCounts(I)V
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 691
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddCounts()[I
move-result-object v0
invoke-static {v0}, Lcom/google/zxing/common/detector/MathUtils;->sum([I)I
move-result v0
.line 692
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenCounts()[I
move-result-object v1
invoke-static {v1}, Lcom/google/zxing/common/detector/MathUtils;->sum([I)I
move-result v1
const/4 v2, 0x4
const/16 v3, 0xd
const/4 v4, 0x0
const/4 v5, 0x1
if-le v0, v3, :cond_1a
const/4 v6, 0x0
const/4 v7, 0x1
goto :goto_20
:cond_1a
if-ge v0, v2, :cond_1e
const/4 v6, 0x1
goto :goto_1f
:cond_1e
const/4 v6, 0x0
:goto_1f
const/4 v7, 0x0
:goto_20
if-le v1, v3, :cond_25
const/4 v2, 0x0
const/4 v3, 0x1
goto :goto_2b
:cond_25
if-ge v1, v2, :cond_29
const/4 v2, 0x1
goto :goto_2a
:cond_29
const/4 v2, 0x0
:goto_2a
const/4 v3, 0x0
:goto_2b
add-int v8, v0, v1
sub-int/2addr v8, p1
and-int/lit8 p1, v0, 0x1
if-ne p1, v5, :cond_34
const/4 p1, 0x1
goto :goto_35
:cond_34
const/4 p1, 0x0
:goto_35
and-int/lit8 v9, v1, 0x1
if-nez v9, :cond_3a
const/4 v4, 0x1
:cond_3a
if-ne v8, v5, :cond_52
if-eqz p1, :cond_48
if-nez v4, :cond_43
move v5, v6
:goto_41
const/4 v7, 0x1
goto :goto_7d
.line 716
:cond_43
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_48
if-eqz v4, :cond_4d
move v5, v6
:goto_4b
const/4 v3, 0x1
goto :goto_7d
.line 721
:cond_4d
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_52
const/4 v9, -0x1
if-ne v8, v9, :cond_69
if-eqz p1, :cond_5f
if-nez v4, :cond_5a
goto :goto_7d
.line 728
:cond_5a
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_5f
if-eqz v4, :cond_64
move v5, v6
const/4 v2, 0x1
goto :goto_7d
.line 733
:cond_64
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_69
if-nez v8, :cond_c7
if-eqz p1, :cond_7a
if-eqz v4, :cond_75
if-ge v0, v1, :cond_72
goto :goto_4b
:cond_72
move v5, v6
const/4 v2, 0x1
goto :goto_41
.line 740
:cond_75
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_7a
if-nez v4, :cond_c2
move v5, v6
:goto_7d
if-eqz v5, :cond_92
if-nez v7, :cond_8d
.line 764
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddCounts()[I
move-result-object p1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddRoundingErrors()[F
move-result-object v0
invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->increment([I[F)V
goto :goto_92
.line 762
:cond_8d
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_92
:goto_92
if-eqz v7, :cond_9f
.line 767
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddCounts()[I
move-result-object p1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddRoundingErrors()[F
move-result-object v0
invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decrement([I[F)V
:cond_9f
if-eqz v2, :cond_b4
if-nez v3, :cond_af
.line 773
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenCounts()[I
move-result-object p1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddRoundingErrors()[F
move-result-object v0
invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->increment([I[F)V
goto :goto_b4
.line 771
:cond_af
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_b4
:goto_b4
if-eqz v3, :cond_c1
.line 776
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenCounts()[I
move-result-object p1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenRoundingErrors()[F
move-result-object v0
invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decrement([I[F)V
:cond_c1
return-void
.line 752
:cond_c2
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 757
:cond_c7
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method private checkChecksum()Z
.registers 9
.line 377
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 378
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getLeftChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v2
.line 379
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v0
if-nez v0, :cond_14
return v1
.line 385
:cond_14
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/DataCharacter;->getChecksumPortion()I
move-result v0
const/4 v3, 0x2
const/4 v4, 0x1
const/4 v5, 0x1
.line 388
:goto_1b
iget-object v6, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v6}, Ljava/util/List;->size()I
move-result v6
if-ge v5, v6, :cond_46
.line 389
iget-object v6, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v6, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 390
invoke-virtual {v6}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getLeftChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v7
invoke-virtual {v7}, Lcom/google/zxing/oned/rss/DataCharacter;->getChecksumPortion()I
move-result v7
add-int/2addr v0, v7
add-int/lit8 v3, v3, 0x1
.line 392
invoke-virtual {v6}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v6
if-eqz v6, :cond_43
.line 394
invoke-virtual {v6}, Lcom/google/zxing/oned/rss/DataCharacter;->getChecksumPortion()I
move-result v6
add-int/2addr v0, v6
add-int/lit8 v3, v3, 0x1
:cond_43
add-int/lit8 v5, v5, 0x1
goto :goto_1b
.line 399
:cond_46
rem-int/lit16 v0, v0, 0xd3
add-int/lit8 v3, v3, -0x4
mul-int/lit16 v3, v3, 0xd3
add-int/2addr v3, v0
.line 403
invoke-virtual {v2}, Lcom/google/zxing/oned/rss/DataCharacter;->getValue()I
move-result v0
if-ne v3, v0, :cond_54
return v4
:cond_54
return v1
.end method
.method private checkRows(Ljava/util/List;I)Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedRow;",
">;I)",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 214
:goto_0
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-ge p2, v0, :cond_5e
.line 215
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v0, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
.line 216
iget-object v1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 217
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_19
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2f
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
.line 218
iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-virtual {v2}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getPairs()Ljava/util/List;
move-result-object v2
invoke-interface {v3, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_19
.line 220
:cond_2f
iget-object v1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getPairs()Ljava/util/List;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 222
iget-object v1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-static {v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isValidSequence(Ljava/util/List;)Z
move-result v1
if-eqz v1, :cond_5b
.line 226
invoke-direct {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkChecksum()Z
move-result v1
if-eqz v1, :cond_49
.line 227
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
return-object p1
.line 230
:cond_49
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 231
invoke-interface {v1, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 232
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, p2, 0x1
.line 235
:try_start_56
invoke-direct {p0, v1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkRows(Ljava/util/List;I)Ljava/util/List;
move-result-object p1
:try_end_5a
.catch Lcom/google/zxing/NotFoundException; {:try_start_56 .. :try_end_5a} :catch_5b
return-object p1
:catch_5b
:cond_5b
add-int/lit8 p2, p2, 0x1
goto :goto_0
.line 241
:cond_5e
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method private checkRows(Z)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z)",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;"
}
.end annotation
.line 187
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
const/16 v2, 0x19
if-le v0, v2, :cond_11
.line 188
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->clear()V
return-object v1
.line 192
:cond_11
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
if-eqz p1, :cond_1d
.line 194
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-static {v0}, Ljava/util/Collections;->reverse(Ljava/util/List;)V
.line 199
:cond_1d
:try_start_1d
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const/4 v2, 0x0
invoke-direct {p0, v0, v2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkRows(Ljava/util/List;I)Ljava/util/List;
move-result-object v1
:try_end_27
.catch Lcom/google/zxing/NotFoundException; {:try_start_1d .. :try_end_27} :catch_28
goto :goto_29
:catch_28
nop
:goto_29
if-eqz p1, :cond_30
.line 205
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-static {p1}, Ljava/util/Collections;->reverse(Ljava/util/List;)V
:cond_30
return-object v1
.end method
.method static constructResult(Ljava/util/List;)Lcom/google/zxing/Result;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/FormatException;
}
.end annotation
.line 360
invoke-static {p0}, Lcom/google/zxing/oned/rss/expanded/BitArrayBuilder;->buildBitArray(Ljava/util/List;)Lcom/google/zxing/common/BitArray;
move-result-object v0
.line 362
invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->createDecoder(Lcom/google/zxing/common/BitArray;)Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;
move-result-object v0
.line 363
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->parseInformation()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
.line 365
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-virtual {v2}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
move-result-object v2
invoke-virtual {v2}, Lcom/google/zxing/oned/rss/FinderPattern;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object v2
.line 366
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v3
const/4 v4, 0x1
sub-int/2addr v3, v4
invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
move-result-object p0
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/FinderPattern;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object p0
.line 368
new-instance v3, Lcom/google/zxing/Result;
const/4 v5, 0x4
new-array v5, v5, [Lcom/google/zxing/ResultPoint;
aget-object v6, v2, v1
aput-object v6, v5, v1
aget-object v2, v2, v4
aput-object v2, v5, v4
aget-object v1, p0, v1
const/4 v2, 0x2
aput-object v1, v5, v2
aget-object p0, p0, v4
const/4 v1, 0x3
aput-object p0, v5, v1
sget-object p0, Lcom/google/zxing/BarcodeFormat;->RSS_EXPANDED:Lcom/google/zxing/BarcodeFormat;
const/4 v1, 0x0
invoke-direct {v3, v0, v1, v5, p0}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v3
.end method
.method private findNextPair(Lcom/google/zxing/common/BitArray;Ljava/util/List;I)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/common/BitArray;",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;I)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 460
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getDecodeFinderCounters()[I
move-result-object v0
const/4 v1, 0x0
.line 461
aput v1, v0, v1
const/4 v2, 0x1
.line 462
aput v1, v0, v2
const/4 v3, 0x2
.line 463
aput v1, v0, v3
const/4 v4, 0x3
.line 464
aput v1, v0, v4
.line 466
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v5
if-ltz p3, :cond_17
goto :goto_34
.line 471
:cond_17
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result p3
if-eqz p3, :cond_1f
const/4 p3, 0x0
goto :goto_34
.line 474
:cond_1f
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p3
sub-int/2addr p3, v2
invoke-interface {p2, p3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p3
check-cast p3, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 475
invoke-virtual {p3}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
move-result-object p3
invoke-virtual {p3}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I
move-result-object p3
aget p3, p3, v2
.line 477
:goto_34
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p2
rem-int/2addr p2, v3
if-eqz p2, :cond_3d
const/4 p2, 0x1
goto :goto_3e
:cond_3d
const/4 p2, 0x0
.line 478
:goto_3e
iget-boolean v6, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startFromEven:Z
if-eqz v6, :cond_44
xor-int/lit8 p2, p2, 0x1
:cond_44
const/4 v6, 0x0
:goto_45
if-ge p3, v5, :cond_51
.line 484
invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v6
xor-int/2addr v6, v2
if-eqz v6, :cond_51
add-int/lit8 p3, p3, 0x1
goto :goto_45
:cond_51
move v7, v6
const/4 v8, 0x0
move v6, p3
:goto_54
if-ge p3, v5, :cond_9a
.line 494
invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v9
xor-int/2addr v9, v7
if-eqz v9, :cond_63
.line 495
aget v9, v0, v8
add-int/2addr v9, v2
aput v9, v0, v8
goto :goto_97
:cond_63
if-ne v8, v4, :cond_91
if-eqz p2, :cond_6a
.line 499
invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->reverseCounters([I)V
.line 502
:cond_6a
invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isFinderPattern([I)Z
move-result v9
if-eqz v9, :cond_77
.line 503
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aput v6, p1, v1
.line 504
aput p3, p1, v2
return-void
:cond_77
if-eqz p2, :cond_7c
.line 509
invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->reverseCounters([I)V
.line 512
:cond_7c
aget v9, v0, v1
aget v10, v0, v2
add-int/2addr v9, v10
add-int/2addr v6, v9
.line 513
aget v9, v0, v3
aput v9, v0, v1
.line 514
aget v9, v0, v4
aput v9, v0, v2
.line 515
aput v1, v0, v3
.line 516
aput v1, v0, v4
add-int/lit8 v8, v8, -0x1
goto :goto_93
:cond_91
add-int/lit8 v8, v8, 0x1
.line 521
:goto_93
aput v2, v0, v8
xor-int/lit8 v7, v7, 0x1
:goto_97
add-int/lit8 p3, p3, 0x1
goto :goto_54
.line 525
:cond_9a
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method private static getNextSecondBar(Lcom/google/zxing/common/BitArray;I)I
.registers 3
.line 408
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v0
if-eqz v0, :cond_f
.line 409
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I
move-result p1
.line 410
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result p0
goto :goto_17
.line 412
:cond_f
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result p1
.line 413
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I
move-result p0
:goto_17
return p0
.end method
.method private static isNotA1left(Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Z
.registers 3
.line 686
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I
move-result p0
if-nez p0, :cond_d
if-eqz p1, :cond_d
if-nez p2, :cond_b
goto :goto_d
:cond_b
const/4 p0, 0x0
return p0
:cond_d
:goto_d
const/4 p0, 0x1
return p0
.end method
.method private static isPartialRow(Ljava/lang/Iterable;Ljava/lang/Iterable;)Z
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;",
"Ljava/lang/Iterable<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedRow;",
">;)Z"
}
.end annotation
.line 330
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_46
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
.line 332
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_15
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
const/4 v4, 0x1
if-eqz v3, :cond_42
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 334
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getPairs()Ljava/util/List;
move-result-object v5
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_2a
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_3e
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 335
invoke-virtual {v3, v6}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_2a
const/4 v3, 0x1
goto :goto_3f
:cond_3e
const/4 v3, 0x0
:goto_3f
if-nez v3, :cond_15
goto :goto_43
:cond_42
const/4 v1, 0x1
:goto_43
if-eqz v1, :cond_4
return v4
:cond_46
return v1
.end method
.method private static isValidSequence(Ljava/util/List;)Z
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;)Z"
}
.end annotation
.line 247
sget-object v0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERN_SEQUENCES:[[I
array-length v1, v0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_5
if-ge v3, v1, :cond_36
aget-object v4, v0, v3
.line 248
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v5
array-length v6, v4
if-gt v5, v6, :cond_33
const/4 v5, 0x0
.line 253
:goto_11
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v6
const/4 v7, 0x1
if-ge v5, v6, :cond_2f
.line 254
invoke-interface {p0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-virtual {v6}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
move-result-object v6
invoke-virtual {v6}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I
move-result v6
aget v8, v4, v5
if-eq v6, v8, :cond_2c
const/4 v4, 0x0
goto :goto_30
:cond_2c
add-int/lit8 v5, v5, 0x1
goto :goto_11
:cond_2f
const/4 v4, 0x1
:goto_30
if-eqz v4, :cond_33
return v7
:cond_33
add-int/lit8 v3, v3, 0x1
goto :goto_5
:cond_36
return v2
.end method
.method private parseFoundFinderPattern(Lcom/google/zxing/common/BitArray;IZ)Lcom/google/zxing/oned/rss/FinderPattern;
.registers 13
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p3, :cond_1f
.line 546
iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aget p3, p3, v0
sub-int/2addr p3, v1
:goto_9
if-ltz p3, :cond_14
.line 548
invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v2
if-nez v2, :cond_14
add-int/lit8 p3, p3, -0x1
goto :goto_9
:cond_14
add-int/2addr p3, v1
.line 553
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aget v2, p1, v0
sub-int/2addr v2, p3
.line 555
aget p1, p1, v1
move v7, p1
move v6, p3
goto :goto_33
.line 560
:cond_1f
iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aget v2, p3, v0
.line 562
aget p3, p3, v1
add-int/2addr p3, v1
invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I
move-result p1
.line 563
iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aget p3, p3, v1
sub-int p3, p1, p3
move v7, p1
move v6, v2
move v2, p3
.line 567
:goto_33
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getDecodeFinderCounters()[I
move-result-object p1
.line 568
array-length p3, p1
sub-int/2addr p3, v1
invoke-static {p1, v0, p1, v1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 570
aput v2, p1, v0
.line 573
:try_start_3e
sget-object p3, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERNS:[[I
invoke-static {p1, p3}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->parseFinderValue([I[[I)I
move-result v4
:try_end_44
.catch Lcom/google/zxing/NotFoundException; {:try_start_3e .. :try_end_44} :catch_53
.line 577
new-instance p1, Lcom/google/zxing/oned/rss/FinderPattern;
const/4 p3, 0x2
new-array v5, p3, [I
aput v6, v5, v0
aput v7, v5, v1
move-object v3, p1
move v8, p2
invoke-direct/range {v3 .. v8}, Lcom/google/zxing/oned/rss/FinderPattern;-><init>(I[IIII)V
return-object p1
:catch_53
const/4 p1, 0x0
return-object p1
.end method
.method private static removePartialRows(Ljava/util/List;Ljava/util/List;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedRow;",
">;)V"
}
.end annotation
.line 302
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_4
:goto_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_56
.line 303
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
.line 304
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getPairs()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-eq v1, v2, :cond_4
.line 308
invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getPairs()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_26
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_4f
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 310
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_38
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_4b
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 311
invoke-virtual {v1, v5}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_38
goto :goto_4c
:cond_4b
const/4 v3, 0x0
:goto_4c
if-nez v3, :cond_26
goto :goto_50
:cond_4f
const/4 v2, 0x1
:goto_50
if-eqz v2, :cond_4
.line 323
invoke-interface {p1}, Ljava/util/Iterator;->remove()V
goto :goto_4
:cond_56
return-void
.end method
.method private static reverseCounters([I)V
.registers 6
.line 529
array-length v0, p0
const/4 v1, 0x0
.line 530
:goto_2
div-int/lit8 v2, v0, 0x2
if-ge v1, v2, :cond_15
.line 531
aget v2, p0, v1
sub-int v3, v0, v1
add-int/lit8 v3, v3, -0x1
.line 532
aget v4, p0, v3
aput v4, p0, v1
.line 533
aput v2, p0, v3
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_15
return-void
.end method
.method private storeRow(IZ)V
.registers 8
const/4 v0, 0x0
const/4 v1, 0x0
const/4 v2, 0x0
.line 273
:goto_3
iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
if-ge v1, v3, :cond_29
.line 274
iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
.line 275
invoke-virtual {v3}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->getRowNumber()I
move-result v4
if-le v4, p1, :cond_20
.line 276
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-virtual {v3, v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->isEquivalent(Ljava/util/List;)Z
move-result v0
goto :goto_29
.line 279
:cond_20
iget-object v2, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-virtual {v3, v2}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;->isEquivalent(Ljava/util/List;)Z
move-result v2
add-int/lit8 v1, v1, 0x1
goto :goto_3
:cond_29
:goto_29
if-nez v0, :cond_4c
if-eqz v2, :cond_2e
goto :goto_4c
.line 291
:cond_2e
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
iget-object v2, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-static {v0, v2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isPartialRow(Ljava/lang/Iterable;Ljava/lang/Iterable;)Z
move-result v0
if-eqz v0, :cond_39
return-void
.line 295
:cond_39
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
new-instance v2, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;
iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-direct {v2, v3, p1, p2}, Lcom/google/zxing/oned/rss/expanded/ExpandedRow;-><init>(Ljava/util/List;IZ)V
invoke-interface {v0, v1, v2}, Ljava/util/List;->add(ILjava/lang/Object;)V
.line 297
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
iget-object p2, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-static {p1, p2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->removePartialRows(Ljava/util/List;Ljava/util/List;)V
:cond_4c
:goto_4c
return-void
.end method
# virtual methods
.method decodeDataCharacter(Lcom/google/zxing/common/BitArray;Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Lcom/google/zxing/oned/rss/DataCharacter;
.registers 21
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
move-object/from16 v0, p1
.line 584
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getDataCharacterCounters()[I
move-result-object v1
const/4 v2, 0x0
.line 585
aput v2, v1, v2
const/4 v3, 0x1
.line 586
aput v2, v1, v3
const/4 v4, 0x2
.line 587
aput v2, v1, v4
const/4 v5, 0x3
.line 588
aput v2, v1, v5
const/4 v5, 0x4
.line 589
aput v2, v1, v5
const/4 v6, 0x5
.line 590
aput v2, v1, v6
const/4 v6, 0x6
.line 591
aput v2, v1, v6
const/4 v6, 0x7
.line 592
aput v2, v1, v6
if-eqz p4, :cond_2a
.line 595
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I
move-result-object v6
aget v6, v6, v2
invoke-static {v0, v6, v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->recordPatternInReverse(Lcom/google/zxing/common/BitArray;I[I)V
goto :goto_45
.line 597
:cond_2a
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I
move-result-object v6
aget v6, v6, v3
invoke-static {v0, v6, v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.line 599
array-length v0, v1
sub-int/2addr v0, v3
const/4 v6, 0x0
:goto_36
if-ge v6, v0, :cond_45
.line 600
aget v7, v1, v6
.line 601
aget v8, v1, v0
aput v8, v1, v6
.line 602
aput v7, v1, v0
add-int/lit8 v6, v6, 0x1
add-int/lit8 v0, v0, -0x1
goto :goto_36
.line 607
:cond_45
:goto_45
invoke-static {v1}, Lcom/google/zxing/common/detector/MathUtils;->sum([I)I
move-result v0
int-to-float v0, v0
const/high16 v6, 0x41880000 # 17.0f
div-float/2addr v0, v6
.line 610
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I
move-result-object v6
aget v6, v6, v3
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I
move-result-object v7
aget v7, v7, v2
sub-int/2addr v6, v7
int-to-float v6, v6
const/high16 v7, 0x41700000 # 15.0f
div-float/2addr v6, v7
sub-float v7, v0, v6
.line 611
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
move-result v7
div-float/2addr v7, v6
const v6, 0x3e99999a # 0.3f
cmpl-float v7, v7, v6
if-gtz v7, :cond_146
.line 615
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddCounts()[I
move-result-object v7
.line 616
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenCounts()[I
move-result-object v8
.line 617
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getOddRoundingErrors()[F
move-result-object v9
.line 618
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getEvenRoundingErrors()[F
move-result-object v10
const/4 v11, 0x0
.line 620
:goto_7d
array-length v12, v1
if-ge v11, v12, :cond_c2
const/high16 v12, 0x3f800000 # 1.0f
.line 621
aget v13, v1, v11
int-to-float v13, v13
mul-float v13, v13, v12
div-float/2addr v13, v0
const/high16 v12, 0x3f000000 # 0.5f
add-float/2addr v12, v13
float-to-int v12, v12
const/16 v14, 0x8
if-gtz v12, :cond_9b
cmpg-float v12, v13, v6
if-ltz v12, :cond_96
const/4 v12, 0x1
goto :goto_ac
.line 625
:cond_96
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
:cond_9b
if-le v12, v14, :cond_ac
const v12, 0x410b3333 # 8.7f
cmpl-float v12, v13, v12
if-gtz v12, :cond_a7
const/16 v12, 0x8
goto :goto_ac
.line 630
:cond_a7
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.line 634
:cond_ac
:goto_ac
div-int/lit8 v14, v11, 0x2
and-int/lit8 v15, v11, 0x1
if-nez v15, :cond_b9
.line 636
aput v12, v7, v14
int-to-float v12, v12
sub-float/2addr v13, v12
.line 637
aput v13, v9, v14
goto :goto_bf
.line 639
:cond_b9
aput v12, v8, v14
int-to-float v12, v12
sub-float/2addr v13, v12
.line 640
aput v13, v10, v14
:goto_bf
add-int/lit8 v11, v11, 0x1
goto :goto_7d
:cond_c2
const/16 v0, 0x11
move-object/from16 v1, p0
.line 644
invoke-direct {v1, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->adjustOddEvenCounts(I)V
.line 646
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I
move-result v0
mul-int/lit8 v0, v0, 0x4
if-eqz p3, :cond_d3
const/4 v6, 0x0
goto :goto_d4
:cond_d3
const/4 v6, 0x2
:goto_d4
add-int/2addr v0, v6
xor-int/lit8 v6, p4, 0x1
add-int/2addr v0, v6
sub-int/2addr v0, v3
.line 650
array-length v6, v7
sub-int/2addr v6, v3
const/4 v9, 0x0
const/4 v10, 0x0
:goto_dd
if-ltz v6, :cond_f8
.line 651
invoke-static/range {p2 .. p4}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isNotA1left(Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Z
move-result v11
if-eqz v11, :cond_f2
.line 652
sget-object v11, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I
aget-object v11, v11, v0
mul-int/lit8 v12, v6, 0x2
aget v11, v11, v12
.line 653
aget v12, v7, v6
mul-int v12, v12, v11
add-int/2addr v9, v12
.line 655
:cond_f2
aget v11, v7, v6
add-int/2addr v10, v11
add-int/lit8 v6, v6, -0x1
goto :goto_dd
.line 659
:cond_f8
array-length v6, v8
sub-int/2addr v6, v3
const/4 v11, 0x0
:goto_fb
if-ltz v6, :cond_114
.line 660
invoke-static/range {p2 .. p4}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isNotA1left(Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Z
move-result v12
if-eqz v12, :cond_111
.line 661
sget-object v12, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I
aget-object v12, v12, v0
mul-int/lit8 v13, v6, 0x2
add-int/2addr v13, v3
aget v12, v12, v13
.line 662
aget v13, v8, v6
mul-int v13, v13, v12
add-int/2addr v11, v13
:cond_111
add-int/lit8 v6, v6, -0x1
goto :goto_fb
:cond_114
add-int/2addr v9, v11
and-int/lit8 v0, v10, 0x1
if-nez v0, :cond_141
const/16 v0, 0xd
if-gt v10, v0, :cond_141
if-lt v10, v5, :cond_141
sub-int/2addr v0, v10
.line 672
div-int/2addr v0, v4
.line 673
sget-object v4, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->SYMBOL_WIDEST:[I
aget v4, v4, v0
rsub-int/lit8 v5, v4, 0x9
.line 675
invoke-static {v7, v4, v3}, Lcom/google/zxing/oned/rss/RSSUtils;->getRSSvalue([IIZ)I
move-result v3
.line 676
invoke-static {v8, v5, v2}, Lcom/google/zxing/oned/rss/RSSUtils;->getRSSvalue([IIZ)I
move-result v2
.line 677
sget-object v4, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->EVEN_TOTAL_SUBSET:[I
aget v4, v4, v0
.line 678
sget-object v5, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->GSUM:[I
aget v0, v5, v0
mul-int v3, v3, v4
add-int/2addr v3, v2
add-int/2addr v3, v0
.line 681
new-instance v0, Lcom/google/zxing/oned/rss/DataCharacter;
invoke-direct {v0, v3, v9}, Lcom/google/zxing/oned/rss/DataCharacter;-><init>(II)V
return-object v0
.line 669
:cond_141
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
:cond_146
move-object/from16 v1, p0
.line 612
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/zxing/common/BitArray;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/FormatException;
}
.end annotation
.line 127
iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {p3}, Ljava/util/List;->clear()V
const/4 p3, 0x0
.line 128
iput-boolean p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startFromEven:Z
.line 130
:try_start_8
invoke-virtual {p0, p1, p2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decodeRow2pairs(ILcom/google/zxing/common/BitArray;)Ljava/util/List;
move-result-object p3
invoke-static {p3}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->constructResult(Ljava/util/List;)Lcom/google/zxing/Result;
move-result-object p1
:try_end_10
.catch Lcom/google/zxing/NotFoundException; {:try_start_8 .. :try_end_10} :catch_11
return-object p1
.line 135
:catch_11
iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {p3}, Ljava/util/List;->clear()V
const/4 p3, 0x1
.line 136
iput-boolean p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startFromEven:Z
.line 137
invoke-virtual {p0, p1, p2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decodeRow2pairs(ILcom/google/zxing/common/BitArray;)Ljava/util/List;
move-result-object p1
invoke-static {p1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->constructResult(Ljava/util/List;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method decodeRow2pairs(ILcom/google/zxing/common/BitArray;)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/zxing/common/BitArray;",
")",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 150
:goto_0
:try_start_0
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-virtual {p0, p2, v0, p1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->retrieveNextPair(Lcom/google/zxing/common/BitArray;Ljava/util/List;I)Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
move-result-object v0
.line 151
iget-object v1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_b
.catch Lcom/google/zxing/NotFoundException; {:try_start_0 .. :try_end_b} :catch_c
goto :goto_0
:catch_c
move-exception p2
.line 155
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_3f
.line 161
invoke-direct {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkChecksum()Z
move-result p2
if-eqz p2, :cond_1e
.line 162
iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
return-object p1
.line 165
:cond_1e
iget-object p2, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result p2
const/4 v0, 0x1
xor-int/2addr p2, v0
const/4 v1, 0x0
.line 166
invoke-direct {p0, p1, v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->storeRow(IZ)V
if-eqz p2, :cond_3a
.line 170
invoke-direct {p0, v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkRows(Z)Ljava/util/List;
move-result-object p1
if-eqz p1, :cond_33
return-object p1
.line 174
:cond_33
invoke-direct {p0, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkRows(Z)Ljava/util/List;
move-result-object p1
if-eqz p1, :cond_3a
return-object p1
.line 180
:cond_3a
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 156
:cond_3f
throw p2
.end method
.method getRows()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedRow;",
">;"
}
.end annotation
.line 355
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
return-object v0
.end method
.method public reset()V
.registers 2
.line 142
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 143
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->rows:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method retrieveNextPair(Lcom/google/zxing/common/BitArray;Ljava/util/List;I)Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/common/BitArray;",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;I)",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 421
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v0
rem-int/lit8 v0, v0, 0x2
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
.line 422
:goto_d
iget-boolean v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startFromEven:Z
if-eqz v3, :cond_13
xor-int/lit8 v0, v0, 0x1
:cond_13
const/4 v3, -0x1
const/4 v4, 0x1
.line 431
:cond_15
invoke-direct {p0, p1, p2, v3}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->findNextPair(Lcom/google/zxing/common/BitArray;Ljava/util/List;I)V
.line 432
invoke-direct {p0, p1, p3, v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->parseFoundFinderPattern(Lcom/google/zxing/common/BitArray;IZ)Lcom/google/zxing/oned/rss/FinderPattern;
move-result-object v5
if-nez v5, :cond_27
.line 434
iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I
aget v3, v3, v1
invoke-static {p1, v3}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getNextSecondBar(Lcom/google/zxing/common/BitArray;I)I
move-result v3
goto :goto_28
:cond_27
const/4 v4, 0x0
:goto_28
if-nez v4, :cond_15
.line 443
invoke-virtual {p0, p1, v5, v0, v2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decodeDataCharacter(Lcom/google/zxing/common/BitArray;Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object p3
.line 445
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result v3
if-nez v3, :cond_4b
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v3
sub-int/2addr v3, v2
invoke-interface {p2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-virtual {p2}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->mustBeLast()Z
move-result p2
if-nez p2, :cond_46
goto :goto_4b
.line 446
:cond_46
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 451
:cond_4b
:goto_4b
:try_start_4b
invoke-virtual {p0, p1, v5, v0, v1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decodeDataCharacter(Lcom/google/zxing/common/BitArray;Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object p1
:try_end_4f
.catch Lcom/google/zxing/NotFoundException; {:try_start_4b .. :try_end_4f} :catch_50
goto :goto_51
:catch_50
const/4 p1, 0x0
.line 455
:goto_51
new-instance p2, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-direct {p2, p3, p1, v5, v2}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;-><init>(Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/FinderPattern;Z)V
return-object p2
.end method