X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FCaptureActivity.java;fp=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2FCaptureActivity.java;h=c82e4a812aa3143247b61b2eaae74314a8b1e712;hb=d78dcfa216d199cb91e1066e6e1e17fcfb06f576;hp=02cb6b06af435e14c2f590d6719b507b7bd88925;hpb=c3f08c66acaa0eab6529e5caffe2ac0e2a8e9093;p=zxing.git diff --git a/android/src/com/google/zxing/client/android/CaptureActivity.java b/android/src/com/google/zxing/client/android/CaptureActivity.java index 02cb6b06..c82e4a81 100755 --- a/android/src/com/google/zxing/client/android/CaptureActivity.java +++ b/android/src/com/google/zxing/client/android/CaptureActivity.java @@ -17,6 +17,7 @@ package com.google.zxing.client.android; import android.util.TypedValue; +import android.widget.Toast; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; import com.google.zxing.ResultMetadataType; @@ -94,6 +95,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal private static final int ABOUT_ID = Menu.FIRST + 4; private static final long INTENT_RESULT_DURATION = 1500L; + private static final long BULK_MODE_SCAN_DELAY_MS = 1000L; private static final float BEEP_VOLUME = 0.10f; private static final long VIBRATE_DURATION = 200L; @@ -458,14 +460,29 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal handleDecodeExternally(rawResult, barcode); break; case ZXING_LINK: - if(returnUrlTemplate == null){ + if (returnUrlTemplate == null){ handleDecodeInternally(rawResult, barcode); } else { handleDecodeExternally(rawResult, barcode); } break; case NONE: - handleDecodeInternally(rawResult, barcode); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + if (prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) { + Toast.makeText(this, R.string.msg_bulk_mode_scanned, Toast.LENGTH_SHORT).show(); + // Wait a moment or else it will scan the same barcode continuously about 3 times + try { + Thread.sleep(BULK_MODE_SCAN_DELAY_MS); + } catch (InterruptedException ie) { + // continue + } + resetStatusView(); + if (handler != null) { + handler.sendEmptyMessage(R.id.restart_preview); + } + } else { + handleDecodeInternally(rawResult, barcode); + } break; } }