I am facing issue while runing camera on Moto E. On other devices my code works well but not on Moto E. It might because of the reason that Moto E doesn't have flash or secondary camera.
private synchronized void startCameraPreview() {
        try {
            previewView.getHolder().addCallback(this);
            previewView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
            camera.setPreviewCallback(null);
            camera.setPreviewDisplay(surfaceHolder);
            camera.startPreview();
        }
        catch (Exception exception) {
            Log.e(TAG, "Can't start camera preview due to Exception", exception);
            listener.onCameraError();
        }
    }
This gives error which is pasted below:
Can't start camera preview due to Exception
 java.io.IOException: setPreviewTexture failed
at android.hardware.Camera.setPreviewDisplay(Native Method)
    at android.hardware.Camera.setPreviewDisplay(Camera.java:474)
    at CameraFragment.startCameraPreview(CameraFragment.java:149)
    at CameraFragment.surfaceCreated(CameraFragment.java:472)
    at android.view.SurfaceView.updateWindow(SurfaceView.java:572)
    at android.view.SurfaceView.access$000(SurfaceView.java:86)
If anybody knows how to deal with this issue?