Merge "Make Camera support unknown higher hardware support levels." into nyc-dev
am: 3041a64ba7

* commit '3041a64ba76e7dc792b8939363185421ee2962bd':
  Make Camera support unknown higher hardware support levels.

Change-Id: Ie387370b76a181380c965a8ceca63bfae15b3036
diff --git a/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java b/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
index 279ede3..f7a2b7e 100644
--- a/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraCharacteristicsImpl.java
@@ -139,11 +139,11 @@
 
     @Override
     public SupportedHardwareLevel getSupportedHardwareLevel() {
-        Integer supportedHardwareLevel = mCameraCharacteristics.get(CameraCharacteristics
-                .INFO_SUPPORTED_HARDWARE_LEVEL);
+        Integer supportedHardwareLevel = mCameraCharacteristics
+                .get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
         // If this fails, it is a framework bug, per API documentation.
         checkNotNull(supportedHardwareLevel, "INFO_SUPPORTED_HARDWARE_LEVEL not found");
-        switch ((int) supportedHardwareLevel) {
+        switch (supportedHardwareLevel) {
             case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
                 return SupportedHardwareLevel.FULL;
             case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
@@ -151,6 +151,12 @@
             case CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
                 return SupportedHardwareLevel.LEGACY;
             default:
+                if (supportedHardwareLevel >
+                        CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL) {
+                    Log.i(TAG, "Unknown higher hardware level mapped to FULL: "
+                            + supportedHardwareLevel);
+                    return SupportedHardwareLevel.FULL;
+                }
                 throw new IllegalStateException("Invalid value for INFO_SUPPORTED_HARDWARE_LEVEL");
         }
     }