/*      */ package com.zebra.adc.decoder.compatible;
/*      */ 
/*      */ import android.content.Context;
/*      */ import android.os.Handler;
/*      */ import android.os.Looper;
/*      */ import android.os.Message;
/*      */ import android.util.Log;
/*      */ import android.view.Surface;
/*      */ import android.view.SurfaceHolder;
/*      */ import java.io.IOException;
/*      */ import java.lang.ref.WeakReference;
/*      */ import java.util.ArrayList;
/*      */ import java.util.HashMap;
/*      */ import java.util.List;
/*      */ import java.util.StringTokenizer;
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ public class BarCodeReader
/*      */ {
/*      */   private static final String TAG = "BarCodeReader";
/*      */   private static final int BCRDR_MSG_ERROR = 1;
/*      */   private static final int BCRDR_MSG_SHUTTER = 2;
/*      */   private static final int BCRDR_MSG_FOCUS = 4;
/*      */   private static final int BCRDR_MSG_ZOOM = 8;
/*      */   private static final int BCRDR_MSG_PREVIEW_FRAME = 16;
/*      */   private static final int BCRDR_MSG_VIDEO_FRAME = 32;
/*      */   private static final int BCRDR_MSG_POSTVIEW_FRAME = 64;
/*      */   private static final int BCRDR_MSG_RAW_IMAGE = 128;
/*      */   private static final int BCRDR_MSG_COMPRESSED_IMAGE = 256;
/*      */   private static final int BCRDR_MSG_LAST_DEC_IMAGE = 512;
/*      */   private static final int BCRDR_MSG_DEC_COUNT = 1024;
/*      */   private static final int BCRDR_MSG_DECODE_COMPLETE = 65536;
/*      */   private static final int BCRDR_MSG_DECODE_TIMEOUT = 131072;
/*      */   private static final int BCRDR_MSG_DECODE_CANCELED = 262144;
/*      */   private static final int BCRDR_MSG_DECODE_ERROR = 524288;
/*      */   private static final int BCRDR_MSG_DECODE_EVENT = 1048576;
/*      */   private static final int BCRDR_MSG_FRAME_ERROR = 2097152;
/*      */   private static final int BCRDR_MSG_ALL_MSGS = 4129791;
/*      */   private static final int DECODE_MODE_PREVIEW = 1;
/*      */   private static final int DECODE_MODE_VIEWFINDER = 2;
/*      */   private static final int DECODE_MODE_VIDEO = 3;
/*      */   private int mNativeContext;
/*      */   private EventHandler mEventHandler;
/*      */   private AutoFocusCallback mAutoFocusCallback;
/*      */   private DecodeCallback mDecodeCallback;
/*      */   private ErrorCallback mErrorCallback;
/*      */   private VideoCallback mVideoCallback;
/*      */   private PictureCallback mSnapshotCallback;
/*      */   private PreviewCallback mPreviewCallback;
/*      */   private OnZoomChangeListener mZoomListener;
/*      */   private boolean mOneShot;
/*      */   private boolean mWithBuffer;
/*      */   public static final int BCR_SUCCESS = 0;
/*      */   public static final int BCR_ERROR = -1;
/*      */   public static final int DECODE_STATUS_TIMEOUT = 0;
/*      */   public static final int DECODE_STATUS_CANCELED = -1;
/*      */   public static final int DECODE_STATUS_ERROR = -2;
/*      */   public static final int DECODE_STATUS_MULTI_DEC_COUNT = -3;
/*      */   public static final int BCRDR_EVENT_SCAN_MODE_CHANGED = 5;
/*      */   public static final int BCRDR_EVENT_MOTION_DETECTED = 6;
/*      */   public static final int BCRDR_EVENT_SCANNER_RESET = 7;
/*      */   public static final int BCRDR_ERROR_UNKNOWN = 1;
/*      */   public static final int BCRDR_ERROR_SERVER_DIED = 100;
/*      */   String LOG_TAG;
/*      */   public Boolean scanFinished;
/*      */   
/*      */   public final int setParameter(int paramNum, int paramVal) {
/*  218 */     return setNumParameter(paramNum, paramVal);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final int setParameter(int paramNum, String paramVal) {
/*  232 */     return setStrParameter(paramNum, paramVal);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final void startVideoCapture(VideoCallback cb) {
/*  287 */     this.mVideoCallback = cb;
/*  288 */     native_startPreview(3);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final void startViewFinder() {
/*  298 */     native_startPreview(2);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final void startPreview() {
/*  319 */     native_startPreview(1);
/*      */   }
/*      */ 
/*      */ 
/*      */   
/*      */   public static class ReaderInfo
/*      */   {
/*      */     public static final int BCRDR_FACING_BACK = 0;
/*      */ 
/*      */     
/*      */     public static final int BCRDR_FACING_FRONT = 1;
/*      */ 
/*      */     
/*      */     public int facing;
/*      */ 
/*      */     
/*      */     public int orientation;
/*      */   }
/*      */ 
/*      */ 
/*      */   
/*      */   public static class ParamNum
/*      */   {
/*      */     public static final short CODE39 = 0;
/*      */ 
/*      */     
/*      */     public static final short UPCA = 1;
/*      */ 
/*      */     
/*      */     public static final short UPCE = 2;
/*      */ 
/*      */     
/*      */     public static final short EAN13 = 3;
/*      */ 
/*      */     
/*      */     public static final short EAN8 = 4;
/*      */ 
/*      */     
/*      */     public static final short D25 = 5;
/*      */ 
/*      */     
/*      */     public static final short I25 = 6;
/*      */ 
/*      */     
/*      */     public static final short CODABAR = 7;
/*      */ 
/*      */     
/*      */     public static final short CODE128 = 8;
/*      */ 
/*      */     
/*      */     public static final short CODE93 = 9;
/*      */ 
/*      */     
/*      */     public static final short CODE11 = 10;
/*      */ 
/*      */     
/*      */     public static final short MSI = 11;
/*      */ 
/*      */     
/*      */     public static final short UPCE1 = 12;
/*      */ 
/*      */     
/*      */     public static final short TRIOPTIC = 13;
/*      */ 
/*      */     
/*      */     public static final short EAN128 = 14;
/*      */ 
/*      */     
/*      */     public static final short PDF = 15;
/*      */ 
/*      */     
/*      */     public static final short SUPPS = 16;
/*      */ 
/*      */     
/*      */     public static final short C39_FULL_ASCII = 17;
/*      */ 
/*      */     
/*      */     public static final short C39_LEN1 = 18;
/*      */ 
/*      */     
/*      */     public static final short C39_LEN2 = 19;
/*      */ 
/*      */     
/*      */     public static final short D25_LEN1 = 20;
/*      */ 
/*      */     
/*      */     public static final short D25_LEN2 = 21;
/*      */ 
/*      */     
/*      */     public static final short I25_LEN1 = 22;
/*      */ 
/*      */     
/*      */     public static final short I25_LEN2 = 23;
/*      */ 
/*      */     
/*      */     public static final short CBR_LEN1 = 24;
/*      */ 
/*      */     
/*      */     public static final short CBR_LEN2 = 25;
/*      */ 
/*      */     
/*      */     public static final short C93_LEN1 = 26;
/*      */ 
/*      */     
/*      */     public static final short C93_LEN2 = 27;
/*      */ 
/*      */     
/*      */     public static final short C11_LEN1 = 28;
/*      */ 
/*      */     
/*      */     public static final short C11_LEN2 = 29;
/*      */ 
/*      */     
/*      */     public static final short MSI_LEN1 = 30;
/*      */ 
/*      */     
/*      */     public static final short MSI_LEN2 = 31;
/*      */ 
/*      */     
/*      */     public static final short UPCA_PREAM = 34;
/*      */ 
/*      */     
/*      */     public static final short UPCE_PREAM = 35;
/*      */ 
/*      */     
/*      */     public static final short UPCE1_PREAM = 36;
/*      */ 
/*      */     
/*      */     public static final short UPCE_TO_A = 37;
/*      */ 
/*      */     
/*      */     public static final short UPCE1_TO_A = 38;
/*      */ 
/*      */     
/*      */     public static final short EAN8_TO_13 = 39;
/*      */ 
/*      */     
/*      */     public static final short UPCA_CHK = 40;
/*      */ 
/*      */     
/*      */     public static final short UPCE_CHK = 41;
/*      */ 
/*      */     
/*      */     public static final short UPCE1_CHK = 42;
/*      */ 
/*      */     
/*      */     public static final short XMIT_C39_CHK = 43;
/*      */ 
/*      */     
/*      */     public static final short XMIT_I25_CHK = 44;
/*      */ 
/*      */     
/*      */     public static final short XMIT_CODE_ID = 45;
/*      */ 
/*      */     
/*      */     public static final short XMIT_MSI_CHK = 46;
/*      */ 
/*      */     
/*      */     public static final short XMIT_C11_CHK = 47;
/*      */ 
/*      */     
/*      */     public static final short C39_CHK_EN = 48;
/*      */ 
/*      */     
/*      */     public static final short I25_CHK_TYPE = 49;
/*      */ 
/*      */     
/*      */     public static final short MSI_CHK_1_2 = 50;
/*      */ 
/*      */     
/*      */     public static final short MSI_CHK_SCHEME = 51;
/*      */ 
/*      */     
/*      */     public static final short C11_CHK_TYPE = 52;
/*      */ 
/*      */     
/*      */     public static final short CLSI = 54;
/*      */ 
/*      */     
/*      */     public static final short NOTIS = 55;
/*      */ 
/*      */     
/*      */     public static final short UPC_SEC_LEV = 77;
/*      */ 
/*      */     
/*      */     public static final short LIN_SEC_LEV = 78;
/*      */ 
/*      */     
/*      */     public static final short SUPP_REDUN = 80;
/*      */ 
/*      */     
/*      */     public static final short I25_TO_EAN13 = 82;
/*      */ 
/*      */     
/*      */     public static final short BOOKLAND = 83;
/*      */ 
/*      */     
/*      */     public static final short ISBT_128 = 84;
/*      */ 
/*      */     
/*      */     public static final short COUPON = 85;
/*      */ 
/*      */     
/*      */     public static final short CODE32 = 86;
/*      */ 
/*      */     
/*      */     public static final short POST_US1 = 89;
/*      */ 
/*      */     
/*      */     public static final short POST_US2 = 90;
/*      */ 
/*      */     
/*      */     public static final short POST_UK = 91;
/*      */ 
/*      */     
/*      */     public static final short SIGNATURE = 93;
/*      */ 
/*      */     
/*      */     public static final short XMIT_NO_READ = 94;
/*      */ 
/*      */     
/*      */     public static final short POST_US_PARITY = 95;
/*      */ 
/*      */     
/*      */     public static final short POST_UK_PARITY = 96;
/*      */ 
/*      */     
/*      */     public static final short EMUL_EAN128 = 123;
/*      */ 
/*      */     
/*      */     public static final short LASER_ON_PRIM = 136;
/*      */ 
/*      */     
/*      */     public static final short LASER_OFF_PRIM = 137;
/*      */ 
/*      */     
/*      */     public static final short PRIM_TRIG_MODE = 138;
/*      */ 
/*      */     
/*      */     public static final short C128_LEN1 = 209;
/*      */ 
/*      */     
/*      */     public static final short C128_LEN2 = 210;
/*      */ 
/*      */     
/*      */     public static final short ISBT_MAX_TRY = 223;
/*      */ 
/*      */     
/*      */     public static final short UPDF = 227;
/*      */ 
/*      */     
/*      */     public static final short C32_PREFIX = 231;
/*      */ 
/*      */     
/*      */     public static final short POSTAL_JAP = 290;
/*      */ 
/*      */     
/*      */     public static final short POSTAL_AUS = 291;
/*      */ 
/*      */     
/*      */     public static final short DATAMATRIX = 292;
/*      */ 
/*      */     
/*      */     public static final short QRCODE = 293;
/*      */ 
/*      */     
/*      */     public static final short MAXICODE = 294;
/*      */ 
/*      */     
/*      */     public static final short IMG_ILLUM = 298;
/*      */ 
/*      */     
/*      */     public static final short IMG_AIM_SNAPSHOT = 300;
/*      */ 
/*      */     
/*      */     public static final short IMG_CROP = 301;
/*      */ 
/*      */     
/*      */     public static final short IMG_SUBSAMPLE = 302;
/*      */ 
/*      */     
/*      */     public static final short IMG_BPP = 303;
/*      */ 
/*      */     
/*      */     public static final short IMG_FILE_FORMAT = 304;
/*      */ 
/*      */     
/*      */     public static final short IMG_JPEG_QUAL = 305;
/*      */ 
/*      */     
/*      */     public static final short IMG_AIM_MODE = 306;
/*      */ 
/*      */     
/*      */     public static final short IMG_SIG_FMT = 313;
/*      */ 
/*      */     
/*      */     public static final short IMG_SIG_BPP = 314;
/*      */ 
/*      */     
/*      */     public static final short IMG_CROP_TOP = 315;
/*      */ 
/*      */     
/*      */     public static final short IMG_CROP_LEFT = 316;
/*      */ 
/*      */     
/*      */     public static final short IMG_CROP_BOT = 317;
/*      */ 
/*      */     
/*      */     public static final short IMG_CROP_RIGHT = 318;
/*      */ 
/*      */     
/*      */     public static final short IMG_SNAPTIMEOUT = 323;
/*      */ 
/*      */     
/*      */     public static final short IMG_VIDEOVF = 324;
/*      */ 
/*      */     
/*      */     public static final short POSTAL_DUTCH = 326;
/*      */ 
/*      */     
/*      */     public static final short RSS_14 = 338;
/*      */ 
/*      */     
/*      */     public static final short RSS_LIM = 339;
/*      */ 
/*      */     
/*      */     public static final short RSS_EXP = 340;
/*      */ 
/*      */     
/*      */     public static final short CCC_ENABLE = 341;
/*      */ 
/*      */     
/*      */     public static final short CCAB_ENABLE = 342;
/*      */ 
/*      */     
/*      */     public static final short UPC_COMPOSITE = 344;
/*      */ 
/*      */     
/*      */     public static final short IMG_IMAGE_ILLUM = 361;
/*      */ 
/*      */     
/*      */     public static final short SIGCAP_WIDTH = 366;
/*      */ 
/*      */     
/*      */     public static final short SIGCAP_HEIGHT = 367;
/*      */ 
/*      */     
/*      */     public static final short TCIF = 371;
/*      */ 
/*      */     
/*      */     public static final short MARGIN_RATIO = 381;
/*      */ 
/*      */     
/*      */     public static final short DEMOTE_RSS = 397;
/*      */ 
/*      */     
/*      */     public static final short PICKLIST_MODE = 402;
/*      */ 
/*      */     
/*      */     public static final short C25 = 408;
/*      */ 
/*      */     
/*      */     public static final short IMAGE_SIG_JPEG_QUALITY = 421;
/*      */ 
/*      */     
/*      */     public static final short EMUL_UCCEAN128 = 427;
/*      */ 
/*      */     
/*      */     public static final short MIRROR_IMAGE = 537;
/*      */ 
/*      */     
/*      */     public static final short IMG_ENHANCEMENT = 564;
/*      */ 
/*      */     
/*      */     public static final short UQR_EN = 573;
/*      */ 
/*      */     
/*      */     public static final short AZTEC = 574;
/*      */ 
/*      */     
/*      */     public static final short BOOKLAND_FORMAT = 576;
/*      */ 
/*      */     
/*      */     public static final short ISBT_CONCAT_MODE = 577;
/*      */ 
/*      */     
/*      */     public static final short CHECK_ISBT_TABLE = 578;
/*      */ 
/*      */     
/*      */     public static final short SUPP_USER_1 = 579;
/*      */ 
/*      */     
/*      */     public static final short SUPP_USER_2 = 580;
/*      */ 
/*      */     
/*      */     public static final short K35 = 581;
/*      */ 
/*      */     
/*      */     public static final short ONE_D_INVERSE = 586;
/*      */ 
/*      */     
/*      */     public static final short QR_INVERSE = 587;
/*      */ 
/*      */     
/*      */     public static final short DATAMATRIX_INVERSE = 588;
/*      */ 
/*      */     
/*      */     public static final short AZTEC_INVERSE = 589;
/*      */ 
/*      */     
/*      */     public static final short AIMMODEHANDSFREE = 590;
/*      */ 
/*      */     
/*      */     public static final short POST_US3 = 592;
/*      */ 
/*      */     
/*      */     public static final short POST_US4 = 611;
/*      */ 
/*      */     
/*      */     public static final short ISSN_EAN_EN = 617;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_EN = 618;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_LEN1 = 619;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_LEN2 = 620;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_REDUN = 621;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_CHK_EN = 622;
/*      */ 
/*      */     
/*      */     public static final short MATRIX_25_XMIT_CHK = 623;
/*      */ 
/*      */     
/*      */     public static final short AIMID_SUPP_FORMAT = 672;
/*      */ 
/*      */     
/*      */     public static final short CELL_DISPLAY_MODE = 716;
/*      */ 
/*      */     
/*      */     public static final short POST_AUS_FMT = 718;
/*      */ 
/*      */     
/*      */     public static final short DATABAR_LIM_SEC_LEV = 728;
/*      */ 
/*      */     
/*      */     public static final short COUPON_REPORT = 730;
/*      */ 
/*      */     
/*      */     public static final short VIDEO_SUBSMAPLE = 761;
/*      */ 
/*      */     
/*      */     public static final short IMG_MOTIONILLUM = 762;
/*      */ 
/*      */     
/*      */     public static final short ILLUMINATION_POWER_LEVEL = 764;
/*      */ 
/*      */     
/*      */     public static final short MULTI_DECODE = 900;
/*      */ 
/*      */     
/*      */     public static final short FULL_READ_MODE = 901;
/*      */     
/*      */     public static final short NUM_BR_TO_READ = 902;
/*      */     
/*      */     public static final short RETRIEVE_LAST_DECODE = 905;
/*      */     
/*      */     public static final short SECURITY_LEVEL = 1121;
/*      */     
/*      */     public static final short ENABLE_HANXIN = 1167;
/*      */     
/*      */     public static final short HANXIN_INVERSE = 1168;
/*      */   }
/*      */ 
/*      */   
/*      */   public static class ParamVal
/*      */   {
/*      */     public static final byte SUPP_NONE = 0;
/*      */     
/*      */     public static final byte SUPP_ONLY = 1;
/*      */     
/*      */     public static final byte SUPP_AUTOD = 2;
/*      */     
/*      */     public static final byte SUPP_SMART = 3;
/*      */     
/*      */     public static final byte SUPP_378_379 = 4;
/*      */     
/*      */     public static final byte SUPP_978_979 = 5;
/*      */     
/*      */     public static final byte SUPP_414_419_434_439 = 6;
/*      */     
/*      */     public static final byte SUPP_977 = 7;
/*      */     
/*      */     public static final byte SUPP_491 = 8;
/*      */     
/*      */     public static final byte SUPP_PROG_1 = 9;
/*      */     
/*      */     public static final byte SUPP_PROG_1_AND_2 = 10;
/*      */     
/*      */     public static final byte SUPP_SMART_PLUS_1 = 11;
/*      */     
/*      */     public static final byte SUPP_SMART_PLUS_1_2 = 12;
/*      */     
/*      */     public static final byte LEVEL = 0;
/*      */     
/*      */     public static final byte HANDSFREE = 7;
/*      */     
/*      */     public static final byte AUTO_AIM = 9;
/*      */     
/*      */     public static final byte IMG_BPP_1 = 0;
/*      */     
/*      */     public static final byte IMG_BPP_4 = 1;
/*      */     
/*      */     public static final byte IMG_BPP_8 = 2;
/*      */     
/*      */     public static final byte IMG_FORMAT_JPEG = 1;
/*      */     
/*      */     public static final byte IMG_FORMAT_BMP = 3;
/*      */     
/*      */     public static final byte IMG_FORMAT_TIFF = 4;
/*      */     
/*      */     public static final byte IMG_SUBSAMPLE_FACTOR_1 = 0;
/*      */     
/*      */     public static final byte IMG_SUBSAMPLE_FACTOR_2 = 1;
/*      */     
/*      */     public static final byte IMG_SUBSAMPLE_FACTOR_3 = 2;
/*      */     
/*      */     public static final byte IMG_SUBSAMPLE_FACTOR_4 = 3;
/*      */     
/*      */     public static final byte AIM_OFF = 0;
/*      */     
/*      */     public static final byte AIM_ON = 1;
/*      */     
/*      */     public static final byte AIM_ON_ALWAYS = 2;
/*      */     
/*      */     public static final byte UPC_NEVER = 0;
/*      */     
/*      */     public static final byte UPC_ALWAYS = 1;
/*      */     
/*      */     public static final byte UPC_AUTOD = 2;
/*      */     
/*      */     public static final byte PICKLIST_NEVER = 0;
/*      */     
/*      */     public static final byte PICKLIST_OUT_OF_SCANSTAND = 1;
/*      */     
/*      */     public static final byte PICKLIST_ALWAYS = 1;
/*      */     
/*      */     public static final byte MIRROR_NEVER = 0;
/*      */     
/*      */     public static final byte MIRROR_ALWAYS = 1;
/*      */     
/*      */     public static final byte MIRROR_AUTO = 2;
/*      */     
/*      */     public static final byte IMG_ENHANCE_OFF = 0;
/*      */     
/*      */     public static final byte IMG_ENHANCE_LOW = 1;
/*      */     
/*      */     public static final byte IMG_ENHANCE_MED = 2;
/*      */     
/*      */     public static final byte IMG_ENHANCE_HIGH = 3;
/*      */     
/*      */     public static final byte IMG_ENHANCE_CUSTOM = 4;
/*      */     
/*      */     public static final byte ISBT_CONCAT_NONE = 0;
/*      */     
/*      */     public static final byte ISBT_CONCAT_ONLY = 1;
/*      */     
/*      */     public static final byte ISBT_CONCAT_AUTOD = 2;
/*      */     
/*      */     public static final byte REGULAR_ONLY = 0;
/*      */     
/*      */     public static final byte INVERSE_ONLY = 1;
/*      */     
/*      */     public static final byte INVERSE_AUTOD = 2;
/*      */     
/*      */     public static final byte PDF_SECURITY_STRICT = 0;
/*      */     
/*      */     public static final byte PDF_CWLEN_ZERO_OK = 1;
/*      */   }
/*      */ 
/*      */   
/*      */   public static class PropertyNum
/*      */   {
/*      */     public static final int MODEL_NUMBER = 1;
/*      */     
/*      */     public static final int SERIAL_NUM = 2;
/*      */     
/*      */     public static final int MAX_FRAME_BUFFER_SIZE = 3;
/*      */     
/*      */     public static final int HORIZONTAL_RES = 4;
/*      */     
/*      */     public static final int VERTICAL_RES = 5;
/*      */     
/*      */     public static final int IMGKIT_VER = 6;
/*      */     
/*      */     public static final int ENGINE_VER = 7;
/*      */     
/*      */     public static final int BTLD_FW_VER = 11;
/*      */     
/*      */     public static final int SDL_VER = 99;
/*      */   }
/*      */ 
/*      */   
/*      */   public static BarCodeReader open(int readerId) {
/*  929 */     return new BarCodeReader(readerId);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public static BarCodeReader open() {
/*  945 */     int iNumReaders = getNumberOfReaders();
/*  946 */     ReaderInfo readerInfo = new ReaderInfo();
/*  947 */     for (int iIdx = 0; iIdx < iNumReaders; iIdx++) {
/*      */       
/*  949 */       getReaderInfo(iIdx, readerInfo);
/*  950 */       if (readerInfo.facing == 1)
/*      */       {
/*  952 */         return new BarCodeReader(iIdx);
/*      */       }
/*      */     } 
/*  955 */     return null;
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public static BarCodeReader open(int readerId, Context context) {
/*  988 */     return new BarCodeReader(readerId, context);
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public static BarCodeReader open(Context context) {
/* 1004 */     int iNumReaders = getNumberOfReaders();
/* 1005 */     ReaderInfo readerInfo = new ReaderInfo();
/*      */ 
/*      */     
/* 1008 */     if (iNumReaders == 3) {
/* 1009 */       return new BarCodeReader(2, context);
/*      */     }
/*      */     
/* 1012 */     for (int iIdx = 0; iIdx < iNumReaders; iIdx++) {
/*      */       
/* 1014 */       getReaderInfo(iIdx, readerInfo);
/* 1015 */       if (readerInfo.facing == 1)
/*      */       {
/* 1017 */         return new BarCodeReader(iIdx, context);
/*      */       }
/*      */     } 
/* 1020 */     return null;
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   BarCodeReader(int readerId)
/*      */   {
/* 1046 */     this.LOG_TAG = "BarCode";
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/* 1411 */     this.scanFinished = Boolean.valueOf(true); this.mEventHandler = null; this.mAutoFocusCallback = null; this.mDecodeCallback = null; this.mErrorCallback = null; this.mPreviewCallback = null; this.mSnapshotCallback = null; this.mVideoCallback = null; this.mZoomListener = null; Looper aLooper = Looper.myLooper(); if (aLooper == null) aLooper = Looper.getMainLooper();  if (aLooper != null) this.mEventHandler = new EventHandler(this, aLooper);  native_setup(new WeakReference<BarCodeReader>(this), readerId); } BarCodeReader(int readerId, Context context) { this.LOG_TAG = "BarCode"; this.scanFinished = Boolean.valueOf(true); this.mEventHandler = null; this.mAutoFocusCallback = null; this.mDecodeCallback = null; this.mErrorCallback = null; this.mPreviewCallback = null; this.mSnapshotCallback = null; this.mVideoCallback = null; this.mZoomListener = null; Looper aLooper = Looper.myLooper(); if (aLooper == null) aLooper = Looper.getMainLooper();  if (aLooper != null) this.mEventHandler = new EventHandler(this, aLooper);  native_setup(new WeakReference<BarCodeReader>(this), readerId, context); }
/*      */   protected void finalize() { native_release(); }
/*      */   public final void release() { native_release(); }
/* 1414 */   public final void setPreviewDisplay(SurfaceHolder holder) throws IOException { if (holder != null) { setPreviewDisplay(holder.getSurface()); } else { setPreviewDisplay((Surface)null); }  } public final void autoFocus(AutoFocusCallback cb) { this.mAutoFocusCallback = cb; native_autoFocus(); } public boolean isScanFinished() { return this.scanFinished.booleanValue(); }
/*      */   public final void cancelAutoFocus() { this.mAutoFocusCallback = null; native_cancelAutoFocus(); }
/*      */   public final void setDecodeCallback(DecodeCallback cb) { this.mDecodeCallback = cb; }
/*      */   public final void takePicture(PictureCallback cb) { this.mSnapshotCallback = cb; try { native_takePicture(); } catch (Throwable throwable) {} }
/* 1418 */   public final void setOneShotPreviewCallback(PreviewCallback cb) { this.mPreviewCallback = cb; this.mOneShot = true; this.mWithBuffer = false; setHasPreviewCallback((cb != null), false); } public final void setPreviewCallbackWithBuffer(PreviewCallback cb) { this.mPreviewCallback = cb; this.mOneShot = false; this.mWithBuffer = true; setHasPreviewCallback((cb != null), true); } public void setScanFinished(boolean finished) { this.scanFinished = Boolean.valueOf(finished); }
/*      */ 
/*      */   
/*      */   private class EventHandler
/*      */     extends Handler
/*      */   {
/*      */     private BarCodeReader mReader;
/*      */     
/*      */     public EventHandler(BarCodeReader rdr, Looper looper) {
/* 1427 */       super(looper);
/* 1428 */       this.mReader = rdr;
/*      */     }
/*      */ 
/*      */ 
/*      */     
/*      */     public void handleMessage(Message msg) {
/* 1434 */       Log.i("BarCodeReader", String.format("Event message: %X, arg1=%d, arg2=%d", new Object[] { Integer.valueOf(msg.what), Integer.valueOf(msg.arg1), Integer.valueOf(msg.arg2) }));
/* 1435 */       switch (msg.what) {
/*      */         
/*      */         case 65536:
/* 1438 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1440 */             BarCodeReader.this.mDecodeCallback.onDecodeComplete(msg.arg1, msg.arg2, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 131072:
/* 1445 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1447 */             BarCodeReader.this.mDecodeCallback.onDecodeComplete(0, 0, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 262144:
/* 1452 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1454 */             BarCodeReader.this.mDecodeCallback.onDecodeComplete(0, -1, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */ 
/*      */         
/*      */         case 524288:
/*      */         case 2097152:
/* 1461 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1463 */             BarCodeReader.this.mDecodeCallback.onDecodeComplete(0, -2, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 1048576:
/* 1468 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1470 */             BarCodeReader.this.mDecodeCallback.onEvent(msg.arg1, msg.arg2, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */ 
/*      */         
/*      */         case 2:
/*      */           return;
/*      */         
/*      */         case 256:
/* 1479 */           if (BarCodeReader.this.mSnapshotCallback != null) {
/*      */ 
/*      */ 
/*      */ 
/*      */             
/* 1484 */             int iCX = msg.arg1 >> 0 & 0xFFFF;
/* 1485 */             int iCY = msg.arg1 >> 16 & 0xFFFF;
/* 1486 */             BarCodeReader.this.mSnapshotCallback.onPictureTaken(msg.arg2, iCX, iCY, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           else {
/*      */             
/* 1490 */             Log.e("BarCodeReader", "BCRDR_MSG_COMPRESSED_IMAGE event with no snapshot callback");
/*      */           } 
/*      */           return;
/*      */         
/*      */         case 32:
/* 1495 */           if (BarCodeReader.this.mVideoCallback != null) {
/*      */ 
/*      */ 
/*      */ 
/*      */             
/* 1500 */             int iCX = msg.arg1 >> 0 & 0xFFFF;
/* 1501 */             int iCY = msg.arg1 >> 16 & 0xFFFF;
/* 1502 */             BarCodeReader.this.mVideoCallback.onVideoFrame(msg.arg2, iCX, iCY, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           else {
/*      */             
/* 1506 */             Log.e("BarCodeReader", "BCRDR_MSG_VIDEO_FRAME event with no video callback");
/*      */           } 
/*      */           return;
/*      */         
/*      */         case 16:
/* 1511 */           if (BarCodeReader.this.mPreviewCallback != null) {
/*      */             
/* 1513 */             PreviewCallback cb = BarCodeReader.this.mPreviewCallback;
/* 1514 */             if (BarCodeReader.this.mOneShot) {
/*      */ 
/*      */ 
/*      */ 
/*      */               
/* 1519 */               BarCodeReader.this.mPreviewCallback = null;
/*      */             }
/* 1521 */             else if (!BarCodeReader.this.mWithBuffer) {
/*      */ 
/*      */ 
/*      */ 
/*      */               
/* 1526 */               BarCodeReader.this.setHasPreviewCallback(true, false);
/*      */             } 
/* 1528 */             cb.onPreviewFrame((byte[])msg.obj, this.mReader);
/*      */           } 
/*      */           return;
/*      */         
/*      */         case 4:
/* 1533 */           if (BarCodeReader.this.mAutoFocusCallback != null)
/*      */           {
/* 1535 */             BarCodeReader.this.mAutoFocusCallback.onAutoFocus(!(msg.arg1 == 0), this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 8:
/* 1540 */           if (BarCodeReader.this.mZoomListener != null)
/*      */           {
/* 1542 */             BarCodeReader.this.mZoomListener.onZoomChange(msg.arg1, (msg.arg2 != 0), this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 1:
/* 1547 */           Log.e("BarCodeReader", "Error " + msg.arg1);
/* 1548 */           if (BarCodeReader.this.mErrorCallback != null)
/*      */           {
/* 1550 */             BarCodeReader.this.mErrorCallback.onError(msg.arg1, this.mReader);
/*      */           }
/*      */           return;
/*      */         
/*      */         case 1024:
/* 1555 */           if (BarCodeReader.this.mDecodeCallback != null)
/*      */           {
/* 1557 */             BarCodeReader.this.mDecodeCallback.onDecodeComplete(msg.arg1, -3, (byte[])msg.obj, this.mReader);
/*      */           }
/*      */           return;
/*      */       } 
/*      */       
/* 1562 */       Log.e("BarCodeReader", "Unknown message type " + msg.what);
/*      */     }
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   private static void postEventFromNative(Object reader_ref, int what, int arg1, int arg2, Object obj) {
/* 1571 */     BarCodeReader c = ((WeakReference<BarCodeReader>)reader_ref).get();
/* 1572 */     if (c != null && c.mEventHandler != null) {
/*      */       
/* 1574 */       Message m = c.mEventHandler.obtainMessage(what, arg1, arg2, obj);
/* 1575 */       c.mEventHandler.sendMessage(m);
/*      */     } 
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final void setZoomChangeListener(OnZoomChangeListener listener) {
/* 1608 */     this.mZoomListener = listener;
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public final void setErrorCallback(ErrorCallback cb) {
/* 1636 */     this.mErrorCallback = cb;
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public void setParameters(Parameters params) {
/* 1648 */     native_setParameters(params.flatten());
/*      */   }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public Parameters getParameters() {
/* 1660 */     Parameters p = new Parameters();
/* 1661 */     String s = native_getParameters();
/* 1662 */     p.unflatten(s);
/* 1663 */     return p;
/*      */   } private final native void native_autoFocus(); private final native void native_cancelAutoFocus(); private final native String native_getParameters(); private final native void native_release(); private final native int setNumParameter(int paramInt1, int paramInt2); private final native int setStrParameter(int paramInt, String paramString); private final native void native_setParameters(String paramString); private final native void native_setup(Object paramObject, int paramInt); private final native void native_setup(Object paramObject1, int paramInt, Object paramObject2); private final native void native_startPreview(int paramInt); private final native void native_takePicture(); private final native void setHasPreviewCallback(boolean paramBoolean1, boolean paramBoolean2); private final native void setPreviewDisplay(Surface paramSurface); public static native int getNumberOfReaders(); public static native void getReaderInfo(int paramInt, ReaderInfo paramReaderInfo); public final native void lock(); public final native void unlock(); public final native void reconnect() throws IOException; public final native int getNumProperty(int paramInt); public final native String getStrProperty(int paramInt); public final native int getNumParameter(int paramInt); public final native String getStrParameter(int paramInt); public final native void setDefaultParameters(); public final native void addCallbackBuffer(byte[] paramArrayOfbyte); public final native int FWUpdate(String paramString, boolean paramBoolean1, boolean paramBoolean2);
/*      */   public final native void stopPreview();
/*      */   public final native void startDecode();
/*      */   public final native int startHandsFreeDecode(int paramInt);
/*      */   public final native void stopDecode();
/*      */   public final native boolean previewEnabled();
/*      */   public final native void startSmoothZoom(int paramInt);
/*      */   public final native void stopSmoothZoom();
/*      */   public final native void setDisplayOrientation(int paramInt);
/*      */   public final native int getDecodeCount();
/*      */   public final native void enableAllCodeTypes();
/*      */   public final native void disableAllCodeTypes();
/*      */   public final native byte[] getLastDecImage();
/*      */   public final native void setAutoFocusDelay(int paramInt1, int paramInt2);
/*      */   public class Size { public Size(int w, int h) {
/* 1679 */       this.width = w;
/* 1680 */       this.height = h;
/*      */     }
/*      */ 
/*      */ 
/*      */     
/*      */     public int width;
/*      */ 
/*      */     
/*      */     public int height;
/*      */ 
/*      */     
/*      */     public boolean equals(Object obj) {
/* 1692 */       if (!(obj instanceof Size))
/*      */       {
/* 1694 */         return false;
/*      */       }
/* 1696 */       Size s = (Size)obj;
/* 1697 */       return (this.width == s.width && this.height == s.height);
/*      */     }
/*      */ 
/*      */     
/*      */     public int hashCode() {
/* 1702 */       return this.width * 32713 + this.height;
/*      */     } }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   
/*      */   public class Parameters
/*      */   {
/*      */     private static final String KEY_PREVIEW_SIZE = "preview-size";
/*      */ 
/*      */     
/*      */     private static final String KEY_PREVIEW_FORMAT = "preview-format";
/*      */ 
/*      */     
/*      */     private static final String KEY_PREVIEW_FRAME_RATE = "preview-frame-rate";
/*      */ 
/*      */     
/*      */     private static final String KEY_PREVIEW_FPS_RANGE = "preview-fps-range";
/*      */ 
/*      */     
/*      */     private static final String KEY_PICTURE_SIZE = "picture-size";
/*      */ 
/*      */     
/*      */     private static final String KEY_PICTURE_FORMAT = "picture-format";
/*      */ 
/*      */     
/*      */     private static final String KEY_JPEG_THUMBNAIL_SIZE = "jpeg-thumbnail-size";
/*      */ 
/*      */     
/*      */     private static final String KEY_JPEG_THUMBNAIL_WIDTH = "jpeg-thumbnail-width";
/*      */ 
/*      */     
/*      */     private static final String KEY_JPEG_THUMBNAIL_HEIGHT = "jpeg-thumbnail-height";
/*      */ 
/*      */     
/*      */     private static final String KEY_JPEG_THUMBNAIL_QUALITY = "jpeg-thumbnail-quality";
/*      */ 
/*      */     
/*      */     private static final String KEY_JPEG_QUALITY = "jpeg-quality";
/*      */ 
/*      */     
/*      */     private static final String KEY_ROTATION = "rotation";
/*      */ 
/*      */     
/*      */     private static final String KEY_GPS_LATITUDE = "gps-latitude";
/*      */ 
/*      */     
/*      */     private static final String KEY_GPS_LONGITUDE = "gps-longitude";
/*      */ 
/*      */     
/*      */     private static final String KEY_GPS_ALTITUDE = "gps-altitude";
/*      */ 
/*      */     
/*      */     private static final String KEY_GPS_TIMESTAMP = "gps-timestamp";
/*      */ 
/*      */     
/*      */     private static final String KEY_GPS_PROCESSING_METHOD = "gps-processing-method";
/*      */ 
/*      */     
/*      */     private static final String KEY_WHITE_BALANCE = "whitebalance";
/*      */ 
/*      */     
/*      */     private static final String KEY_EFFECT = "effect";
/*      */ 
/*      */     
/*      */     private static final String KEY_ANTIBANDING = "antibanding";
/*      */ 
/*      */     
/*      */     private static final String KEY_SCENE_MODE = "scene-mode";
/*      */ 
/*      */     
/*      */     private static final String KEY_FLASH_MODE = "flash-mode";
/*      */ 
/*      */     
/*      */     private static final String KEY_FOCUS_MODE = "focus-mode";
/*      */ 
/*      */     
/*      */     private static final String KEY_FOCAL_LENGTH = "focal-length";
/*      */ 
/*      */     
/*      */     private static final String KEY_HORIZONTAL_VIEW_ANGLE = "horizontal-view-angle";
/*      */ 
/*      */     
/*      */     private static final String KEY_VERTICAL_VIEW_ANGLE = "vertical-view-angle";
/*      */ 
/*      */     
/*      */     private static final String KEY_EXPOSURE_COMPENSATION = "exposure-compensation";
/*      */ 
/*      */     
/*      */     private static final String KEY_MAX_EXPOSURE_COMPENSATION = "max-exposure-compensation";
/*      */ 
/*      */     
/*      */     private static final String KEY_MIN_EXPOSURE_COMPENSATION = "min-exposure-compensation";
/*      */ 
/*      */     
/*      */     private static final String KEY_EXPOSURE_COMPENSATION_STEP = "exposure-compensation-step";
/*      */ 
/*      */     
/*      */     private static final String KEY_ZOOM = "zoom";
/*      */ 
/*      */     
/*      */     private static final String KEY_MAX_ZOOM = "max-zoom";
/*      */ 
/*      */     
/*      */     private static final String KEY_ZOOM_RATIOS = "zoom-ratios";
/*      */ 
/*      */     
/*      */     private static final String KEY_ZOOM_SUPPORTED = "zoom-supported";
/*      */ 
/*      */     
/*      */     private static final String KEY_SMOOTH_ZOOM_SUPPORTED = "smooth-zoom-supported";
/*      */ 
/*      */     
/*      */     private static final String KEY_FOCUS_DISTANCES = "focus-distances";
/*      */ 
/*      */     
/*      */     private static final String SUPPORTED_VALUES_SUFFIX = "-values";
/*      */ 
/*      */     
/*      */     private static final String TRUE = "true";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_AUTO = "auto";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_INCANDESCENT = "incandescent";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_FLUORESCENT = "fluorescent";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_WARM_FLUORESCENT = "warm-fluorescent";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_DAYLIGHT = "daylight";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_CLOUDY_DAYLIGHT = "cloudy-daylight";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_TWILIGHT = "twilight";
/*      */ 
/*      */     
/*      */     public static final String WHITE_BALANCE_SHADE = "shade";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_NONE = "none";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_MONO = "mono";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_NEGATIVE = "negative";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_SOLARIZE = "solarize";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_SEPIA = "sepia";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_POSTERIZE = "posterize";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_WHITEBOARD = "whiteboard";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_BLACKBOARD = "blackboard";
/*      */ 
/*      */     
/*      */     public static final String EFFECT_AQUA = "aqua";
/*      */ 
/*      */     
/*      */     public static final String ANTIBANDING_AUTO = "auto";
/*      */ 
/*      */     
/*      */     public static final String ANTIBANDING_50HZ = "50hz";
/*      */ 
/*      */     
/*      */     public static final String ANTIBANDING_60HZ = "60hz";
/*      */ 
/*      */     
/*      */     public static final String ANTIBANDING_OFF = "off";
/*      */ 
/*      */     
/*      */     public static final String FLASH_MODE_OFF = "off";
/*      */ 
/*      */     
/*      */     public static final String FLASH_MODE_AUTO = "auto";
/*      */ 
/*      */     
/*      */     public static final String FLASH_MODE_ON = "on";
/*      */ 
/*      */     
/*      */     public static final String FLASH_MODE_RED_EYE = "red-eye";
/*      */ 
/*      */     
/*      */     public static final String FLASH_MODE_TORCH = "torch";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_AUTO = "auto";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_ACTION = "action";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_PORTRAIT = "portrait";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_LANDSCAPE = "landscape";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_NIGHT = "night";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_NIGHT_PORTRAIT = "night-portrait";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_THEATRE = "theatre";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_BEACH = "beach";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_SNOW = "snow";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_SUNSET = "sunset";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_STEADYPHOTO = "steadyphoto";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_FIREWORKS = "fireworks";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_SPORTS = "sports";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_PARTY = "party";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_CANDLELIGHT = "candlelight";
/*      */ 
/*      */     
/*      */     public static final String SCENE_MODE_BARCODE = "barcode";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_AUTO = "auto";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_INFINITY = "infinity";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_MACRO = "macro";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_FIXED = "fixed";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_EDOF = "edof";
/*      */ 
/*      */     
/*      */     public static final String FOCUS_MODE_CONTINUOUS_VIDEO = "continuous-video";
/*      */ 
/*      */     
/*      */     public static final int FOCUS_DISTANCE_NEAR_INDEX = 0;
/*      */ 
/*      */     
/*      */     public static final int FOCUS_DISTANCE_OPTIMAL_INDEX = 1;
/*      */ 
/*      */     
/*      */     public static final int FOCUS_DISTANCE_FAR_INDEX = 2;
/*      */ 
/*      */     
/*      */     public static final int PREVIEW_FPS_MIN_INDEX = 0;
/*      */ 
/*      */     
/*      */     public static final int PREVIEW_FPS_MAX_INDEX = 1;
/*      */ 
/*      */     
/*      */     private static final String PIXEL_FORMAT_YUV422SP = "yuv422sp";
/*      */ 
/*      */     
/*      */     private static final String PIXEL_FORMAT_YUV420SP = "yuv420sp";
/*      */ 
/*      */     
/*      */     private static final String PIXEL_FORMAT_YUV422I = "yuv422i-yuyv";
/*      */ 
/*      */     
/*      */     private static final String PIXEL_FORMAT_RGB565 = "rgb565";
/*      */ 
/*      */     
/*      */     private static final String PIXEL_FORMAT_JPEG = "jpeg";
/*      */ 
/*      */     
/* 1999 */     private HashMap<String, String> mMap = new HashMap<String, String>();
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void dump() {
/* 2009 */       Log.e("BarCodeReader", "dump: size=" + this.mMap.size());
/* 2010 */       for (String k : this.mMap.keySet())
/*      */       {
/* 2012 */         Log.e("BarCodeReader", "dump: " + k + "=" + (String)this.mMap.get(k));
/*      */       }
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String flatten() {
/* 2026 */       StringBuilder flattened = new StringBuilder();
/* 2027 */       for (String k : this.mMap.keySet()) {
/*      */         
/* 2029 */         flattened.append(k);
/* 2030 */         flattened.append("=");
/* 2031 */         flattened.append(this.mMap.get(k));
/* 2032 */         flattened.append(";");
/*      */       } 
/*      */       
/* 2035 */       flattened.deleteCharAt(flattened.length() - 1);
/* 2036 */       return flattened.toString();
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void unflatten(String flattened) {
/* 2054 */       this.mMap.clear();
/*      */       
/* 2056 */       StringTokenizer tokenizer = new StringTokenizer(flattened, ";");
/* 2057 */       while (tokenizer.hasMoreElements()) {
/*      */         
/* 2059 */         String strKV = tokenizer.nextToken();
/* 2060 */         int iPos = strKV.indexOf('=');
/* 2061 */         if (iPos == -1) {
/*      */           continue;
/*      */         }
/*      */         
/* 2065 */         this.mMap.put(strKV.substring(0, iPos), strKV.substring(iPos + 1));
/*      */       } 
/*      */     }
/*      */ 
/*      */     
/*      */     public void remove(String key) {
/* 2071 */       this.mMap.remove(key);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void set(String key, String value) {
/* 2082 */       if (key.indexOf('=') != -1 || key.indexOf(';') != -1) {
/*      */         
/* 2084 */         Log.e("BarCodeReader", "Key \"" + key + "\" contains invalid character (= or ;)");
/*      */         return;
/*      */       } 
/* 2087 */       if (value.indexOf('=') != -1 || value.indexOf(';') != -1) {
/*      */         
/* 2089 */         Log.e("BarCodeReader", "Value \"" + value + "\" contains invalid character (= or ;)");
/*      */         
/*      */         return;
/*      */       } 
/* 2093 */       this.mMap.put(key, value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void set(String key, int value) {
/* 2104 */       if (key.indexOf('=') != -1 || key.indexOf(';') != -1) {
/*      */         
/* 2106 */         Log.e("BarCodeReader", "Key \"" + key + "\" contains invalid character (= or ;)");
/*      */         return;
/*      */       } 
/* 2109 */       this.mMap.put(key, Integer.toString(value));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String get(String key) {
/* 2120 */       return this.mMap.get(key);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getInt(String key) {
/* 2131 */       return getInt(key, -1);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setPreviewSize(int width, int height) {
/* 2158 */       String v = String.valueOf(Integer.toString(width)) + "x" + Integer.toString(height);
/* 2159 */       set("preview-size", v);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public Size getPreviewSize() {
/* 2170 */       String pair = get("preview-size");
/* 2171 */       return strToSize(pair);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Size> getSupportedPreviewSizes() {
/* 2182 */       String str = get("preview-size-values");
/* 2183 */       return splitSize(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setJpegThumbnailSize(int width, int height) {
/* 2250 */       set("jpeg-thumbnail-width", width);
/* 2251 */       set("jpeg-thumbnail-height", height);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public Size getJpegThumbnailSize() {
/* 2262 */       return new Size(getInt("jpeg-thumbnail-width"), getInt("jpeg-thumbnail-height"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Size> getSupportedJpegThumbnailSizes() {
/* 2274 */       String str = get("jpeg-thumbnail-size-values");
/* 2275 */       return splitSize(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setJpegThumbnailQuality(int quality) {
/* 2286 */       set("jpeg-thumbnail-quality", quality);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getJpegThumbnailQuality() {
/* 2296 */       return getInt("jpeg-thumbnail-quality");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setJpegQuality(int quality) {
/* 2307 */       set("jpeg-quality", quality);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getJpegQuality() {
/* 2317 */       return getInt("jpeg-quality");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     @Deprecated
/*      */     public void setPreviewFrameRate(int fps) {
/* 2330 */       set("preview-frame-rate", fps);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     @Deprecated
/*      */     public int getPreviewFrameRate() {
/* 2344 */       return getInt("preview-frame-rate");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     @Deprecated
/*      */     public List<Integer> getSupportedPreviewFrameRates() {
/* 2357 */       String str = get("preview-frame-rate-values");
/* 2358 */       return splitInt(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setPreviewFpsRange(int min, int max) {
/* 2375 */       set("preview-fps-range", min + "," + max);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void getPreviewFpsRange(int[] range) {
/* 2389 */       if (range == null || range.length != 2)
/*      */       {
/* 2391 */         throw new IllegalArgumentException("range must be an array with two elements.");
/*      */       }
/* 2393 */       splitInt(get("preview-fps-range"), range);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<int[]> getSupportedPreviewFpsRange() {
/* 2415 */       String str = get("preview-fps-range-values");
/* 2416 */       return (List<int[]>)splitRange(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setPreviewFormat(int pixel_format) {
/* 2434 */       String s = readerFormatForPixelFormat(pixel_format);
/* 2435 */       if (s == null)
/*      */       {
/* 2437 */         throw new IllegalArgumentException("Invalid pixel_format=" + pixel_format);
/*      */       }
/*      */       
/* 2440 */       set("preview-format", s);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getPreviewFormat() {
/* 2452 */       return pixelFormatForReaderFormat(get("preview-format"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Integer> getSupportedPreviewFormats() {
/* 2464 */       String str = get("preview-format-values");
/* 2465 */       ArrayList<Integer> formats = new ArrayList<Integer>();
/* 2466 */       for (String s : split(str)) {
/*      */         
/* 2468 */         int f = pixelFormatForReaderFormat(s);
/* 2469 */         if (f == 0)
/*      */           continue; 
/* 2471 */         formats.add(Integer.valueOf(f));
/*      */       } 
/* 2473 */       return formats;
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setPictureSize(int width, int height) {
/* 2489 */       String v = String.valueOf(Integer.toString(width)) + "x" + Integer.toString(height);
/* 2490 */       set("picture-size", v);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public Size getPictureSize() {
/* 2501 */       String pair = get("picture-size");
/* 2502 */       return strToSize(pair);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Size> getSupportedPictureSizes() {
/* 2513 */       String str = get("picture-size-values");
/* 2514 */       return splitSize(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setPictureFormat(int pixel_format) {
/* 2528 */       String s = readerFormatForPixelFormat(pixel_format);
/* 2529 */       if (s == null)
/*      */       {
/* 2531 */         throw new IllegalArgumentException("Invalid pixel_format=" + pixel_format);
/*      */       }
/*      */       
/* 2534 */       set("picture-format", s);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getPictureFormat() {
/* 2545 */       return pixelFormatForReaderFormat(get("picture-format"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Integer> getSupportedPictureFormats() {
/* 2557 */       String str = get("picture-format-values");
/* 2558 */       ArrayList<Integer> formats = new ArrayList<Integer>();
/* 2559 */       for (String s : split(str)) {
/*      */         
/* 2561 */         int f = pixelFormatForReaderFormat(s);
/* 2562 */         if (f == 0)
/*      */           continue; 
/* 2564 */         formats.add(Integer.valueOf(f));
/*      */       } 
/* 2566 */       return formats;
/*      */     }
/*      */ 
/*      */     
/*      */     private String readerFormatForPixelFormat(int pixel_format) {
/* 2571 */       switch (pixel_format) {
/*      */         
/*      */         case 16:
/* 2574 */           return "yuv422sp";
/*      */         case 17:
/* 2576 */           return "yuv420sp";
/*      */         case 20:
/* 2578 */           return "yuv422i-yuyv";
/*      */         case 4:
/* 2580 */           return "rgb565";
/*      */         case 256:
/* 2582 */           return "jpeg";
/*      */       } 
/*      */ 
/*      */       
/* 2586 */       return null;
/*      */     }
/*      */ 
/*      */     
/*      */     private int pixelFormatForReaderFormat(String format) {
/* 2591 */       if (format == null) {
/* 2592 */         return 0;
/*      */       }
/* 2594 */       if (format.equals("yuv422sp")) {
/* 2595 */         return 16;
/*      */       }
/* 2597 */       if (format.equals("yuv420sp")) {
/* 2598 */         return 17;
/*      */       }
/* 2600 */       if (format.equals("yuv422i-yuyv")) {
/* 2601 */         return 20;
/*      */       }
/* 2603 */       if (format.equals("rgb565")) {
/* 2604 */         return 4;
/*      */       }
/* 2606 */       if (format.equals("jpeg")) {
/* 2607 */         return 256;
/*      */       }
/* 2609 */       return 0;
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setRotation(int rotation) {
/* 2676 */       if (rotation == 0 || rotation == 90 || rotation == 180 || rotation == 270) {
/*      */         
/* 2678 */         set("rotation", Integer.toString(rotation));
/*      */       }
/*      */       else {
/*      */         
/* 2682 */         throw new IllegalArgumentException("Invalid rotation=" + rotation);
/*      */       } 
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setGpsLatitude(double latitude) {
/* 2694 */       set("gps-latitude", Double.toString(latitude));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setGpsLongitude(double longitude) {
/* 2705 */       set("gps-longitude", Double.toString(longitude));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setGpsAltitude(double altitude) {
/* 2715 */       set("gps-altitude", Double.toString(altitude));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setGpsTimestamp(long timestamp) {
/* 2726 */       set("gps-timestamp", Long.toString(timestamp));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setGpsProcessingMethod(String processing_method) {
/* 2737 */       set("gps-processing-method", processing_method);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void removeGpsData() {
/* 2746 */       remove("gps-latitude");
/* 2747 */       remove("gps-longitude");
/* 2748 */       remove("gps-altitude");
/* 2749 */       remove("gps-timestamp");
/* 2750 */       remove("gps-processing-method");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getWhiteBalance() {
/* 2770 */       return get("whitebalance");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setWhiteBalance(String value) {
/* 2781 */       set("whitebalance", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedWhiteBalance() {
/* 2793 */       String str = get("whitebalance-values");
/* 2794 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getColorEffect() {
/* 2814 */       return get("effect");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setColorEffect(String value) {
/* 2825 */       set("effect", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedColorEffects() {
/* 2837 */       String str = get("effect-values");
/* 2838 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getAntibanding() {
/* 2854 */       return get("antibanding");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setAntibanding(String antibanding) {
/* 2865 */       set("antibanding", antibanding);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedAntibanding() {
/* 2877 */       String str = get("antibanding-values");
/* 2878 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getSceneMode() {
/* 2904 */       return get("scene-mode");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setSceneMode(String value) {
/* 2921 */       set("scene-mode", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedSceneModes() {
/* 2933 */       String str = get("scene-mode-values");
/* 2934 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getFlashMode() {
/* 2950 */       return get("flash-mode");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setFlashMode(String value) {
/* 2961 */       set("flash-mode", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedFlashModes() {
/* 2973 */       String str = get("flash-mode-values");
/* 2974 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public String getFocusMode() {
/* 2993 */       return get("focus-mode");
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setFocusMode(String value) {
/* 3004 */       set("focus-mode", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<String> getSupportedFocusModes() {
/* 3016 */       String str = get("focus-mode-values");
/* 3017 */       return split(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public float getFocalLength() {
/* 3028 */       return Float.parseFloat(get("focal-length"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public float getHorizontalViewAngle() {
/* 3039 */       return Float.parseFloat(get("horizontal-view-angle"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public float getVerticalViewAngle() {
/* 3050 */       return Float.parseFloat(get("vertical-view-angle"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getExposureCompensation() {
/* 3063 */       return getInt("exposure-compensation", 0);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setExposureCompensation(int value) {
/* 3078 */       set("exposure-compensation", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getMaxExposureCompensation() {
/* 3090 */       return getInt("max-exposure-compensation", 0);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getMinExposureCompensation() {
/* 3102 */       return getInt("min-exposure-compensation", 0);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public float getExposureCompensationStep() {
/* 3115 */       return getFloat("exposure-compensation-step", 0.0F);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getZoom() {
/* 3128 */       return getInt("zoom", 0);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void setZoom(int value) {
/* 3143 */       set("zoom", value);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public boolean isZoomSupported() {
/* 3154 */       String str = get("zoom-supported");
/* 3155 */       return "true".equals(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public int getMaxZoom() {
/* 3169 */       return getInt("max-zoom", 0);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public List<Integer> getZoomRatios() {
/* 3184 */       return splitInt(get("zoom-ratios"));
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public boolean isSmoothZoomSupported() {
/* 3195 */       String str = get("smooth-zoom-supported");
/* 3196 */       return "true".equals(str);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     public void getFocusDistances(float[] output) {
/* 3230 */       if (output == null || output.length != 3)
/*      */       {
/* 3232 */         throw new IllegalArgumentException("output must be an float array with three elements.");
/*      */       }
/* 3234 */       splitFloat(get("focus-distances"), output);
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private ArrayList<String> split(String str) {
/* 3241 */       if (str == null) {
/* 3242 */         return null;
/*      */       }
/*      */       
/* 3245 */       StringTokenizer tokenizer = new StringTokenizer(str, ",");
/* 3246 */       ArrayList<String> substrings = new ArrayList<String>();
/* 3247 */       while (tokenizer.hasMoreElements())
/*      */       {
/* 3249 */         substrings.add(tokenizer.nextToken());
/*      */       }
/* 3251 */       return substrings;
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private ArrayList<Integer> splitInt(String str) {
/* 3258 */       if (str == null) {
/* 3259 */         return null;
/*      */       }
/* 3261 */       StringTokenizer tokenizer = new StringTokenizer(str, ",");
/* 3262 */       ArrayList<Integer> substrings = new ArrayList<Integer>();
/* 3263 */       while (tokenizer.hasMoreElements()) {
/*      */         
/* 3265 */         String token = tokenizer.nextToken();
/* 3266 */         substrings.add(Integer.valueOf(Integer.parseInt(token)));
/*      */       } 
/* 3268 */       if (substrings.size() == 0) {
/* 3269 */         return null;
/*      */       }
/* 3271 */       return substrings;
/*      */     }
/*      */ 
/*      */     
/*      */     private void splitInt(String str, int[] output) {
/* 3276 */       if (str == null) {
/*      */         return;
/*      */       }
/* 3279 */       StringTokenizer tokenizer = new StringTokenizer(str, ",");
/* 3280 */       int index = 0;
/* 3281 */       while (tokenizer.hasMoreElements()) {
/*      */         
/* 3283 */         String token = tokenizer.nextToken();
/* 3284 */         output[index++] = Integer.parseInt(token);
/*      */       } 
/*      */     }
/*      */ 
/*      */ 
/*      */     
/*      */     private void splitFloat(String str, float[] output) {
/* 3291 */       if (str == null) {
/*      */         return;
/*      */       }
/* 3294 */       StringTokenizer tokenizer = new StringTokenizer(str, ",");
/* 3295 */       int index = 0;
/* 3296 */       while (tokenizer.hasMoreElements()) {
/*      */         
/* 3298 */         String token = tokenizer.nextToken();
/* 3299 */         output[index++] = Float.parseFloat(token);
/*      */       } 
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private float getFloat(String key, float defaultValue) {
/*      */       try {
/* 3310 */         float flRetVal = Float.parseFloat(this.mMap.get(key));
/* 3311 */         return flRetVal;
/*      */       }
/* 3313 */       catch (Throwable throwable) {
/*      */ 
/*      */         
/* 3316 */         return defaultValue;
/*      */       } 
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private int getInt(String key, int defaultValue) {
/*      */       try {
/* 3326 */         int iRetVal = Integer.parseInt(this.mMap.get(key));
/* 3327 */         return iRetVal;
/*      */       }
/* 3329 */       catch (Throwable throwable) {
/*      */ 
/*      */         
/* 3332 */         return defaultValue;
/*      */       } 
/*      */     }
/*      */ 
/*      */ 
/*      */     
/*      */     private ArrayList<Size> splitSize(String str) {
/* 3339 */       if (str == null) {
/* 3340 */         return null;
/*      */       }
/* 3342 */       StringTokenizer tokenizer = new StringTokenizer(str, ",");
/* 3343 */       ArrayList<Size> sizeList = new ArrayList<Size>();
/* 3344 */       while (tokenizer.hasMoreElements()) {
/*      */         
/* 3346 */         Size size = strToSize(tokenizer.nextToken());
/* 3347 */         if (size != null)
/* 3348 */           sizeList.add(size); 
/*      */       } 
/* 3350 */       if (sizeList.size() == 0) {
/* 3351 */         return null;
/*      */       }
/* 3353 */       return sizeList;
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private Size strToSize(String str) {
/* 3360 */       if (str == null) {
/* 3361 */         return null;
/*      */       }
/* 3363 */       int pos = str.indexOf('x');
/* 3364 */       if (pos != -1) {
/*      */         
/* 3366 */         String width = str.substring(0, pos);
/* 3367 */         String height = str.substring(pos + 1);
/* 3368 */         return new Size(Integer.parseInt(width), Integer.parseInt(height));
/*      */       } 
/* 3370 */       Log.e("BarCodeReader", "Invalid size parameter string=" + str);
/* 3371 */       return null;
/*      */     }
/*      */ 
/*      */ 
/*      */ 
/*      */     
/*      */     private ArrayList<int[]> splitRange(String str) {
/*      */       int endIndex;
/* 3379 */       if (str == null || str.charAt(0) != '(' || str.charAt(str.length() - 1) != ')') {
/*      */         
/* 3381 */         Log.e("BarCodeReader", "Invalid range list string=" + str);
/* 3382 */         return null;
/*      */       } 
/*      */       
/* 3385 */       ArrayList<int[]> rangeList = (ArrayList)new ArrayList<>();
/* 3386 */       int fromIndex = 1;
/*      */       
/*      */       do {
/* 3389 */         int[] range = new int[2];
/* 3390 */         endIndex = str.indexOf("),(", fromIndex);
/* 3391 */         if (endIndex == -1)
/* 3392 */           endIndex = str.length() - 1; 
/* 3393 */         splitInt(str.substring(fromIndex, endIndex), range);
/* 3394 */         rangeList.add(range);
/* 3395 */         fromIndex = endIndex + 3;
/*      */       }
/* 3397 */       while (endIndex != str.length() - 1);
/*      */       
/* 3399 */       if (rangeList.size() == 0) {
/* 3400 */         return null;
/*      */       }
/* 3402 */       return rangeList;
/*      */     }
/*      */     
/*      */     private Parameters() {}
/*      */   }
/*      */   
/*      */   public static interface AutoFocusCallback {
/*      */     void onAutoFocus(boolean param1Boolean, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface DecodeCallback {
/*      */     void onDecodeComplete(int param1Int1, int param1Int2, byte[] param1ArrayOfbyte, BarCodeReader param1BarCodeReader);
/*      */     
/*      */     void onEvent(int param1Int1, int param1Int2, byte[] param1ArrayOfbyte, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface ErrorCallback {
/*      */     void onError(int param1Int, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface OnZoomChangeListener {
/*      */     void onZoomChange(int param1Int, boolean param1Boolean, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface PictureCallback {
/*      */     void onPictureTaken(int param1Int1, int param1Int2, int param1Int3, byte[] param1ArrayOfbyte, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface PreviewCallback {
/*      */     void onPreviewFrame(byte[] param1ArrayOfbyte, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */   
/*      */   public static interface VideoCallback {
/*      */     void onVideoFrame(int param1Int1, int param1Int2, int param1Int3, byte[] param1ArrayOfbyte, BarCodeReader param1BarCodeReader);
/*      */   }
/*      */ }


/* Location:              E:\Demo\ChaoRan_A9L\libs\ScannerAPI.jar!\com\zebra\adc\decoder\BarCodeReader.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       1.1.3
 */