.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 LONGEST_SEQUENCE_SIZE: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 currentSequence:[I .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 startEnd:[I # direct methods .method public static constructor ()V .locals 15 const/4 v0, 0x5 new-array v1, v0, [I .line 1 fill-array-data v1, :array_0 sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->SYMBOL_WIDEST:[I new-array v1, v0, [I .line 2 fill-array-data v1, :array_1 sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->EVEN_TOTAL_SUBSET:[I new-array v1, v0, [I const/16 v2, 0x15c const/4 v3, 0x1 aput v2, v1, v3 const/16 v2, 0x56c const/4 v4, 0x2 aput v2, v1, v4 const/16 v2, 0xb84 const/4 v5, 0x3 aput v2, v1, v5 const/16 v2, 0xf94 const/4 v6, 0x4 aput v2, v1, v6 .line 3 sput-object v1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->GSUM:[I const/4 v1, 0x6 new-array v2, v1, [[I new-array v7, v6, [I .line 4 fill-array-data v7, :array_2 const/4 v8, 0x0 aput-object v7, v2, v8 new-array v7, v6, [I .line 5 fill-array-data v7, :array_3 aput-object v7, v2, v3 new-array v7, v6, [I .line 6 fill-array-data v7, :array_4 aput-object v7, v2, v4 new-array v7, v6, [I .line 7 fill-array-data v7, :array_5 aput-object v7, v2, v5 new-array v7, v6, [I .line 8 fill-array-data v7, :array_6 aput-object v7, v2, v6 new-array v7, v6, [I .line 9 fill-array-data v7, :array_7 aput-object v7, v2, v0 .line 10 sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERNS:[[I const/16 v2, 0x17 new-array v2, v2, [[I const/16 v7, 0x8 new-array v9, v7, [I .line 11 fill-array-data v9, :array_8 aput-object v9, v2, v8 new-array v9, v7, [I .line 12 fill-array-data v9, :array_9 aput-object v9, v2, v3 new-array v9, v7, [I .line 13 fill-array-data v9, :array_a aput-object v9, v2, v4 new-array v9, v7, [I .line 14 fill-array-data v9, :array_b aput-object v9, v2, v5 new-array v9, v7, [I .line 15 fill-array-data v9, :array_c aput-object v9, v2, v6 new-array v9, v7, [I .line 16 fill-array-data v9, :array_d aput-object v9, v2, v0 new-array v9, v7, [I .line 17 fill-array-data v9, :array_e aput-object v9, v2, v1 new-array v9, v7, [I .line 18 fill-array-data v9, :array_f const/4 v10, 0x7 aput-object v9, v2, v10 new-array v9, v7, [I .line 19 fill-array-data v9, :array_10 aput-object v9, v2, v7 new-array v9, v7, [I .line 20 fill-array-data v9, :array_11 const/16 v11, 0x9 aput-object v9, v2, v11 new-array v9, v7, [I .line 21 fill-array-data v9, :array_12 const/16 v12, 0xa aput-object v9, v2, v12 new-array v9, v7, [I .line 22 fill-array-data v9, :array_13 const/16 v13, 0xb aput-object v9, v2, v13 new-array v9, v7, [I .line 23 fill-array-data v9, :array_14 const/16 v14, 0xc aput-object v9, v2, v14 new-array v9, v7, [I .line 24 fill-array-data v9, :array_15 const/16 v14, 0xd aput-object v9, v2, v14 new-array v9, v7, [I .line 25 fill-array-data v9, :array_16 const/16 v14, 0xe aput-object v9, v2, v14 new-array v9, v7, [I .line 26 fill-array-data v9, :array_17 const/16 v14, 0xf aput-object v9, v2, v14 new-array v9, v7, [I .line 27 fill-array-data v9, :array_18 const/16 v14, 0x10 aput-object v9, v2, v14 new-array v9, v7, [I .line 28 fill-array-data v9, :array_19 const/16 v14, 0x11 aput-object v9, v2, v14 new-array v9, v7, [I .line 29 fill-array-data v9, :array_1a const/16 v14, 0x12 aput-object v9, v2, v14 new-array v9, v7, [I .line 30 fill-array-data v9, :array_1b const/16 v14, 0x13 aput-object v9, v2, v14 new-array v9, v7, [I .line 31 fill-array-data v9, :array_1c const/16 v14, 0x14 aput-object v9, v2, v14 new-array v9, v7, [I .line 32 fill-array-data v9, :array_1d const/16 v14, 0x15 aput-object v9, v2, v14 new-array v9, v7, [I .line 33 fill-array-data v9, :array_1e const/16 v14, 0x16 aput-object v9, v2, v14 .line 34 sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I new-array v2, v12, [[I new-array v9, v4, [I aput-object v9, v2, v8 new-array v8, v5, [I aput v3, v8, v3 aput v3, v8, v4 aput-object v8, v2, v3 new-array v8, v6, [I aput v4, v8, v3 aput v3, v8, v4 aput v5, v8, v5 aput-object v8, v2, v4 new-array v8, v0, [I aput v6, v8, v3 aput v3, v8, v4 aput v5, v8, v5 aput v4, v8, v6 aput-object v8, v2, v5 new-array v8, v1, [I aput v6, v8, v3 aput v3, v8, v4 aput v5, v8, v5 aput v5, v8, v6 aput v0, v8, v0 aput-object v8, v2, v6 new-array v8, v10, [I aput v6, v8, v3 aput v3, v8, v4 aput v5, v8, v5 aput v6, v8, v6 aput v0, v8, v0 aput v0, v8, v1 aput-object v8, v2, v0 new-array v8, v7, [I aput v3, v8, v4 aput v3, v8, v5 aput v4, v8, v6 aput v4, v8, v0 aput v5, v8, v1 aput v5, v8, v10 aput-object v8, v2, v1 new-array v8, v11, [I aput v3, v8, v4 aput v3, v8, v5 aput v4, v8, v6 aput v4, v8, v0 aput v5, v8, v1 aput v6, v8, v10 aput v6, v8, v7 aput-object v8, v2, v10 new-array v8, v12, [I aput v3, v8, v4 aput v3, v8, v5 aput v4, v8, v6 aput v4, v8, v0 aput v5, v8, v1 aput v6, v8, v10 aput v0, v8, v7 aput v0, v8, v11 aput-object v8, v2, v7 new-array v8, v13, [I aput v3, v8, v4 aput v3, v8, v5 aput v4, v8, v6 aput v5, v8, v0 aput v5, v8, v1 aput v6, v8, v10 aput v6, v8, v7 aput v0, v8, v11 aput v0, v8, v12 aput-object v8, v2, v11 .line 35 sput-object v2, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERN_SEQUENCES:[[I .line 36 array-length v0, v2 sub-int/2addr v0, v3 aget-object v0, v2, v0 array-length v0, v0 sput v0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->LONGEST_SEQUENCE_SIZE:I return-void nop :array_0 .array-data 4 0x7 0x5 0x4 0x3 0x1 .end array-data :array_1 .array-data 4 0x4 0x14 0x34 0x68 0xcc .end array-data :array_2 .array-data 4 0x1 0x8 0x4 0x1 .end array-data :array_3 .array-data 4 0x3 0x6 0x4 0x1 .end array-data :array_4 .array-data 4 0x3 0x4 0x6 0x1 .end array-data :array_5 .array-data 4 0x3 0x2 0x8 0x1 .end array-data :array_6 .array-data 4 0x2 0x6 0x5 0x1 .end array-data :array_7 .array-data 4 0x2 0x2 0x9 0x1 .end array-data :array_8 .array-data 4 0x1 0x3 0x9 0x1b 0x51 0x20 0x60 0x4d .end array-data :array_9 .array-data 4 0x14 0x3c 0xb4 0x76 0x8f 0x7 0x15 0x3f .end array-data :array_a .array-data 4 0xbd 0x91 0xd 0x27 0x75 0x8c 0xd1 0xcd .end array-data :array_b .array-data 4 0xc1 0x9d 0x31 0x93 0x13 0x39 0xab 0x5b .end array-data :array_c .array-data 4 0x3e 0xba 0x88 0xc5 0xa9 0x55 0x2c 0x84 .end array-data :array_d .array-data 4 0xb9 0x85 0xbc 0x8e 0x4 0xc 0x24 0x6c .end array-data :array_e .array-data 4 0x71 0x80 0xad 0x61 0x50 0x1d 0x57 0x32 .end array-data :array_f .array-data 4 0x96 0x1c 0x54 0x29 0x7b 0x9e 0x34 0x9c .end array-data :array_10 .array-data 4 0x2e 0x8a 0xcb 0xbb 0x8b 0xce 0xc4 0xa6 .end array-data :array_11 .array-data 4 0x4c 0x11 0x33 0x99 0x25 0x6f 0x7a 0x9b .end array-data :array_12 .array-data 4 0x2b 0x81 0xb0 0x6a 0x6b 0x6e 0x77 0x92 .end array-data :array_13 .array-data 4 0x10 0x30 0x90 0xa 0x1e 0x5a 0x3b 0xb1 .end array-data :array_14 .array-data 4 0x6d 0x74 0x89 0xc8 0xb2 0x70 0x7d 0xa4 .end array-data :array_15 .array-data 4 0x46 0xd2 0xd0 0xca 0xb8 0x82 0xb3 0x73 .end array-data :array_16 .array-data 4 0x86 0xbf 0x97 0x1f 0x5d 0x44 0xcc 0xbe .end array-data :array_17 .array-data 4 0x94 0x16 0x42 0xc6 0xac 0x5e 0x47 0x2 .end array-data :array_18 .array-data 4 0x6 0x12 0x36 0xa2 0x40 0xc0 0x9a 0x28 .end array-data :array_19 .array-data 4 0x78 0x95 0x19 0x4b 0xe 0x2a 0x7e 0xa7 .end array-data :array_1a .array-data 4 0x4f 0x1a 0x4e 0x17 0x45 0xcf 0xc7 0xaf .end array-data :array_1b .array-data 4 0x67 0x62 0x53 0x26 0x72 0x83 0xb6 0x7c .end array-data :array_1c .array-data 4 0xa1 0x3d 0xb7 0x7f 0xaa 0x58 0x35 0x9f .end array-data :array_1d .array-data 4 0x37 0xa5 0x49 0x8 0x18 0x48 0x5 0xf .end array-data :array_1e .array-data 4 0x2d 0x87 0xc2 0xa0 0x3a 0xae 0x64 0x59 .end array-data .end method .method public constructor ()V .locals 2 .line 1 invoke-direct {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->()V .line 2 new-instance v0, Ljava/util/ArrayList; const/16 v1, 0xb invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List; const/4 v0, 0x2 new-array v0, v0, [I .line 3 iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I .line 4 sget v0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->LONGEST_SEQUENCE_SIZE:I new-array v0, v0, [I iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->currentSequence:[I return-void .end method .method private adjustOddEvenCounts(I)V .locals 10 .annotation system Ldalvik/annotation/Throws; value = { Lcom/google/zxing/NotFoundException; } .end annotation .line 1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddCounts()[I move-result-object v0 invoke-static {v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->count([I)I move-result v0 .line 2 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenCounts()[I move-result-object v1 invoke-static {v1}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->count([I)I move-result v1 add-int v2, v0, v1 sub-int/2addr v2, p1 and-int/lit8 p1, v0, 0x1 const/4 v3, 0x0 const/4 v4, 0x1 if-ne p1, v4, :cond_0 move p1, v4 goto :goto_0 :cond_0 move p1, v3 :goto_0 and-int/lit8 v5, v1, 0x1 if-nez v5, :cond_1 move v5, v4 goto :goto_1 :cond_1 move v5, v3 :goto_1 const/4 v6, 0x4 const/16 v7, 0xd if-le v0, v7, :cond_2 move v8, v3 move v9, v4 goto :goto_2 :cond_2 if-ge v0, v6, :cond_3 move v9, v3 move v8, v4 goto :goto_2 :cond_3 move v8, v3 move v9, v8 :goto_2 if-le v1, v7, :cond_4 move v6, v4 goto :goto_3 :cond_4 if-ge v1, v6, :cond_5 move v6, v3 move v3, v4 goto :goto_3 :cond_5 move v6, v3 :goto_3 if-ne v2, v4, :cond_9 if-eqz p1, :cond_7 if-nez v5, :cond_6 move v9, v4 goto :goto_4 .line 3 :cond_6 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_7 if-eqz v5, :cond_8 move v6, v4 :goto_4 move v4, v8 goto :goto_5 .line 4 :cond_8 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_9 const/4 v7, -0x1 if-ne v2, v7, :cond_d if-eqz p1, :cond_b if-nez v5, :cond_a goto :goto_5 .line 5 :cond_a invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_b if-eqz v5, :cond_c move v3, v4 goto :goto_4 .line 6 :cond_c invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_d if-nez v2, :cond_18 if-eqz p1, :cond_10 if-eqz v5, :cond_f if-ge v0, v1, :cond_e move v6, v4 goto :goto_5 :cond_e move v3, v4 move v9, v3 goto :goto_4 .line 7 :cond_f invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_10 if-nez v5, :cond_17 goto :goto_4 :goto_5 if-eqz v4, :cond_12 if-nez v9, :cond_11 .line 8 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddCounts()[I move-result-object p1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddRoundingErrors()[F move-result-object v0 invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->increment([I[F)V goto :goto_6 .line 9 :cond_11 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_12 :goto_6 if-eqz v9, :cond_13 .line 10 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddCounts()[I move-result-object p1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddRoundingErrors()[F move-result-object v0 invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->decrement([I[F)V :cond_13 if-eqz v3, :cond_15 if-nez v6, :cond_14 .line 11 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenCounts()[I move-result-object p1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddRoundingErrors()[F move-result-object v0 invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->increment([I[F)V goto :goto_7 .line 12 :cond_14 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_15 :goto_7 if-eqz v6, :cond_16 .line 13 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenCounts()[I move-result-object p1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenRoundingErrors()[F move-result-object v0 invoke-static {p1, v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->decrement([I[F)V :cond_16 return-void .line 14 :cond_17 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 .line 15 :cond_18 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 .end method .method private checkChecksum()Z .locals 8 .line 1 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 2 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getLeftChar()Lcom/google/zxing/oned/rss/DataCharacter; move-result-object v2 .line 3 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter; move-result-object v0 .line 4 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/DataCharacter;->getChecksumPortion()I move-result v0 const/4 v3, 0x1 const/4 v4, 0x2 move v5, v3 .line 5 :goto_0 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-lt v5, v6, :cond_1 .line 6 rem-int/lit16 v0, v0, 0xd3 const/4 v5, -0x4 const/16 v6, 0xd3 invoke-static {v4, v5, v6, v0}, Lcom/google/android/material/datepicker/a;->a(IIII)I move-result v0 .line 7 invoke-virtual {v2}, Lcom/google/zxing/oned/rss/DataCharacter;->getValue()I move-result v2 if-ne v0, v2, :cond_0 return v3 :cond_0 return v1 .line 8 :cond_1 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 9 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 v7, v0 add-int/lit8 v4, v4, 0x1 .line 10 invoke-virtual {v6}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter; move-result-object v0 if-eqz v0, :cond_2 .line 11 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/DataCharacter;->getChecksumPortion()I move-result v0 add-int/2addr v0, v7 add-int/lit8 v4, v4, 0x1 goto :goto_1 :cond_2 move v0, v7 :goto_1 add-int/lit8 v5, v5, 0x1 goto :goto_0 .end method .method private checkPairSequence(Ljava/util/List;Lcom/google/zxing/oned/rss/FinderPattern;)Z .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/google/zxing/oned/rss/expanded/ExpandedPair;", ">;", "Lcom/google/zxing/oned/rss/FinderPattern;", ")Z" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Lcom/google/zxing/NotFoundException; } .end annotation .line 1 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 const/4 v1, 0x1 add-int/2addr v0, v1 .line 2 iget-object v2, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->currentSequence:[I array-length v2, v2 if-gt v0, v2, :cond_6 const/4 v2, 0x0 move v3, v2 .line 3 :goto_0 invoke-interface {p1}, Ljava/util/List;->size()I move-result v4 if-lt v3, v4, :cond_5 .line 4 iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->currentSequence:[I add-int/lit8 v3, v0, -0x1 invoke-virtual {p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I move-result p2 aput p2, p1, v3 .line 5 sget-object p1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERN_SEQUENCES:[[I array-length p2, p1 move v3, v2 :goto_1 if-ge v3, p2, :cond_4 aget-object v4, p1, v3 .line 6 array-length v5, v4 if-lt v5, v0, :cond_3 move v5, v2 :goto_2 if-lt v5, v0, :cond_0 move v5, v1 goto :goto_3 .line 7 :cond_0 iget-object v6, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->currentSequence:[I aget v6, v6, v5 aget v7, v4, v5 if-eq v6, v7, :cond_2 move v5, v2 :goto_3 if-eqz v5, :cond_3 .line 8 array-length p1, v4 if-ne v0, p1, :cond_1 return v1 :cond_1 return v2 :cond_2 add-int/lit8 v5, v5, 0x1 goto :goto_2 :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_1 .line 9 :cond_4 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 .line 10 :cond_5 iget-object v4, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->currentSequence:[I invoke-interface {p1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/google/zxing/oned/rss/expanded/ExpandedPair; invoke-virtual {v5}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern; move-result-object v5 invoke-virtual {v5}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I move-result v5 aput v5, v4, v3 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 11 :cond_6 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 .end method .method private static constructResult(Ljava/util/List;)Lcom/google/zxing/Result; .locals 7 .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; } .end annotation .line 1 invoke-static {p0}, Lcom/google/zxing/oned/rss/expanded/BitArrayBuilder;->buildBitArray(Ljava/util/List;)Lcom/google/zxing/common/BitArray; move-result-object v0 .line 2 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 3 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->parseInformation()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 .line 4 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 5 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 6 new-instance v3, Lcom/google/zxing/Result; const/4 v5, 0x4 new-array v5, v5, [Lcom/google/zxing/ResultPoint; .line 7 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 .line 8 sget-object p0, Lcom/google/zxing/BarcodeFormat;->RSS_EXPANDED:Lcom/google/zxing/BarcodeFormat; const/4 v1, 0x0 .line 9 invoke-direct {v3, v0, v1, v5, p0}, Lcom/google/zxing/Result;->(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 .locals 11 .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 1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getDecodeFinderCounters()[I move-result-object v0 const/4 v1, 0x0 .line 2 aput v1, v0, v1 const/4 v2, 0x1 .line 3 aput v1, v0, v2 const/4 v3, 0x2 .line 4 aput v1, v0, v3 const/4 v4, 0x3 .line 5 aput v1, v0, v4 .line 6 invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I move-result v5 if-ltz p3, :cond_0 goto :goto_0 .line 7 :cond_0 invoke-interface {p2}, Ljava/util/List;->isEmpty()Z move-result p3 if-eqz p3, :cond_1 move p3, v1 goto :goto_0 .line 8 :cond_1 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 9 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 10 :goto_0 invoke-interface {p2}, Ljava/util/List;->size()I move-result p2 rem-int/2addr p2, v3 if-eqz p2, :cond_2 move p2, v2 goto :goto_1 :cond_2 move p2, v1 :goto_1 move v6, v1 :goto_2 if-lt p3, v5, :cond_3 goto :goto_3 .line 11 :cond_3 invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z move-result v6 xor-int/2addr v6, v2 if-nez v6, :cond_a :goto_3 move v8, v1 move v7, v6 move v6, p3 :goto_4 if-ge p3, v5, :cond_9 .line 12 invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z move-result v9 xor-int/2addr v9, v7 if-eqz v9, :cond_4 .line 13 aget v9, v0, v8 add-int/2addr v9, v2 aput v9, v0, v8 goto :goto_6 :cond_4 if-ne v8, v4, :cond_8 if-eqz p2, :cond_5 .line 14 invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->reverseCounters([I)V .line 15 :cond_5 invoke-static {v0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->isFinderPattern([I)Z move-result v9 if-eqz v9, :cond_6 .line 16 iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I aput v6, p1, v1 .line 17 aput p3, p1, v2 return-void :cond_6 if-eqz p2, :cond_7 .line 18 invoke-static {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->reverseCounters([I)V .line 19 :cond_7 aget v9, v0, v1 aget v10, v0, v2 add-int/2addr v9, v10 add-int/2addr v6, v9 .line 20 aget v9, v0, v3 aput v9, v0, v1 .line 21 aget v9, v0, v4 aput v9, v0, v2 .line 22 aput v1, v0, v3 .line 23 aput v1, v0, v4 add-int/lit8 v8, v8, -0x1 goto :goto_5 :cond_8 add-int/lit8 v8, v8, 0x1 .line 24 :goto_5 aput v2, v0, v8 xor-int/lit8 v7, v7, 0x1 :goto_6 add-int/lit8 p3, p3, 0x1 goto :goto_4 .line 25 :cond_9 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 :cond_a add-int/lit8 p3, p3, 0x1 goto :goto_2 .end method .method private static getNextSecondBar(Lcom/google/zxing/common/BitArray;I)I .locals 1 .line 1 invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z move-result v0 if-eqz v0, :cond_0 .line 2 invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I move-result p1 .line 3 invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I move-result p0 goto :goto_0 .line 4 :cond_0 invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I move-result p1 .line 5 invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I move-result p0 :goto_0 return p0 .end method .method private static isNotA1left(Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Z .locals 0 .line 1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I move-result p0 if-nez p0, :cond_0 if-eqz p1, :cond_0 if-eqz p2, :cond_0 const/4 p0, 0x0 goto :goto_0 :cond_0 const/4 p0, 0x1 :goto_0 return p0 .end method .method private parseFoundFinderPattern(Lcom/google/zxing/common/BitArray;IZ)Lcom/google/zxing/oned/rss/FinderPattern; .locals 9 const/4 v0, 0x0 const/4 v1, 0x1 if-eqz p3, :cond_2 .line 1 iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I aget p3, p3, v0 sub-int/2addr p3, v1 :goto_0 if-ltz p3, :cond_1 .line 2 invoke-virtual {p1, p3}, Lcom/google/zxing/common/BitArray;->get(I)Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 :cond_0 add-int/lit8 p3, p3, -0x1 goto :goto_0 :cond_1 :goto_1 add-int/2addr p3, v1 .line 3 iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I aget v2, p1, v0 sub-int/2addr v2, p3 .line 4 aget p1, p1, v1 move v7, p1 move v6, p3 goto :goto_2 .line 5 :cond_2 iget-object p3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I aget v2, p3, v0 .line 6 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 7 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 8 :goto_2 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getDecodeFinderCounters()[I move-result-object p1 .line 9 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 10 aput v2, p1, v0 .line 11 :try_start_0 sget-object p3, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->FINDER_PATTERNS:[[I invoke-static {p1, p3}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->parseFinderValue([I[[I)I move-result v4 :try_end_0 .catch Lcom/google/zxing/NotFoundException; {:try_start_0 .. :try_end_0} :catch_0 .line 12 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;->(I[IIII)V return-object p1 :catch_0 const/4 p1, 0x0 return-object p1 .end method .method private static reverseCounters([I)V .locals 5 .line 1 array-length v0, p0 const/4 v1, 0x0 .line 2 :goto_0 div-int/lit8 v2, v0, 0x2 if-lt v1, v2, :cond_0 return-void .line 3 :cond_0 aget v2, p0, v1 sub-int v3, v0, v1 add-int/lit8 v3, v3, -0x1 .line 4 aget v4, p0, v3 aput v4, p0, v1 .line 5 aput v2, p0, v3 add-int/lit8 v1, v1, 0x1 goto :goto_0 .end method # virtual methods .method public decodeDataCharacter(Lcom/google/zxing/common/BitArray;Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Lcom/google/zxing/oned/rss/DataCharacter; .locals 17 .annotation system Ldalvik/annotation/Throws; value = { Lcom/google/zxing/NotFoundException; } .end annotation move-object/from16 v0, p1 .line 1 invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getDataCharacterCounters()[I move-result-object v1 const/4 v2, 0x0 .line 2 aput v2, v1, v2 const/4 v3, 0x1 .line 3 aput v2, v1, v3 const/4 v4, 0x2 .line 4 aput v2, v1, v4 const/4 v5, 0x3 .line 5 aput v2, v1, v5 const/4 v5, 0x4 .line 6 aput v2, v1, v5 const/4 v6, 0x5 .line 7 aput v2, v1, v6 const/4 v6, 0x6 .line 8 aput v2, v1, v6 const/4 v6, 0x7 .line 9 aput v2, v1, v6 if-eqz p4, :cond_0 .line 10 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/OneDReader;->recordPatternInReverse(Lcom/google/zxing/common/BitArray;I[I)V goto :goto_1 .line 11 :cond_0 invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getStartEnd()[I move-result-object v6 aget v6, v6, v3 add-int/2addr v6, v3 invoke-static {v0, v6, v1}, Lcom/google/zxing/oned/OneDReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V .line 12 array-length v0, v1 sub-int/2addr v0, v3 move v6, v2 :goto_0 if-lt v6, v0, :cond_b :goto_1 const/16 v7, 0x11 .line 13 invoke-static {v1}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->count([I)I move-result v0 int-to-float v0, v0 int-to-float v6, v7 div-float v8, v0, v6 .line 14 invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddCounts()[I move-result-object v9 .line 15 invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenCounts()[I move-result-object v10 .line 16 invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getOddRoundingErrors()[F move-result-object v11 .line 17 invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/oned/rss/AbstractRSSReader;->getEvenRoundingErrors()[F move-result-object v12 move v0, v2 .line 18 :goto_2 array-length v6, v1 if-lt v0, v6, :cond_7 move-object/from16 v13, p0 .line 19 invoke-direct {v13, v7}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->adjustOddEvenCounts(I)V .line 20 invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/oned/rss/FinderPattern;->getValue()I move-result v0 mul-int/2addr v0, v5 if-eqz p3, :cond_1 move v1, v2 goto :goto_3 :cond_1 move v1, v4 :goto_3 add-int/2addr v0, v1 xor-int/lit8 v1, p4, 0x1 add-int/2addr v0, v1 add-int/lit8 v6, v0, -0x1 .line 21 array-length v0, v9 sub-int/2addr v0, v3 move v1, v2 move v7, v1 :goto_4 if-gez v0, :cond_5 .line 22 array-length v0, v10 sub-int/2addr v0, v3 move v8, v2 :goto_5 if-gez v0, :cond_3 add-int/2addr v1, v8 and-int/lit8 v0, v7, 0x1 if-nez v0, :cond_2 const/16 v0, 0xd if-gt v7, v0, :cond_2 if-lt v7, v5, :cond_2 sub-int/2addr v0, v7 .line 23 div-int/2addr v0, v4 .line 24 sget-object v4, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->SYMBOL_WIDEST:[I aget v4, v4, v0 rsub-int/lit8 v5, v4, 0x9 .line 25 invoke-static {v9, v4, v3}, Lcom/google/zxing/oned/rss/RSSUtils;->getRSSvalue([IIZ)I move-result v3 .line 26 invoke-static {v10, v5, v2}, Lcom/google/zxing/oned/rss/RSSUtils;->getRSSvalue([IIZ)I move-result v2 .line 27 sget-object v4, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->EVEN_TOTAL_SUBSET:[I aget v4, v4, v0 .line 28 sget-object v5, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->GSUM:[I aget v0, v5, v0 invoke-static {v3, v4, v2, v0}, Lcom/coremedia/iso/gui/hex/a;->a(IIII)I move-result v0 .line 29 new-instance v2, Lcom/google/zxing/oned/rss/DataCharacter; invoke-direct {v2, v0, v1}, Lcom/google/zxing/oned/rss/DataCharacter;->(II)V return-object v2 .line 30 :cond_2 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object v0 throw v0 .line 31 :cond_3 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_4 .line 32 sget-object v11, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I aget-object v11, v11, v6 mul-int/lit8 v12, v0, 0x2 add-int/2addr v12, v3 aget v11, v11, v12 .line 33 aget v12, v10, v0 mul-int/2addr v12, v11 add-int/2addr v8, v12 .line 34 :cond_4 aget v11, v10, v0 add-int/lit8 v0, v0, -0x1 goto :goto_5 .line 35 :cond_5 invoke-static/range {p2 .. p4}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->isNotA1left(Lcom/google/zxing/oned/rss/FinderPattern;ZZ)Z move-result v8 if-eqz v8, :cond_6 .line 36 sget-object v8, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->WEIGHTS:[[I aget-object v8, v8, v6 mul-int/lit8 v11, v0, 0x2 aget v8, v8, v11 .line 37 aget v11, v9, v0 mul-int/2addr v11, v8 add-int/2addr v1, v11 .line 38 :cond_6 aget v8, v9, v0 add-int/2addr v7, v8 add-int/lit8 v0, v0, -0x1 goto :goto_4 :cond_7 move-object/from16 v13, p0 const/high16 v6, 0x3f800000 # 1.0f .line 39 aget v14, v1, v0 int-to-float v14, v14 mul-float/2addr v14, v6 div-float/2addr v14, v8 const/high16 v6, 0x3f000000 # 0.5f add-float/2addr v6, v14 float-to-int v6, v6 const/16 v15, 0x8 if-ge v6, v3, :cond_8 move v6, v3 goto :goto_6 :cond_8 if-le v6, v15, :cond_9 move v6, v15 :cond_9 :goto_6 shr-int/lit8 v15, v0, 0x1 and-int/lit8 v16, v0, 0x1 if-nez v16, :cond_a .line 40 aput v6, v9, v15 int-to-float v6, v6 sub-float/2addr v14, v6 .line 41 aput v14, v11, v15 goto :goto_7 .line 42 :cond_a aput v6, v10, v15 int-to-float v6, v6 sub-float/2addr v14, v6 .line 43 aput v14, v12, v15 :goto_7 add-int/lit8 v0, v0, 0x1 goto/16 :goto_2 :cond_b move-object/from16 v13, p0 .line 44 aget v7, v1, v6 .line 45 aget v8, v1, v0 aput v8, v1, v6 .line 46 aput v7, v1, v0 add-int/lit8 v6, v6, 0x1 add-int/lit8 v0, v0, -0x1 goto/16 :goto_0 .end method .method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result; .locals 0 .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; } .end annotation .line 1 invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->reset()V .line 2 invoke-virtual {p0, p1, p2}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->decodeRow2pairs(ILcom/google/zxing/common/BitArray;)Ljava/util/List; .line 3 iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List; 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 public decodeRow2pairs(ILcom/google/zxing/common/BitArray;)Ljava/util/List; .locals 2 .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 1 :cond_0 :goto_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 2 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 .line 3 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->mayBeLast()Z move-result v1 if-eqz v1, :cond_0 .line 4 invoke-direct {p0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkChecksum()Z move-result v1 if-eqz v1, :cond_1 .line 5 iget-object p1, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List; return-object p1 .line 6 :cond_1 invoke-virtual {v0}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->mustBeLast()Z move-result v0 if-nez v0, :cond_2 goto :goto_0 .line 7 :cond_2 invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException; move-result-object p1 throw p1 .end method .method public reset()V .locals 1 .line 1 iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->pairs:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V return-void .end method .method public retrieveNextPair(Lcom/google/zxing/common/BitArray;Ljava/util/List;I)Lcom/google/zxing/oned/rss/expanded/ExpandedPair; .locals 6 .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 1 invoke-interface {p2}, Ljava/util/List;->size()I move-result v0 rem-int/lit8 v0, v0, 0x2 const/4 v1, 0x1 const/4 v2, 0x0 if-nez v0, :cond_0 move v0, v1 goto :goto_0 :cond_0 move v0, v2 :goto_0 const/4 v3, -0x1 move v4, v1 .line 2 :cond_1 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 3 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_2 .line 4 iget-object v3, p0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->startEnd:[I aget v3, v3, v2 invoke-static {p1, v3}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->getNextSecondBar(Lcom/google/zxing/common/BitArray;I)I move-result v3 goto :goto_1 :cond_2 move v4, v2 :goto_1 if-nez v4, :cond_1 .line 5 invoke-direct {p0, p2, v5}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;->checkPairSequence(Ljava/util/List;Lcom/google/zxing/oned/rss/FinderPattern;)Z move-result p2 .line 6 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 p3 .line 7 :try_start_0 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 p1 :try_end_0 .catch Lcom/google/zxing/NotFoundException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_2 :catch_0 move-exception p1 if-eqz p2, :cond_3 const/4 p1, 0x0 .line 8 :goto_2 new-instance v0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair; invoke-direct {v0, p3, p1, v5, p2}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->(Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/FinderPattern;Z)V return-object v0 .line 9 :cond_3 throw p1 .end method