Slight tweak to last change -- parse MODE value even when there's no SCAN_FORMATS...
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 29 Apr 2010 22:18:25 +0000 (22:18 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 29 Apr 2010 22:18:25 +0000 (22:18 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@1324 59b500cc-1b3d-0410-9834-0bbf25fbcc57

android/src/com/google/zxing/client/android/CaptureActivity.java

index aa476c0..f0b8e6f 100755 (executable)
@@ -264,17 +264,17 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
   }
 
   private static Vector<BarcodeFormat> parseDecodeFormats(Intent intent) {
-    String formats = intent.getStringExtra(Intents.Scan.SCAN_FORMATS);
-    if (formats != null) {
-      return parseDecodeFormats(Arrays.asList(COMMA_PATTERN.split(formats)),
-          intent.getStringExtra(Intents.Scan.MODE));
+    List<String> scanFormats = null;
+    String scanFormatsString = intent.getStringExtra(Intents.Scan.SCAN_FORMATS);
+    if (scanFormatsString != null) {
+      scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString));
     }
-    return null;
+    return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE));
   }
 
   private static Vector<BarcodeFormat> parseDecodeFormats(Uri inputUri) {
     List<String> formats = inputUri.getQueryParameters(Intents.Scan.SCAN_FORMATS);
-    if (formats.size() == 1){
+    if (formats != null && formats.size() == 1 && formats.get(0) != null){
       formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0)));
     }
     return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE));