From 3b7da912d573f358fd217f6d9b569cca648efe02 Mon Sep 17 00:00:00 2001 From: Ruben Brunk Date: Wed, 3 Sep 2014 17:09:29 -0700 Subject: ex: Avoid exception if HDR_SCENE_MODE name changes. Bug: 17353543 Change-Id: I31448687a69afc66e93f4360e8a3186ff8ad6235 --- .../com/android/ex/camera2/portability/LegacyVendorTags.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'camera2') diff --git a/camera2/portability/src/com/android/ex/camera2/portability/LegacyVendorTags.java b/camera2/portability/src/com/android/ex/camera2/portability/LegacyVendorTags.java index e55748d..7eb5c33 100644 --- a/camera2/portability/src/com/android/ex/camera2/portability/LegacyVendorTags.java +++ b/camera2/portability/src/com/android/ex/camera2/portability/LegacyVendorTags.java @@ -17,6 +17,7 @@ package com.android.ex.camera2.portability; import android.hardware.camera2.CameraCharacteristics; +import android.util.Log; import java.lang.ExceptionInInitializerError; import java.lang.reflect.Field; @@ -27,19 +28,24 @@ import java.lang.reflect.Method; */ public class LegacyVendorTags { + private static final String TAG = "LegacyVendorTags"; + /** * Hidden enum for scene modes supported only by the Camera1 API. */ public static final int CONTROL_SCENE_MODE_HDR; static { + int tempSceneMode = -1; try { - CONTROL_SCENE_MODE_HDR = + tempSceneMode = Class.forName("android.hardware.camera2.CameraCharacteristics"). getField("CONTROL_SCENE_MODE_HDR").getInt(null); } catch (Exception e) { - throw new ExceptionInInitializerError( - "Error while reflecting on LegacyVendorTags: " + e); + Log.e(TAG, "Error while reflecting on SCENE_MODE_HDR enum, HDR will not be available: " + + e); + } finally { + CONTROL_SCENE_MODE_HDR = tempSceneMode; } } -- cgit v1.2.3