summaryrefslogtreecommitdiff
path: root/core/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/com')
-rw-r--r--core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java b/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java
index 0e06ac3a5..61cab98c0 100644
--- a/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java
+++ b/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java
@@ -167,8 +167,7 @@ public final class RSSExpandedReader extends AbstractRSSReader {
}
}
- // TODO: verify sequence of finder patterns as in checkPairSequence()
- if (checkChecksum()) {
+ if (checkChecksum() && isValidSequence(this.pairs, true)) {
return this.pairs;
}
@@ -229,7 +228,7 @@ public final class RSSExpandedReader extends AbstractRSSReader {
}
this.pairs.addAll(row.getPairs());
- if (isValidSequence(this.pairs)) {
+ if (isValidSequence(this.pairs, false)) {
if (checkChecksum()) {
return this.pairs;
}
@@ -249,10 +248,11 @@ public final class RSSExpandedReader extends AbstractRSSReader {
}
// Whether the pairs form a valid finder pattern sequence, either complete or a prefix
- private static boolean isValidSequence(List<ExpandedPair> pairs) {
+ private static boolean isValidSequence(List<ExpandedPair> pairs, boolean complete) {
for (int[] sequence : FINDER_PATTERN_SEQUENCES) {
- if (pairs.size() <= sequence.length) {
+ boolean sizeOk = (complete ? pairs.size() == sequence.length : pairs.size() <= sequence.length);
+ if (sizeOk) {
boolean stop = true;
for (int j = 0; j < pairs.size(); j++) {
if (pairs.get(j).getFinderPattern().getValue() != sequence[j]) {