Quick shortening of a method in FinderPatternFinder that I just noticed
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Mon, 21 Jul 2008 21:52:43 +0000 (21:52 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Mon, 21 Jul 2008 21:52:43 +0000 (21:52 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@523 59b500cc-1b3d-0410-9834-0bbf25fbcc57

core/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java

index ea66cad..6ec97b1 100755 (executable)
@@ -473,28 +473,19 @@ final class FinderPatternFinder {
       throw new ReaderException("Could not find three finder patterns");\r
     }\r
 \r
-    if (size == 3) {\r
-      // Found just enough -- hope these are good!\r
-      return new FinderPattern[]{\r
-          (FinderPattern) possibleCenters.elementAt(0),\r
-          (FinderPattern) possibleCenters.elementAt(1),\r
-          (FinderPattern) possibleCenters.elementAt(2)\r
-      };\r
-    }\r
-\r
-    possibleCenters.setSize(size);\r
-\r
-    // Hmm, multiple found. We need to pick the best three. Find the most\r
-    // popular ones whose module size is nearest the average\r
-\r
-    float averageModuleSize = 0.0f;\r
-    for (int i = 0; i < size; i++) {\r
-      averageModuleSize += ((FinderPattern) possibleCenters.elementAt(i)).getEstimatedModuleSize();\r
+    if (size > 3) {\r
+      // Throw away all but those first size candidate points we found.\r
+      possibleCenters.setSize(size);\r
+      //  We need to pick the best three. Find the most\r
+      // popular ones whose module size is nearest the average\r
+      float averageModuleSize = 0.0f;\r
+      for (int i = 0; i < size; i++) {\r
+        averageModuleSize += ((FinderPattern) possibleCenters.elementAt(i)).getEstimatedModuleSize();\r
+      }\r
+      averageModuleSize /= (float) size;\r
+      // We don't have java.util.Collections in J2ME\r
+      Collections.insertionSort(possibleCenters, new ClosestToAverageComparator(averageModuleSize));\r
     }\r
-    averageModuleSize /= (float) size;\r
-\r
-    // We don't have java.util.Collections in J2ME\r
-    Collections.insertionSort(possibleCenters, new ClosestToAverageComparator(averageModuleSize));\r
 \r
     return new FinderPattern[]{\r
         (FinderPattern) possibleCenters.elementAt(0),\r