From f6469ded3d6d905286057f9ac4e3acc22996def1 Mon Sep 17 00:00:00 2001 From: nick Date: Tue, 29 Apr 2014 16:07:08 +1200 Subject: [PATCH] Working and returning Results CAM-9, CAM-6 --- .../qrscanner/NativeScannerImpl.java | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/native/android/org/littlemonkey/qrscanner/NativeScannerImpl.java b/native/android/org/littlemonkey/qrscanner/NativeScannerImpl.java index 02a2124..1546933 100644 --- a/native/android/org/littlemonkey/qrscanner/NativeScannerImpl.java +++ b/native/android/org/littlemonkey/qrscanner/NativeScannerImpl.java @@ -2,39 +2,47 @@ import android.app.Activity; import android.content.Intent; -import android.widget.Toast; import android.text.TextUtils; import com.codename1.impl.android.IntentResultListener; +import com.codename1.io.Log; import net.sourceforge.zbar.Symbol; import com.dm.zbar.android.scanner.*; public class NativeScannerImpl { public void scanQRCode() { + scanCode(true); + } + + public void scanBarCode() { + scanCode(false); + } + + private void scanCode(boolean qrCode) { final android.app.Activity ctx = com.codename1.impl.android.AndroidNativeUtil.getActivity(); Intent intent = new Intent(ctx, ZBarScannerActivity.class); + if (qrCode) { intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE}); - com.codename1.impl.android.AndroidNativeUtil.startActivityForResult(intent,new IntentResultListener() { + } else { + intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.EAN13}); + } + com.codename1.impl.android.AndroidNativeUtil.startActivityForResult(intent, new IntentResultListener() { public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == 0) { - if (resultCode == Activity.RESULT_OK) { - QRScanner.getCallback().scanCompleted(data.getStringExtra(ZBarConstants.SCAN_RESULT), "QRCODE", data.getStringExtra(ZBarConstants.SCAN_RESULT).getBytes()); - } else if (resultCode == Activity.RESULT_CANCELED && data != null) { - String error = data.getStringExtra(ZBarConstants.ERROR_INFO); - if (!TextUtils.isEmpty(error)) { - QRScanner.getCallback().scanError(100, error); - } else { - QRScanner.getCallback().scanCanceled(); - } + Log.p("SCANNER " + requestCode + " " + resultCode + " " + data.getStringExtra(ZBarConstants.SCAN_RESULT)); + if (resultCode == Activity.RESULT_OK) { + QRScanner.getCallback().scanCompleted(data.getStringExtra(ZBarConstants.SCAN_RESULT), "QRCODE", data.getStringExtra(ZBarConstants.SCAN_RESULT).getBytes()); + } else if (resultCode == Activity.RESULT_CANCELED && data != null) { + String error = data.getStringExtra(ZBarConstants.ERROR_INFO); + if (!TextUtils.isEmpty(error)) { + QRScanner.getCallback().scanError(100, error); + } else { + QRScanner.getCallback().scanCanceled(); } } } }); } - public void scanBarCode() { - } - public boolean isSupported() { return true; }