Skip to content
This repository was archived by the owner on Jun 16, 2023. It is now read-only.

Commit be8a08c

Browse files
cristianoccazinspsibelius
authored andcommitted
fix(android): fix possible crash when attempting to retrieve camera parameters. (#2570)
1 parent fabacb4 commit be8a08c

File tree

1 file changed

+21
-2
lines changed
  • android/src/main/java/com/google/android/cameraview

1 file changed

+21
-2
lines changed

android/src/main/java/com/google/android/cameraview/Camera1.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,18 @@ void setFocusArea(final float x, final float y) {
10111011
public void run() {
10121012
synchronized(Camera1.this){
10131013
if (mCamera != null) {
1014-
Camera.Parameters parameters = mCamera.getParameters();
1014+
Camera.Parameters parameters = null;
1015+
1016+
// This might crash on some devices if the camera is not
1017+
// available/locked, with a RuntimeException("getParameters failed (empty parameters)")
1018+
try{
1019+
parameters = mCamera.getParameters();
1020+
}
1021+
catch(Exception e){
1022+
Log.e("CAMERA_1::", "setFocusArea.getParameters failed", e);
1023+
parameters = null;
1024+
}
1025+
10151026
if (parameters == null) return;
10161027

10171028
String focusMode = parameters.getFocusMode();
@@ -1104,7 +1115,15 @@ private void resetFocus(final boolean success, final Camera camera) {
11041115
public void run() {
11051116
if (mCamera != null) {
11061117
mCamera.cancelAutoFocus();
1107-
Camera.Parameters parameters = mCamera.getParameters();
1118+
1119+
Camera.Parameters parameters = null;
1120+
try{
1121+
parameters = mCamera.getParameters();
1122+
}
1123+
catch(Exception e){
1124+
Log.e("CAMERA_1::", "resetFocus.getParameters failed", e);
1125+
parameters = null;
1126+
}
11081127
if (parameters == null) return;
11091128

11101129
if (parameters.getFocusMode() != Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {

0 commit comments

Comments
 (0)