| | |
| | | } |
| | | |
| | | private void initCamera(SurfaceHolder surfaceHolder) { |
| | | PermissionUtils.requestPermissionsResultCallback(this, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() { |
| | | @Override |
| | | public void Success(int value) { |
| | | if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) { |
| | | // HdlThreadLogic.toast(_mActivity, R.string.permission_open); |
| | | Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | return; |
| | | } |
| | | // PermissionUtils.requestPermissionsResultCallback(this, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() { |
| | | // @Override |
| | | // public void Success(int value) { |
| | | // if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) { |
| | | //// HdlThreadLogic.toast(_mActivity, R.string.permission_open); |
| | | // Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | // return; |
| | | // } |
| | | |
| | | if (surfaceHolder == null) { |
| | | throw new IllegalStateException("No SurfaceHolder provided"); |
| | | } |
| | | if (cameraManager.isOpen()) { |
| | | Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?"); |
| | | return; |
| | | } |
| | | try { |
| | | cameraManager.openDriver(surfaceHolder); |
| | | // Creating the handler starts the preview, which can also throw a |
| | | // RuntimeException. |
| | | if (handler == null) { |
| | | handler = new CaptureActivityHandler(ScanActivity.this, cameraManager, DecodeThread.ALL_MODE); |
| | | } |
| | | initCrop(); |
| | | } catch (IOException ioe) { |
| | | Log.w(TAG, ioe); |
| | | Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | finish(); |
| | | } catch (RuntimeException e) { |
| | | Log.w(TAG, "Unexpected error initializing camera", e); |
| | | Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | finish(); |
| | | } |
| | | if (surfaceHolder == null) { |
| | | throw new IllegalStateException("No SurfaceHolder provided"); |
| | | } |
| | | if (cameraManager.isOpen()) { |
| | | Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?"); |
| | | return; |
| | | } |
| | | try { |
| | | cameraManager.openDriver(surfaceHolder); |
| | | // Creating the handler starts the preview, which can also throw a |
| | | // RuntimeException. |
| | | if (handler == null) { |
| | | handler = new CaptureActivityHandler(ScanActivity.this, cameraManager, DecodeThread.ALL_MODE); |
| | | } |
| | | }, true); |
| | | initCrop(); |
| | | } catch (IOException ioe) { |
| | | Log.w(TAG, ioe); |
| | | Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | finish(); |
| | | } catch (RuntimeException e) { |
| | | Log.w(TAG, "Unexpected error initializing camera", e); |
| | | Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); |
| | | finish(); |
| | | } |
| | | // } |
| | | // }, true); |
| | | } |
| | | |
| | | public void restartPreviewAfterDelay(long delayMS) { |