fix(android): fix possible crash when attempting to retrieve camera parameters. (#2570)

This commit is contained in:
cristianoccazinsp 2019-11-11 11:30:06 -03:00 committed by Sibelius Seraphini
parent fabacb4e93
commit be8a08ce9c

View File

@ -1011,7 +1011,18 @@ class Camera1 extends CameraViewImpl implements MediaRecorder.OnInfoListener,
public void run() {
synchronized(Camera1.this){
if (mCamera != null) {
Camera.Parameters parameters = mCamera.getParameters();
Camera.Parameters parameters = null;
// This might crash on some devices if the camera is not
// available/locked, with a RuntimeException("getParameters failed (empty parameters)")
try{
parameters = mCamera.getParameters();
}
catch(Exception e){
Log.e("CAMERA_1::", "setFocusArea.getParameters failed", e);
parameters = null;
}
if (parameters == null) return;
String focusMode = parameters.getFocusMode();
@ -1104,7 +1115,15 @@ class Camera1 extends CameraViewImpl implements MediaRecorder.OnInfoListener,
public void run() {
if (mCamera != null) {
mCamera.cancelAutoFocus();
Camera.Parameters parameters = mCamera.getParameters();
Camera.Parameters parameters = null;
try{
parameters = mCamera.getParameters();
}
catch(Exception e){
Log.e("CAMERA_1::", "resetFocus.getParameters failed", e);
parameters = null;
}
if (parameters == null) return;
if (parameters.getFocusMode() != Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {