Commit 32db2d07 by Oscar Fuentes

update methods

parent 1e9b8844
{ {
"name": "com.cocodin.barcodescan.plugin", "name": "barcode-scan-chainway",
"version": "1.0.0", "version": "1.0.0",
"cordova": { "cordova": {
"id": "barcode-scan-chainway", "id": "barcode-scan-chainway",
...@@ -7,21 +7,5 @@ ...@@ -7,21 +7,5 @@
"android" "android"
] ]
}, },
"description": "Chainway barcode scan plugin for hybrid apps.", "description": "Chainway barcode scan plugin for hybrid apps."
"main": "barcode-scam-chainway.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "http://labs.cocodin.com:8888/cocodin-development-team/barcode-scan-chainway.git"
},
"keywords": [
"barcode",
"barcode",
"scan",
"chainway"
],
"author": "",
"license": "MIT"
} }
...@@ -8,16 +8,15 @@ import org.apache.cordova.CallbackContext; ...@@ -8,16 +8,15 @@ import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface; import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin; import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView; import org.apache.cordova.CordovaWebView;
import org.json.JSONArray;
public class BarcodeScanChainway extends CordovaPlugin { public class BarcodeScanChainway extends CordovaPlugin {
private static final String TAG = "BarcodeScanChainwayPlugin"; private static final String TAG = "BarcodeScan";
public void initialize(CordovaInterface cordova, CordovaWebView webView) { public void initialize(CordovaInterface cordova, CordovaWebView webView) {
super.initialize(cordova, webView); super.initialize(cordova, webView);
Log.d(TAG, "Initializing BarcodeScan Plugin"); Log.d(TAG, "Initializing BarcodeScan Plugin");
BarcodeScanChainway.init(cordova.getActivity());
} }
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) { public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) {
...@@ -28,4 +27,4 @@ public class BarcodeScanChainway extends CordovaPlugin { ...@@ -28,4 +27,4 @@ public class BarcodeScanChainway extends CordovaPlugin {
return true; return true;
} }
} }
\ No newline at end of file
...@@ -6,72 +6,107 @@ import java.util.concurrent.Executors; ...@@ -6,72 +6,107 @@ import java.util.concurrent.Executors;
import com.rscja.deviceapi.Barcode2D; import com.rscja.deviceapi.Barcode2D;
import com.rscja.deviceapi.exception.ConfigurationException; import com.rscja.deviceapi.exception.ConfigurationException;
import com.rscja.utility.StringUtility; import com.rscja.utility.StringUtility;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.CallbackContext;
import org.json.JSONArray;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import android.os.Build;
public class PluginHelper { public class PluginHelper {
private static final String TAG = "PluginHelper"; private static final String TAG = "PluginHelper";
private static boolean threadStop = true;
private static String init_barcode;
private static ExecutorService executor;
private static Barcode2D mInstance;
private static Handler handler;
public static void scan(CordovaInterface cordova, CordovaWebView webView, JSONArray args, public static void scan(CordovaInterface cordova, CordovaWebView webView, JSONArray args,
final CallbackContext callbackContext) { final CallbackContext callbackContext) {
try {
mInstance = Barcode2D.getInstance();
} catch (ConfigurationException e) {
Log.e(TAG, e.getMessage());
return;
}
boolean bContinuous = false;
Log.i("ErDActivity", "scan() "); Log.i("ErDActivity", "scan() ");
if (threadStop) { executor = Executors.newFixedThreadPool(6);
boolean bContinuous = false; if (threadStop) {
int iBetween = 0; int iBetween = 0;
bContinuous = cbContinuous.isChecked(); // thread = new Thread(new GetBarcode(bContinuous, iBetween));
if (bContinuous) { // thread.start();
btn_Start.setText(getString(R.string.title_stop));
threadStop = false; executor.execute(new GetBarcode(bContinuous, iBetween));
String strBetween = et_between.getText().toString(); } else {
if (StringUtility.isEmpty(strBetween)) { threadStop = true;
}
}
private static class GetBarcode implements Runnable {
private boolean isContinuous = false;
String barCode = "";
private long sleepTime = 1000;
Message msg = null;
public GetBarcode(boolean isContinuous) {
this.isContinuous = isContinuous;
}
public GetBarcode(boolean isContinuous, int sleep) {
this.isContinuous = isContinuous;
this.sleepTime = sleep;
}
@Override
public void run() {
do {
barCode = mInstance.scan();
Log.i("MY", "barCode " + barCode.trim());
msg = new Message();
if (StringUtility.isEmpty(barCode)) {
msg.arg1 = 0;
msg.obj = "";
} else { } else {
iBetween = StringUtility.string2Int(strBetween,0);// 毫秒
msg.arg1 = 1;
msg.obj = barCode;
} }
btn_Clear.setEnabled(false); handler.sendMessage(msg);
cbContinuous.setEnabled(false);
}
init_barcode = et_init_barcode.getText().toString();
// thread = new Thread(new GetBarcode(bContinuous, iBetween)); if (isContinuous) {
// thread.start(); try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
executor.execute(new GetBarcode(bContinuous, iBetween)); } while (isContinuous && !threadStop);
} else {
btn_Start.setText(getString(R.string.title_scan));
threadStop = true;
cbContinuous.setEnabled(true);
btn_Clear.setEnabled(true);
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment