From cf4c0dce50e56de1ac17869182621af50c009cac Mon Sep 17 00:00:00 2001 From: alpbak Date: Thu, 14 Sep 2017 20:12:06 +0300 Subject: Added a mixed scan mode to enable scanning inverted and normal barcodes --- sample/src/main/java/example/zxing/MainActivity.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 79f74ec4..44408828 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -37,6 +37,12 @@ public class MainActivity extends AppCompatActivity { integrator.initiateScan(); } + public void scanMixedBarcodes(View view){ + IntentIntegrator integrator = new IntentIntegrator(this); + integrator.addExtra(Intents.Scan.MIXED_SCAN, true); + integrator.initiateScan(); + } + public void scanBarcodeCustomLayout(View view) { IntentIntegrator integrator = new IntentIntegrator(this); integrator.setCaptureActivity(AnyOrientationCaptureActivity.class); -- cgit v1.2.3 From f30ea0c95527aaf158ac3a1e2e82a5739525f5bb Mon Sep 17 00:00:00 2001 From: alpbak Date: Fri, 15 Sep 2017 09:34:42 +0300 Subject: Added a mixed scan mode to enable scanning inverted and normal barcodes --- .../src/main/java/example/zxing/MainActivity.java | 4 ++-- .../com/google/zxing/client/android/Intents.java | 14 ++++++++++-- .../barcodescanner/DecoratedBarcodeView.java | 9 +++----- .../barcodescanner/DefaultDecoderFactory.java | 25 ++++++++++++++-------- 4 files changed, 33 insertions(+), 19 deletions(-) (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 44408828..22eda821 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -33,13 +33,13 @@ public class MainActivity extends AppCompatActivity { public void scanBarcodeInverted(View view){ IntentIntegrator integrator = new IntentIntegrator(this); - integrator.addExtra(Intents.Scan.INVERTED_SCAN, true); + integrator.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.INVERTED_SCAN); integrator.initiateScan(); } public void scanMixedBarcodes(View view){ IntentIntegrator integrator = new IntentIntegrator(this); - integrator.addExtra(Intents.Scan.MIXED_SCAN, true); + integrator.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.MIXED_SCAN); integrator.initiateScan(); } diff --git a/zxing-android-embedded/src/com/google/zxing/client/android/Intents.java b/zxing-android-embedded/src/com/google/zxing/client/android/Intents.java index 8805b2ad..f3c3e4a9 100755 --- a/zxing-android-embedded/src/com/google/zxing/client/android/Intents.java +++ b/zxing-android-embedded/src/com/google/zxing/client/android/Intents.java @@ -180,15 +180,25 @@ public final class Intents { */ public static final String RESULT_BARCODE_IMAGE_PATH = "SCAN_RESULT_IMAGE_PATH"; + /*** + * Define the scan type. + */ + public static final String SCAN_TYPE = "SCAN_TYPE"; + + /*** + * Scan normal barcodes white on black + */ + public static final int NORMAL_SCAN = 0; + /*** * The scan should be inverted. White becomes black, black becomes white. */ - public static final String INVERTED_SCAN = "INVERTED_SCAN"; + public static final int INVERTED_SCAN = 1; /*** * Scan for inverted and normal badcodes at the same time. */ - public static final String MIXED_SCAN = "MIXED_SCAN"; + public static final int MIXED_SCAN = 2; private Scan() { } diff --git a/zxing-android-embedded/src/com/journeyapps/barcodescanner/DecoratedBarcodeView.java b/zxing-android-embedded/src/com/journeyapps/barcodescanner/DecoratedBarcodeView.java index 41ae02b3..4d2c7379 100644 --- a/zxing-android-embedded/src/com/journeyapps/barcodescanner/DecoratedBarcodeView.java +++ b/zxing-android-embedded/src/com/journeyapps/barcodescanner/DecoratedBarcodeView.java @@ -146,11 +146,8 @@ public class DecoratedBarcodeView extends FrameLayout { setStatusText(customPromptMessage); } - // Check to see if the scan should be inverted. - boolean inverted = intent.getBooleanExtra(Intents.Scan.INVERTED_SCAN, false); - - //Check if the scan should include inverted and normal barcodes - boolean mixedScan = intent.getBooleanExtra(Intents.Scan.MIXED_SCAN, false); + // Check what type of scan. Default: normal scan + int scanType = intent.getIntExtra(Intents.Scan.SCAN_TYPE, 0); String characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET); @@ -158,7 +155,7 @@ public class DecoratedBarcodeView extends FrameLayout { reader.setHints(decodeHints); barcodeView.setCameraSettings(settings); - barcodeView.setDecoderFactory(new DefaultDecoderFactory(decodeFormats, decodeHints, characterSet, inverted, mixedScan)); + barcodeView.setDecoderFactory(new DefaultDecoderFactory(decodeFormats, decodeHints, characterSet, scanType)); } public void setStatusText(String text) { diff --git a/zxing-android-embedded/src/com/journeyapps/barcodescanner/DefaultDecoderFactory.java b/zxing-android-embedded/src/com/journeyapps/barcodescanner/DefaultDecoderFactory.java index fcac46c6..ba2cb70b 100644 --- a/zxing-android-embedded/src/com/journeyapps/barcodescanner/DefaultDecoderFactory.java +++ b/zxing-android-embedded/src/com/journeyapps/barcodescanner/DefaultDecoderFactory.java @@ -15,18 +15,16 @@ public class DefaultDecoderFactory implements DecoderFactory { private Collection decodeFormats; private Map hints; private String characterSet; - private boolean inverted; - private boolean mixedScan; + private int scanType; public DefaultDecoderFactory() { } - public DefaultDecoderFactory(Collection decodeFormats, Map hints, String characterSet, boolean inverted, boolean mixedScan) { + public DefaultDecoderFactory(Collection decodeFormats, Map hints, String characterSet, int scanType) { this.decodeFormats = decodeFormats; this.hints = hints; this.characterSet = characterSet; - this.inverted = inverted; - this.mixedScan = mixedScan; + this.scanType = scanType; } @Override @@ -50,10 +48,19 @@ public class DefaultDecoderFactory implements DecoderFactory { MultiFormatReader reader = new MultiFormatReader(); reader.setHints(hints); - if (mixedScan) - return new MixedDecoder(reader); - else - return inverted ? new InvertedDecoder(reader) : new Decoder(reader); + switch (scanType){ + case 0: + return new Decoder(reader); + case 1: + return new InvertedDecoder(reader); + case 2: + return new MixedDecoder(reader); + default: + return new Decoder(reader); + + + } + } } -- cgit v1.2.3 From 2ff44f91b5afa9e527e3cae63a9181d88652b126 Mon Sep 17 00:00:00 2001 From: alpbak Date: Fri, 15 Sep 2017 09:45:19 +0300 Subject: Revert "Added a mixed scan mode to enable scanning inverted and normal barcodes" This reverts commit cf4c0dce50e56de1ac17869182621af50c009cac. --- .../src/main/java/example/zxing/MainActivity.java | 3 ++ sample/src/main/res/layout/activity_main.xml | 7 ---- .../com/google/zxing/client/android/Intents.java | 3 ++ .../barcodescanner/DecoratedBarcodeView.java | 9 +++++ .../barcodescanner/DefaultDecoderFactory.java | 16 ++++++++ .../journeyapps/barcodescanner/MixedDecoder.java | 46 ++++++++++++++++++++++ 6 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 zxing-android-embedded/src/com/journeyapps/barcodescanner/MixedDecoder.java (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 22eda821..2e5a0f62 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -37,12 +37,15 @@ public class MainActivity extends AppCompatActivity { integrator.initiateScan(); } +<<<<<<< HEAD public void scanMixedBarcodes(View view){ IntentIntegrator integrator = new IntentIntegrator(this); integrator.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.MIXED_SCAN); integrator.initiateScan(); } +======= +>>>>>>> parent of cf4c0dc... Added a mixed scan mode to enable scanning inverted and normal barcodes public void scanBarcodeCustomLayout(View view) { IntentIntegrator integrator = new IntentIntegrator(this); integrator.setCaptureActivity(AnyOrientationCaptureActivity.class); diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 1c95a8c6..4fd820f6 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -25,13 +25,6 @@ android:text="Scan Inverted" android:onClick="scanBarcodeInverted"/> -