Giter Club home page Giter Club logo

barcode-reader's People

Contributors

ravi8x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

barcode-reader's Issues

Set Drawable Background for Scanning Line

Hello,

I have been using your library for barcode scanning in my project.
But I am not able to set a drawable file for scanning line. Can you please let me know that whether I can set it or not ? And If I can set then how ?

Thanks

First time install - long wait for download of QR Core libraries

The first time you install the application it seems stuck because it's downloading some module for the barcode reader.

Depending on network conditions this might take a while.
Device - Samsung Galaxy S9

Here is the logcat -

2019-05-17 17:09:52.031 16354-16354/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2019-05-17 17:09:52.032 16354-16354/? E/Zygote: accessInfo : 1
2019-05-17 17:09:52.033 16354-16354/? I/SELinux: SELinux: seapp_context_lookup: seinfo=default, level=s0:c512,c768, pkgname=com.em.scannerApp
2019-05-17 17:09:52.036 16354-16354/? I/orphis.sensori: Late-enabling -Xcheck:jni
2019-05-17 17:09:52.073 16354-16354/? D/TimaKeyStoreProvider: TimaKeyStore is not enabled: cannot add TimaSignature Service and generateKeyPair Service
2019-05-17 17:09:52.096 16354-16354/? W/ActivityThread: Application com.em.scannerApp is waiting for the debugger on port 8100...
2019-05-17 17:09:52.099 16354-16354/? I/System.out: Sending WAIT chunk
2019-05-17 17:09:52.101 16354-16361/? E/orphis.sensori: Unable to peek into adb socket due to error. Closing socket.: Connection reset by peer
2019-05-17 17:10:23.007 16354-16354/com.em.scannerApp I/System.out: Debugger has connected
2019-05-17 17:10:23.008 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:23.209 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:23.720 16354-16354/com.em.scannerApp I/chatty: uid=10276(com.em.scannerApp) identical 2 lines
2019-05-17 17:10:23.923 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:24.124 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:24.325 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:24.527 16354-16354/com.em.scannerApp I/chatty: uid=10276(com.em.scannerApp) identical 1 line
2019-05-17 17:10:24.729 16354-16354/com.em.scannerApp I/System.out: waiting for debugger to settle...
2019-05-17 17:10:24.932 16354-16354/com.em.scannerApp I/System.out: debugger has settled (1401)
2019-05-17 17:10:24.951 16354-16354/com.em.scannerApp D/ConnectivityManager_URSP: Ursp sIsUrsp=false, sIsCheckUrsp=false, uid=10276
2019-05-17 17:10:24.968 16354-16354/com.em.scannerApp D/Proxy: urspP is null: 10276
2019-05-17 17:10:26.180 16354-16354/com.em.scannerApp I/orphis.sensori: The ClassLoaderContext is a special shared library.
2019-05-17 17:10:26.640 16354-16354/com.em.scannerApp W/orphis.sensori: JIT profile information will not be recorded: profile file does not exits.
2019-05-17 17:10:26.649 16354-16354/com.em.scannerApp I/chatty: uid=10276(com.em.scannerApp) identical 10 lines
2019-05-17 17:10:26.650 16354-16354/com.em.scannerApp W/orphis.sensori: JIT profile information will not be recorded: profile file does not exits.
2019-05-17 17:10:26.679 16354-16354/com.em.scannerApp I/InstantRun: starting instant run server: is main process
2019-05-17 17:10:28.806 16354-16354/com.em.scannerApp W/orphis.sensori: Verification of void android.support.v4.app.SupportActivity.() took 995.600ms
2019-05-17 17:10:29.720 16354-16354/com.em.scannerApp W/orphis.sensori: Verification of void android.support.v4.app.SupportActivity.onCreate(android.os.Bundle) took 506.369ms
2019-05-17 17:10:29.743 16354-16836/com.em.scannerApp D/libEGL: loaded /vendor/lib64/egl/libGLES_mali.so
2019-05-17 17:10:29.977 16354-16354/com.em.scannerApp W/orphis.sensori: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
2019-05-17 17:10:29.978 16354-16354/com.em.scannerApp W/orphis.sensori: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
2019-05-17 17:10:30.091 16354-16354/com.em.scannerApp D/OpenGLRenderer: Skia GL Pipeline
2019-05-17 17:10:30.102 16354-16354/com.em.scannerApp D/EmergencyMode: [EmergencyManager] android createPackageContext successful
2019-05-17 17:10:30.129 16354-16354/com.em.scannerApp D/InputTransport: Input channel constructed: fd=78
2019-05-17 17:10:30.130 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: setView = DecorView@23e3114[SplashActivity] TM=true MM=false
2019-05-17 17:10:30.145 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: dispatchAttachedToWindow
2019-05-17 17:10:30.170 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x7 surface={valid=true 509319888896} changed=true
2019-05-17 17:10:30.183 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
2019-05-17 17:10:30.184 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@23e3114[SplashActivity]
2019-05-17 17:10:30.184 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:30.186 16354-16843/com.em.scannerApp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2019-05-17 17:10:30.186 16354-16843/com.em.scannerApp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2019-05-17 17:10:30.186 16354-16843/com.em.scannerApp I/OpenGLRenderer: Initialized EGL, version 1.4
2019-05-17 17:10:30.186 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@23e3114[SplashActivity]
2019-05-17 17:10:30.186 16354-16843/com.em.scannerApp D/OpenGLRenderer: Swap behavior 2
2019-05-17 17:10:30.186 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:30.186 16354-16354/com.em.scannerApp V/InputMethodManager: Starting input: tba=com.em.scannerApp ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2019-05-17 17:10:30.187 16354-16354/com.em.scannerApp D/InputMethodManager: startInputInner - Id : 0
2019-05-17 17:10:30.187 16354-16354/com.em.scannerApp I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2019-05-17 17:10:30.191 16354-16369/com.em.scannerApp D/InputTransport: Input channel constructed: fd=86
2019-05-17 17:10:30.192 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@23e3114[SplashActivity]
2019-05-17 17:10:30.192 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:30.192 16354-16354/com.em.scannerApp V/InputMethodManager: Starting input: tba=com.em.scannerApp ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2019-05-17 17:10:30.193 16354-16354/com.em.scannerApp D/InputMethodManager: startInputInner - Id : 0
2019-05-17 17:10:30.198 16354-16843/com.em.scannerApp D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
2019-05-17 17:10:30.198 16354-16843/com.em.scannerApp D/OpenGLRenderer: eglCreateWindowSurface = 0x767dbfaa00, 0x7695d4c010
2019-05-17 17:10:31.324 16354-16843/com.em.scannerApp I/OpenGLRenderer: Davey! duration=1128ms; Flags=0, IntendedVsync=403142314108299, Vsync=403142314108299, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=403142316318842, AnimationStart=403142316684573, PerformTraversalsStart=403142316727304, DrawStart=403142321165073, SyncQueued=403142332334457, SyncStart=403142332419957, IssueDrawCommandsStart=403142332467727, SwapBuffers=403143439896726, FrameCompleted=403143442642764, DequeueBufferDuration=1271000, QueueBufferDuration=364000,
2019-05-17 17:10:31.406 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: MSG_RESIZED: frame=Rect(0, 0 - 1080, 2220) ci=Rect(0, 63 - 0, 126) vi=Rect(0, 63 - 0, 126) or=1
2019-05-17 17:10:34.126 16354-16354/com.em.scannerApp W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@309577b
2019-05-17 17:10:34.126 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
2019-05-17 17:10:34.127 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@23e3114[SplashActivity]
2019-05-17 17:10:34.127 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:34.426 16354-16354/com.em.scannerApp D/InputTransport: Input channel constructed: fd=94
2019-05-17 17:10:34.427 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: setView = DecorView@b103d61[ScannerActivity] TM=true MM=false
2019-05-17 17:10:34.457 16354-16354/com.em.scannerApp D/SurfaceView: onWindowVisibilityChanged(0) true 2a3e086 of ViewRootImpl@b50e8c8[ScannerActivity]
2019-05-17 17:10:34.459 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: dispatchAttachedToWindow
2019-05-17 17:10:34.498 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x7 surface={valid=true 509319299072} changed=true
2019-05-17 17:10:34.503 16354-16843/com.em.scannerApp D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
2019-05-17 17:10:34.503 16354-16843/com.em.scannerApp D/OpenGLRenderer: eglCreateWindowSurface = 0x767d53f600, 0x7695cbc010
2019-05-17 17:10:34.528 16354-16354/com.em.scannerApp D/SurfaceView: show() Surface(name=SurfaceView - com.em.scannerApp/com.em.scannerApp.activities.ScannerActivity@2a3e086@0[16354])/@0xbd39d47 android.view.SurfaceView{2a3e086 V.E...... ......ID 0,0-3819,2031}
2019-05-17 17:10:34.539 16354-16354/com.em.scannerApp D/SurfaceView: surfaceCreated 1 #8 android.view.SurfaceView{2a3e086 V.E...... ......ID 0,0-3819,2031}
2019-05-17 17:10:34.540 16354-16354/com.em.scannerApp D/SurfaceView: surfaceChanged (3819,2031) 1 #8 android.view.SurfaceView{2a3e086 V.E...... ......ID 0,0-3819,2031}
2019-05-17 17:10:34.559 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x3 surface={valid=true 509319299072} changed=false
2019-05-17 17:10:34.625 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 1080, 2220) ci=Rect(0, 63 - 0, 126) vi=Rect(0, 63 - 0, 126) or=1
2019-05-17 17:10:34.643 16354-16354/com.em.scannerApp D/InputTransport: Input channel destroyed: fd=86
2019-05-17 17:10:35.083 16354-16843/com.em.scannerApp W/libEGL: EGLNativeWindowType 0x7695d4c010 disconnect failed
2019-05-17 17:10:35.083 16354-16843/com.em.scannerApp D/OpenGLRenderer: eglDestroySurface = 0x767dbfaa00, 0x7695d4c000
2019-05-17 17:10:35.097 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x5 surface={valid=false 0} changed=true
2019-05-17 17:10:35.101 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: Surface release. android.view.WindowManagerGlobal.setStoppedState:669 android.app.Activity.performStop:7646 android.app.ActivityThread.callActivityOnStop:4352 android.app.ActivityThread.performStopActivityInner:4330 android.app.ActivityThread.handleStopActivity:4405 android.app.servertransaction.TransactionExecutor.performLifecycleSequence:192 android.app.servertransaction.TransactionExecutor.cycleToPath:165 android.app.servertransaction.TransactionExecutor.executeLifecycleState:142
2019-05-17 17:10:35.111 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: dispatchDetachedFromWindow
2019-05-17 17:10:35.112 16354-16354/com.em.scannerApp D/ViewRootImpl@5825f67[SplashActivity]: Surface release. android.view.ViewRootImpl.doDie:7931 android.view.ViewRootImpl.die:7899 android.view.WindowManagerGlobal.removeViewLocked:497 android.view.WindowManagerGlobal.removeView:435 android.view.WindowManagerImpl.removeViewImmediate:124 android.app.ActivityThread.handleDestroyActivity:4722 android.app.servertransaction.DestroyActivityItem.execute:39 android.app.servertransaction.TransactionExecutor.executeLifecycleState:145
2019-05-17 17:10:35.116 16354-16354/com.em.scannerApp D/InputTransport: Input channel destroyed: fd=78
2019-05-17 17:10:38.050 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=true 509319299072} changed=false
2019-05-17 17:10:38.056 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
2019-05-17 17:10:38.056 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@b103d61[ScannerActivity]
2019-05-17 17:10:38.056 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:38.060 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@b103d61[ScannerActivity]
2019-05-17 17:10:38.060 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:38.060 16354-16354/com.em.scannerApp V/InputMethodManager: Starting input: tba=com.em.scannerApp ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2019-05-17 17:10:38.061 16354-16354/com.em.scannerApp D/InputMethodManager: startInputInner - Id : 0
2019-05-17 17:10:38.061 16354-16354/com.em.scannerApp I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2019-05-17 17:10:38.063 16354-16354/com.em.scannerApp D/InputTransport: Input channel constructed: fd=92
2019-05-17 17:10:38.082 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
2019-05-17 17:10:38.082 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@b103d61[ScannerActivity]
2019-05-17 17:10:38.082 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:38.147 16354-16354/com.em.scannerApp D/InputTransport: Input channel destroyed: fd=92
2019-05-17 17:10:40.187 16354-16354/com.em.scannerApp D/ViewRootImpl@b50e8c8[ScannerActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
2019-05-17 17:10:40.197 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@b103d61[ScannerActivity]
2019-05-17 17:10:40.198 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:40.205 16354-16354/com.em.scannerApp D/InputMethodManager: prepareNavigationBarInfo() DecorView@b103d61[ScannerActivity]
2019-05-17 17:10:40.205 16354-16354/com.em.scannerApp D/InputMethodManager: getNavigationBarColor() -855310
2019-05-17 17:10:40.206 16354-16354/com.em.scannerApp V/InputMethodManager: Starting input: tba=com.em.scannerApp ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2019-05-17 17:10:40.206 16354-16354/com.em.scannerApp D/InputMethodManager: startInputInner - Id : 0
2019-05-17 17:10:40.206 16354-16354/com.em.scannerApp I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2019-05-17 17:10:40.209 16354-16354/com.em.scannerApp D/InputTransport: Input channel constructed: fd=92
2019-05-17 17:10:40.211 16354-16354/com.em.scannerApp E/BarcodeReader: createCameraSource:
2019-05-17 17:10:40.219 16354-16354/com.em.scannerApp W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite.barcode not found.
2019-05-17 17:10:40.229 16354-16354/com.em.scannerApp I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite.barcode:0 and remote module com.google.android.gms.vision.dynamite.barcode:0
2019-05-17 17:10:40.229 16354-16354/com.em.scannerApp D/BarcodeNativeHandle: Cannot load feature, fall back to load whole module.
2019-05-17 17:10:40.232 16354-16354/com.em.scannerApp W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite not found.
2019-05-17 17:10:40.240 16354-16354/com.em.scannerApp W/orphis.sensori: Unsupported class loader
2019-05-17 17:10:40.946 16354-16354/com.em.scannerApp W/orphis.sensori: Skipping duplicate class check due to unsupported classloader
2019-05-17 17:10:40.951 16354-16354/com.em.scannerApp I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:2501
2019-05-17 17:10:40.951 16354-16354/com.em.scannerApp I/DynamiteModule: Selected remote version of com.google.android.gms.vision.dynamite, version >= 2501
2019-05-17 17:10:40.951 16354-16354/com.em.scannerApp V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
2019-05-17 17:10:41.005 16354-16354/com.em.scannerApp W/ChimeraDebugLogger: Singleton logger instance not set.
2019-05-17 17:10:41.014 16354-16354/com.em.scannerApp W/orphis.sensori: Unsupported class loader
2019-05-17 17:10:41.174 16354-16354/com.em.scannerApp I/Vision: Loading library libbarhopper.so
2019-05-17 17:10:41.988 16354-16354/com.em.scannerApp I/orphis.sensori: The ClassLoaderContext is a special shared library.
2019-05-17 17:10:42.951 16354-16354/com.em.scannerApp I/orphis.sensori: The ClassLoaderContext is a special shared library.
2019-05-17 17:10:43.931 16354-16354/com.em.scannerApp I/orphis.sensori: The ClassLoaderContext is a special shared library.
2019-05-17 17:10:47.085 16354-16354/com.em.scannerApp W/orphis.sensori: Accessing hidden method Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; (light greylist, reflection)
2019-05-17 17:10:47.085 16354-16354/com.em.scannerApp W/orphis.sensori: Accessing hidden method Ldalvik/system/VMRuntime;->is64Bit()Z (light greylist, reflection)
2019-05-17 17:10:47.137 16354-16354/com.em.scannerApp W/linker: Warning: "/data/data/com.google.android.gms/app_vision/barcode/libs/arm64-v8a/libbarhopper.so" unused DT entry: unknown processor-specific (type 0x7ffffffd arg 0x6dd) (ignoring)
2019-05-17 17:10:48.213 16354-16354/com.em.scannerApp I/Vision: libbarhopper.so library load status: true
2019-05-17 17:10:48.298 16354-16354/com.em.scannerApp I/DynamiteModule: Considering local module com.google.android.gms.flags:3 and remote module com.google.android.gms.flags:3
2019-05-17 17:10:48.299 16354-16354/com.em.scannerApp I/DynamiteModule: Selected local version of com.google.android.gms.flags
2019-05-17 17:10:48.404 16354-16919/com.em.scannerApp E/Camera_APM :: [APM]APM's Thread is started
2019-05-17 17:10:48.405 16354-16919/com.em.scannerApp E/Camera_APM :: [APM] This app is forground app
2019-05-17 17:10:48.746 16354-16354/com.em.scannerApp I/Choreographer: Skipped 512 frames! The application may be doing too much work on its main thread.
2019-05-17 17:10:48.759 16354-16354/com.em.scannerApp D/SurfaceView: show() Surface(name=SurfaceView - com.em.scannerApp/com.em.scannerApp.activities.ScannerActivity@2a3e086@0[16354])/@0xbd39d47 android.view.SurfaceView{2a3e086 V.E...... ......ID 0,0-1523,2031}
2019-05-17 17:10:48.774 16354-16354/com.em.scannerApp D/SurfaceView: surfaceChanged (1523,2031) 1 #5 android.view.SurfaceView{2a3e086 V.E...... ......ID 0,0-1523,2031}
2019-05-17 17:10:48.796 16354-16843/com.em.scannerApp I/OpenGLRenderer: Davey! duration=8595ms; Flags=0, IntendedVsync=403152319002169, Vsync=403160852335161, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=403160864888944, AnimationStart=403160864955444, PerformTraversalsStart=403160864957752, DrawStart=403160903019060, SyncQueued=403160909455137, SyncStart=403160909549444, IssueDrawCommandsStart=403160909801790, SwapBuffers=403160911673944, FrameCompleted=403160914327906, DequeueBufferDuration=446000, QueueBufferDuration=909000,
2019-05-17 17:10:48.892 16354-16910/com.em.scannerApp W/orphis.sensori: Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)

Manual Flashlight

Since the other issue didn't get much attention I opened this one. Is it possible to manually(=programmatically) activate the flash light? I want to toggle it via a button.
Thanks!

callback in fragment

Hi,

i use your library in a fragment that implements BarcodeReader.BarcodeReaderListener, but your code search for listener in the Main Activity...
How to use it directly from fragment ?

Limiting the types of barcodes that can be read

Dear Ravi,

This library is really useful and I am able to incorporate in my project. I am using it to scan ISBN book barcodes (EAN13 format). Is there any way to restrict the bar codes recognised only to EAN13.

Thanks
Sanjay

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference

Hi.
With new version of gradle build tools got this exception
'com.android.tools.build:gradle:4.1.0'

E/UncaughtException: java.lang.RuntimeException: Unable to destroy activity {view.activity.ActivityBarcodeReader}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5111)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5140)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:44)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference
at info.androidhive.barcode.camera.CameraSource$FrameProcessingRunnable.release(CameraSource.java:1102)
at info.androidhive.barcode.camera.CameraSource.release(CameraSource.java:327)
at info.androidhive.barcode.camera.CameraSourcePreview.release(CameraSourcePreview.java:83)
at info.androidhive.barcode.BarcodeReader.onDestroy(BarcodeReader.java:303)
at androidx.fragment.app.Fragment.performDestroy(Fragment.java:2830)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1028)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchDestroy(FragmentManagerImpl.java:2644)
at androidx.fragment.app.FragmentController.dispatchDestroy(FragmentController.java:329)
at androidx.fragment.app.FragmentActivity.onDestroy(FragmentActivity.java:366)
at androidx.appcompat.app.AppCompatActivity.onDestroy(AppCompatActivity.java:242)
at view.activity.ActivityBase.onDestroy(ActivityBase.kt:162)

Does not read the QR on Huawei devices

I have installed the example application and works fine on my Nexus 5 but it does not work on my Huawei P10 Lite (WAS-LX1AC432B198).
The activity works fine, I even see the camera working good but there is no beep and no text scan.

Running on KF tablet will result in operating with a strange green stripe

Hi Ravi,

Thank you for this insanely good library!

I've been using your library for QR code scanning/reading and I have run it on KF tablet. Initially, it didn't run because as you have known KF amazon tablet is de-googled and it has no default Google play services app installed but I have managed to install it manually through Google play store. Now, the app is running but it is showing a weird green stripe stuff at the top and it doesn't scan the QR code properly.

Please see below the snapshot attached.
Please advise as to how to resolve this issue.
Thank you very much!

Cheers,
Christian

20180103_153128

Camera is distorted & no result

The camera is distorted, I keep hearing the beep multiple times and the result is not showing up, I am testing on an ISBN code

Auto Focus Problem

Galaxy Tab E version 5.1.1 Camera focus mode: is not supported on this device, not read qrcode

Camera preview failed

I tried to use this library on Samsung Galaxy S5 with Andorid 6.0.1 and I get following error:

java.lang.RuntimeException: startPreview failed at android.hardware.Camera.startPreview(Native Method) at info.androidhive.barcode.camera.CameraSource.start(CameraSource.java:380) at info.androidhive.barcode.camera.CameraSourcePreview.startIfReady(CameraSourcePreview.java:91) at info.androidhive.barcode.camera.CameraSourcePreview.access$200(CameraSourcePreview.java:33) at info.androidhive.barcode.camera.CameraSourcePreview$SurfaceCallback.surfaceCreated(CameraSourcePreview.java:114) at android.view.SurfaceView.updateWindow(SurfaceView.java:712) at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:209) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1014) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2510) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920) at android.view.Choreographer.doCallbacks(Choreographer.java:695) at android.view.Choreographer.doFrame(Choreographer.java:631) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7224) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Duplicate class android.support.design.widget.CoordinatorLayout found

Duplicate class android.support.design.widget.CoordinatorLayout found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$1 found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$Behavior found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$DefaultBehavior found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$DispatchChangeEvent found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$HierarchyChangeListener found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$LayoutParams found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$OnPreDrawListener found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$SavedState found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$SavedState$1 found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)
Duplicate class android.support.design.widget.CoordinatorLayout$ViewElevationComparator found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:27.0.0)

Go to the documentation to learn how to Fix dependency resolution errors.

Mobile Vision Library

Hello, The Mobile vision library 11.0.2 you are using is preventing me from using other libraries .... and the libraries needs to have the same version number.....

How can I gt it to work with other libraries that requires 11.8.0 google services or so

Backward compatibility

I am having API 25, and on this level, the library doesn't seem to work. Seems to be a backward compatibility issue

Camera Runtime Exception

I am getting this exception from my Google Developer Console. Is I am the only one who is facing this issue

java.lang.RuntimeException:
at android.hardware.Camera. (Camera.java:584)
at android.hardware.Camera.open (Camera.java:397)
at info.androidhive.barcode.camera.CameraSource.createCamera (CameraSource.java:749)
at info.androidhive.barcode.camera.CameraSource.start (CameraSource.java:378)
at info.androidhive.barcode.camera.CameraSourcePreview.startIfReady (CameraSourcePreview.java:91)
at info.androidhive.barcode.camera.CameraSourcePreview.access$200 (CameraSourcePreview.java:33)
at info.androidhive.barcode.camera.CameraSourcePreview$SurfaceCallback.surfaceCreated (CameraSourcePreview.java:114)
at android.view.SurfaceView.updateWindow (SurfaceView.java:675)
at android.view.SurfaceView$3.onPreDraw (SurfaceView.java:185)
at android.view.ViewTreeObserver.dispatchOnPreDraw (ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2050)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1117)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6184)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:773)
at android.view.Choreographer.doCallbacks (Choreographer.java:586)
at android.view.Choreographer.doFrame (Choreographer.java:556)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:759)
at android.os.Handler.handleCallback (Handler.java:739)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:135)
at android.app.ActivityThread.main (ActivityThread.java:5421)
at java.lang.reflect.Method.invoke (Native Method)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:914)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:707)

autofocus can't be set from code

Actually (info.androidhive:barcode-reader:1.1.5), the autofocus can't be set from code.
Can you add something like setAutofocus(true/false) ?

If that can help, now I use this workaround:

     public static class BarcodeReaderEx extends BarcodeReader{
        public BarcodeReaderEx(){
            super();
            setAutofocus(true);
        }
        public void setAutofocus(boolean autofocus){
            //this.autoFocus = autofocus;
            try {
                Field f = BarcodeReader.class.getDeclaredField("autoFocus"); //NoSuchFieldException
                f.setAccessible(true);
                f.setBoolean(this,autofocus);
                //Boolean af = (Boolean) f.get(this); //IllegalAccessException
            }catch(Exception ignore){

            }
        }
    }

ScannerOverlay

I want it only scan qr-code inside ScannerOverlay
can you help me?

Google Vision Api Camera preview issue

I am facing the below issue while using the google vision api for scanning qr code.

Detector processor must first be set with setProcessor in order to receive detection results. site:stackoverflow.com

can you please help me on this?

The camera preview is not opening at the first time, also I am unable to update the UI once the scan is successful.

Below is my code

{

private BusinessModel bmodel;
private DisplayMetrics displaymetrics;
private boolean is7InchTablet;
private SurfaceView surfaceView;
private BarcodeDetector barcodeDetector;
private CameraSource cameraSource;
private Button startVisit,btn_scan;
private Spinner reasonSpinnerForScanFailed,qrcodeTypeSpinner;
private boolean isScanSuccussfull;
private ArrayAdapter<ReasonMaster> reasonAdapterForScanFailed,adapterqrtype;
private String type = "0",reason = "0";
private SparseArray<Barcode> response;
private TextView tvresult;
private AlertDialog.Builder builder;
private AlertDialog alertDialog;
private static String TAG = "XCYCLE";
private boolean isCameraEnabled;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_qrcodescan);

    bmodel = (BusinessModel) getApplicationContext();
    bmodel.setContext(this);
    Log.i(TAG, "onCreate()");
    overridePendingTransition(R.anim.trans_left_in, R.anim.trans_left_out);
    displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    is7InchTablet = this.getResources().getConfiguration().isLayoutSizeAtLeast(SCREENLAYOUT_SIZE_LARGE);

    Toolbar toolbar = findViewById(R.id.toolbar);
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayShowTitleEnabled(false);
            setScreenTitle("QR Code Scan");
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowHomeEnabled(true);
        }
    }

    startVisit = (Button)findViewById(R.id.save);
    btn_scan = (Button)findViewById(R.id.scan);
    tvresult = (TextView)findViewById(R.id.tvresult);
    surfaceView = (SurfaceView)findViewById(R.id.cameraview);
    reasonSpinnerForScanFailed = (Spinner)findViewById(R.id.reasonspinnerforscanfailed);
    qrcodeTypeSpinner = (Spinner)findViewById(R.id.qrcodetypespinner);
    startVisit.setOnClickListener(this);
    btn_scan.setOnClickListener(this);
    if(getIntent().getExtras() != null)
        type = getIntent().getExtras().getString("type");

    if(checkAndRequestPermissionAtRunTime(2))
        startScan();
}

@Override
protected void onStart() {
    super.onStart();
    Log.i(TAG, "onStart()");
    loadTypeSpinner();
    loadReasonSpinner();

    qrcodeTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            ReasonMaster qrtype = (ReasonMaster) adapterView.getSelectedItem();
            type = qrtype.getReasonID();
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });

    reasonSpinnerForScanFailed.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            ReasonMaster reasonMaster = (ReasonMaster) adapterView.getSelectedItem();
            reason = reasonMaster.getReasonID();
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });

}

private void startScan() {

    try {

        barcodeDetector = new BarcodeDetector.Builder(this).setBarcodeFormats(Barcode.QR_CODE).build();
        cameraSource = new CameraSource.Builder(QRCodeScan.this, barcodeDetector)
                .setRequestedPreviewSize(400, 400)
                .build();

        surfaceView.getHolder().addCallback(new SurfaceHolder.Callback2() {
            @Override
            public void surfaceRedrawNeeded(SurfaceHolder surfaceHolder) {
                Toast.makeText(QRCodeScan.this, "surfaceRedrawNeeded()", Toast.LENGTH_LONG).show();
            }

            @Override
            public void surfaceCreated(SurfaceHolder surfaceHolder) {
                try {
                    Toast.makeText(QRCodeScan.this, "surfaceCreated()", Toast.LENGTH_LONG).show();
                    cameraSource.start(surfaceView.getHolder());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
                Toast.makeText(QRCodeScan.this, "surfaceChanged()", Toast.LENGTH_LONG).show();
            }

            @Override
            public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
                Toast.makeText(QRCodeScan.this, "surfaceDestroyed()", Toast.LENGTH_LONG).show();
                cameraSource.stop();
            }
        });

        barcodeDetector.setProcessor(new Detector.Processor<Barcode>() {
            @Override
            public void release() {
            }

            @Override
            public void receiveDetections(Detector.Detections<Barcode> detections) {

                try
                {
                    response = detections.getDetectedItems();
                    if (response != null && response.size() > 0) {
                        barcodeDetector.release();
                        isScanSuccussfull = true;
                        if (validateAndSave()) {
                            moveToHomeScreenTwo();
                        }
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        });
    }catch (Exception e){
        e.printStackTrace();
    }
}

@Override
protected void onResume() {
    super.onResume();
    Log.i(TAG, "onResume()");
    checkAndRequestPermissionAtRunTime(2);
    int permissionStatus = ContextCompat.checkSelfPermission(this,
            Manifest.permission.CAMERA);
    if (permissionStatus == PackageManager.PERMISSION_GRANTED) {
        startScan();
    } else {
        Toast.makeText(this,
                getResources().getString(R.string.permission_enable_msg)
                        + " " + getResources().getString(R.string.permission_camera)
                , Toast.LENGTH_LONG).show();
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        startActivity(new Intent(this, ProfileActivity.class));
        overridePendingTransition(R.anim.trans_right_in, R.anim.trans_right_out);
        finish();
    }
    return super.onOptionsItemSelected(item);
}

@Override
public void onClick(View view) {
    switch (view.getId()) {

        case R.id.save: {
            if (type.equals("0"))
                Toast.makeText(QRCodeScan.this, getResources().getString(R.string.qr_type_alert), Toast.LENGTH_LONG).show();
            else if(reason.equals("0")){
                Toast.makeText(QRCodeScan.this, getResources().getString(R.string.qr_reason), Toast.LENGTH_LONG).show();
            }else {
                if(validateAndSave())
                    moveToHomeScreenTwo();
                else
                    Toast.makeText(QRCodeScan.this, getResources().getString(R.string.qr_try_again), Toast.LENGTH_LONG).show();
            }
        }

        case R.id.scan: {
            if(checkAndRequestPermissionAtRunTime(2)) {
                if (!type.isEmpty() && !type.equals("0"))
                    startScan();
                else
                    Toast.makeText(QRCodeScan.this, getResources().getString(R.string.qr_type_alert), Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this,getResources().getString(R.string.qr_camera_permission),Toast.LENGTH_LONG).show();
            }
        }
    }
}

private void moveToHomeScreenTwo(){
    Toast.makeText(QRCodeScan.this, "Scanned Success", Toast.LENGTH_LONG);
    Intent i = new Intent(this, HomeScreenTwo.class);
    i.putExtra("isLocDialog", true);
    i.putExtra("isMandatoryDialog", true);
    i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(i);
    finish();
}

private boolean validateAndSave(){
    String val = "";
    try{
        if(isScanSuccussfull)
            val = response.valueAt(0).displayValue;

        if(bmodel.getAppDataProvider().getRetailMaster().getListOfQRCodeValues() == null)
            return bmodel.qrCodeHelper.saveQRCodeScannedData(type, val, reason , "I");
        else if(!val.isEmpty() && !bmodel.getAppDataProvider().getRetailMaster().getListOfQRCodeValues().contains(val)) {
            isScanSuccussfull = false;
            return false;
        }else
            return bmodel.qrCodeHelper.saveQRCodeScannedData(type, val, reason, "A");
    }catch (Exception e){
        e.printStackTrace();
        return false;
    }
}

private void loadReasonSpinner(){
    try{
        reasonAdapterForScanFailed = new ArrayAdapter<>(this,
                R.layout.call_analysis_spinner_layout);
        reasonAdapterForScanFailed.add(new ReasonMaster(0 + "", getResources().getString(R.string.select_reason)));
        if (bmodel.qrCodeHelper.getQrCodeReasons() != null) {
            for (ReasonMaster temp : bmodel.qrCodeHelper.getQrCodeReasons())
                reasonAdapterForScanFailed.add(temp);

            reasonAdapterForScanFailed.add(new ReasonMaster(-1 + "", getResources().getString(R.string.other_reason)));
        }
        reasonAdapterForScanFailed.setDropDownViewResource(R.layout.call_analysis_spinner_list_item);
        reasonSpinnerForScanFailed.setAdapter(reasonAdapterForScanFailed);
    }catch (Exception e){
        e.printStackTrace();
    }
}

private void loadTypeSpinner(){
    try{
        adapterqrtype = new ArrayAdapter<>(this,
                R.layout.call_analysis_spinner_layout);
        adapterqrtype.add(new ReasonMaster(0 + "", getResources().getString(R.string.qr_hint_type)));
        if (bmodel.qrCodeHelper.getQrCodeReasons() != null) {
            for (ReasonMaster temp : bmodel.qrCodeHelper.getQrCodeTypes())
                adapterqrtype.add(temp);
        }
        adapterqrtype.setDropDownViewResource(R.layout.call_analysis_spinner_list_item);
        qrcodeTypeSpinner.setAdapter(adapterqrtype);
    }catch (Exception e){
        e.printStackTrace();
    }
}

private void openCamera(){
    try{
        cameraSource.start(surfaceView.getHolder());
    }catch (Exception e){
        e.printStackTrace();
    }
}

}

Migration to MavenCentral

I am getting issues with this library since JCenter() and Bintray were put out service. Will you do the migration to mavencentral or jitpack anytime soon. Thanks

Permission Check in Xiaomi-L devices

In some Xiaomi lollipop verison device permission can be denied. If permission denied in those device app crashed.

Tested device:
Model: Redmi Note 3
OS: 5.1.1 LMY47V

switch to front camera

hi Ravi, any way to switch to the front camera? I am using the fragment method.

Thank you.

Flash Light

There is no functionality for flash light on during scan

Class Cast Exception

I configured the project based on the instruction in the readme file and am getting the following error

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.barcode_reader2/com.example.barcode_reader2.MainActivity}: java.lang.ClassCastException: info.androidhive.barcode.BarcodeReader cannot be cast to com.example.barcode_reader2.BarcodeReader
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
 Caused by: java.lang.ClassCastException: info.androidhive.barcode.BarcodeReader cannot be cast to com.example.barcode_reader2.BarcodeReader
    at com.example.barcode_reader2.MainActivity.onCreate(MainActivity.java:22)
    at android.app.Activity.performCreate(Activity.java:6662)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)

How do i resolve this

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.