summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/util/CameraUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/util/CameraUtil.java')
-rw-r--r--src/com/android/camera/util/CameraUtil.java28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 214e71601..61cced296 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -383,18 +383,22 @@ public class CameraUtil {
android.hardware.camera2.CameraManager manager = (android.hardware.camera2.CameraManager)context.getSystemService(Context.CAMERA_SERVICE);
try {
- CameraCharacteristics characteristics = manager.getCameraCharacteristics(manager.getCameraIdList()[0]);
- int deviceLevel = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
-
- switch (deviceLevel) {
- case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
- return true;
- case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
- return true;
- case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3:
- return true;
- default:
- return false;
+ String[] cameraIds = manager.getCameraIdList();
+
+ if (cameraIds != null && cameraIds.length > 0) {
+ CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraIds[0]);
+ int deviceLevel = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+
+ switch (deviceLevel) {
+ case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
+ return true;
+ case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
+ return true;
+ case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3:
+ return true;
+ default:
+ return false;
+ }
}
} catch(CameraAccessException | NumberFormatException e) {
Log.e(TAG, "exception trying to get camera characteristics");