From 47131ce195b984023e6bab0f2d4f8d65b0d798b4 Mon Sep 17 00:00:00 2001 From: dkati Date: Wed, 27 Jun 2018 23:58:31 +0300 Subject: CameraSettings: Do not crash if zoom ratios are not exposed * On some devices, wrappers do not expose the zoom ratios, so the list of zoomRatios is empty. So the .add() method cant run from a null class. If zoom rations are not exposed, simply return an empty list and the camera will take the default HAL's zoom ratios -This fixes front camera photo shoot on jfltexx Change-Id: Ic64e41a8c5a2d51966ec95d4b020e5d3951eac0e --- src/com/android/camera/CameraSettings.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 2653e4455..0e27d2eb4 100755 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -811,10 +811,11 @@ public class CameraSettings { ArrayList supported = new ArrayList(); int zoomMaxIdx = params.getMaxZoom(); List zoomRatios = params.getZoomRatios(); - int zoomMax = zoomRatios.get(zoomMaxIdx)/100; - - for (int zoomLevel = 0; zoomLevel <= zoomMax; zoomLevel++) { - supported.add(String.valueOf(zoomLevel)); + if (zoomRatios != null ) { + int zoomMax = zoomRatios.get(zoomMaxIdx)/100; + for (int zoomLevel = 0; zoomLevel <= zoomMax; zoomLevel++) { + supported.add(String.valueOf(zoomLevel)); + } } return supported; } -- cgit v1.2.3