Merge "add 2 new test plans for lab testing" into klp-dev
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
index 1a07a39..1b892ba 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
@@ -63,14 +63,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.aeAvailableAntibandingModes",
-                    props.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.aeAvailableAntibandingModes",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES));
+            {
+
+                assertNotNull("Invalid property: android.control.aeAvailableAntibandingModes",
+                        props.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.aeAvailableAntibandingModes", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES));
+
+            }
+
         }
     }
 
@@ -80,14 +86,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.aeAvailableTargetFpsRanges",
-                    props.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.aeAvailableTargetFpsRanges",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES));
+            {
+
+                assertNotNull("Invalid property: android.control.aeAvailableTargetFpsRanges",
+                        props.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.aeAvailableTargetFpsRanges", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES));
+
+            }
+
         }
     }
 
@@ -97,14 +109,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.aeCompensationRange",
-                    props.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.aeCompensationRange",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE));
+            {
+
+                assertNotNull("Invalid property: android.control.aeCompensationRange",
+                        props.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.aeCompensationRange", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE));
+
+            }
+
         }
     }
 
@@ -114,14 +132,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.aeCompensationStep",
-                    props.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.aeCompensationStep",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP));
+            {
+
+                assertNotNull("Invalid property: android.control.aeCompensationStep",
+                        props.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.aeCompensationStep", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP));
+
+            }
+
         }
     }
 
@@ -131,14 +155,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.afAvailableModes",
-                    props.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.afAvailableModes",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES));
+            {
+
+                assertNotNull("Invalid property: android.control.afAvailableModes",
+                        props.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.afAvailableModes", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES));
+
+            }
+
         }
     }
 
@@ -148,14 +178,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.availableEffects",
-                    props.get(CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.availableEffects",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS));
+            {
+
+                assertNotNull("Invalid property: android.control.availableEffects",
+                        props.get(CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.availableEffects", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS));
+
+            }
+
         }
     }
 
@@ -165,14 +201,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.availableSceneModes",
-                    props.get(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.availableSceneModes",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES));
+            {
+
+                assertNotNull("Invalid property: android.control.availableSceneModes",
+                        props.get(CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.availableSceneModes", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES));
+
+            }
+
         }
     }
 
@@ -182,14 +224,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.availableVideoStabilizationModes",
-                    props.get(CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.availableVideoStabilizationModes",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES));
+            {
+
+                assertNotNull("Invalid property: android.control.availableVideoStabilizationModes",
+                        props.get(CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.availableVideoStabilizationModes", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES));
+
+            }
+
         }
     }
 
@@ -199,14 +247,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.awbAvailableModes",
-                    props.get(CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.awbAvailableModes",
-                    allKeys.contains(CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES));
+            {
+
+                assertNotNull("Invalid property: android.control.awbAvailableModes",
+                        props.get(CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.awbAvailableModes", allKeys.contains(
+                        CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES));
+
+            }
+
         }
     }
 
@@ -216,14 +270,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.control.maxRegions",
-                    props.get(CameraCharacteristics.CONTROL_MAX_REGIONS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.control.maxRegions",
-                    allKeys.contains(CameraCharacteristics.CONTROL_MAX_REGIONS));
+            {
+
+                assertNotNull("Invalid property: android.control.maxRegions",
+                        props.get(CameraCharacteristics.CONTROL_MAX_REGIONS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.control.maxRegions", allKeys.contains(
+                        CameraCharacteristics.CONTROL_MAX_REGIONS));
+
+            }
+
         }
     }
 
@@ -233,14 +293,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.flash.info.available",
-                    props.get(CameraCharacteristics.FLASH_INFO_AVAILABLE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.flash.info.available",
-                    allKeys.contains(CameraCharacteristics.FLASH_INFO_AVAILABLE));
+            {
+
+                assertNotNull("Invalid property: android.flash.info.available",
+                        props.get(CameraCharacteristics.FLASH_INFO_AVAILABLE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.flash.info.available", allKeys.contains(
+                        CameraCharacteristics.FLASH_INFO_AVAILABLE));
+
+            }
+
         }
     }
 
@@ -250,14 +316,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.jpeg.availableThumbnailSizes",
-                    props.get(CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.jpeg.availableThumbnailSizes",
-                    allKeys.contains(CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES));
+            {
+
+                assertNotNull("Invalid property: android.jpeg.availableThumbnailSizes",
+                        props.get(CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.jpeg.availableThumbnailSizes", allKeys.contains(
+                        CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES));
+
+            }
+
         }
     }
 
@@ -267,14 +339,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.facing",
-                    props.get(CameraCharacteristics.LENS_FACING));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.facing",
-                    allKeys.contains(CameraCharacteristics.LENS_FACING));
+            {
+
+                assertNotNull("Invalid property: android.lens.facing",
+                        props.get(CameraCharacteristics.LENS_FACING));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.facing", allKeys.contains(
+                        CameraCharacteristics.LENS_FACING));
+
+            }
+
         }
     }
 
@@ -284,14 +362,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.availableApertures",
-                    props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_APERTURES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.availableApertures",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_AVAILABLE_APERTURES));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.availableApertures",
+                        props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_APERTURES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.availableApertures", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_AVAILABLE_APERTURES));
+
+            }
+
         }
     }
 
@@ -301,14 +385,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.availableFilterDensities",
-                    props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FILTER_DENSITIES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.availableFilterDensities",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_AVAILABLE_FILTER_DENSITIES));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.availableFilterDensities",
+                        props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FILTER_DENSITIES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.availableFilterDensities", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_AVAILABLE_FILTER_DENSITIES));
+
+            }
+
         }
     }
 
@@ -318,14 +408,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.availableFocalLengths",
-                    props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.availableFocalLengths",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.availableFocalLengths",
+                        props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.availableFocalLengths", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS));
+
+            }
+
         }
     }
 
@@ -335,14 +431,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.availableOpticalStabilization",
-                    props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.availableOpticalStabilization",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.availableOpticalStabilization",
+                        props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.availableOpticalStabilization", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION));
+
+            }
+
         }
     }
 
@@ -352,14 +454,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.hyperfocalDistance",
-                    props.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.hyperfocalDistance",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.hyperfocalDistance",
+                        props.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.hyperfocalDistance", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE));
+
+            }
+
         }
     }
 
@@ -369,14 +477,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.minimumFocusDistance",
-                    props.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.minimumFocusDistance",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.minimumFocusDistance",
+                        props.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.minimumFocusDistance", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE));
+
+            }
+
         }
     }
 
@@ -386,14 +500,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.lens.info.shadingMapSize",
-                    props.get(CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.lens.info.shadingMapSize",
-                    allKeys.contains(CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE));
+            {
+
+                assertNotNull("Invalid property: android.lens.info.shadingMapSize",
+                        props.get(CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.lens.info.shadingMapSize", allKeys.contains(
+                        CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE));
+
+            }
+
         }
     }
 
@@ -403,14 +523,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.request.maxNumOutputStreams",
-                    props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.request.maxNumOutputStreams",
-                    allKeys.contains(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
+            {
+
+                assertNotNull("Invalid property: android.request.maxNumOutputStreams",
+                        props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.request.maxNumOutputStreams", allKeys.contains(
+                        CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
+
+            }
+
         }
     }
 
@@ -420,14 +546,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableFormats",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_FORMATS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableFormats",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_FORMATS));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableFormats",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_FORMATS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableFormats", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_FORMATS));
+
+            }
+
         }
     }
 
@@ -437,14 +569,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableJpegMinDurations",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_JPEG_MIN_DURATIONS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableJpegMinDurations",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_JPEG_MIN_DURATIONS));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableJpegMinDurations",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_JPEG_MIN_DURATIONS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableJpegMinDurations", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_JPEG_MIN_DURATIONS));
+
+            }
+
         }
     }
 
@@ -454,14 +592,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableJpegSizes",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_JPEG_SIZES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableJpegSizes",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_JPEG_SIZES));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableJpegSizes",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_JPEG_SIZES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableJpegSizes", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_JPEG_SIZES));
+
+            }
+
         }
     }
 
@@ -471,14 +615,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableMaxDigitalZoom",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableMaxDigitalZoom",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableMaxDigitalZoom",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableMaxDigitalZoom", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM));
+
+            }
+
         }
     }
 
@@ -488,14 +638,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableProcessedMinDurations",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableProcessedMinDurations",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableProcessedMinDurations",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableProcessedMinDurations", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS));
+
+            }
+
         }
     }
 
@@ -505,14 +661,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.scaler.availableProcessedSizes",
-                    props.get(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_SIZES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.scaler.availableProcessedSizes",
-                    allKeys.contains(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_SIZES));
+            {
+
+                assertNotNull("Invalid property: android.scaler.availableProcessedSizes",
+                        props.get(CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_SIZES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.scaler.availableProcessedSizes", allKeys.contains(
+                        CameraCharacteristics.SCALER_AVAILABLE_PROCESSED_SIZES));
+
+            }
+
         }
     }
 
@@ -522,14 +684,24 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.baseGainFactor",
-                    props.get(CameraCharacteristics.SENSOR_BASE_GAIN_FACTOR));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.baseGainFactor",
-                    allKeys.contains(CameraCharacteristics.SENSOR_BASE_GAIN_FACTOR));
+            Integer hwLevel = props.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+            assertNotNull("No hardware level reported! android.info.supportedHardwareLevel",
+                    hwLevel);
+            if (hwLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL)
+            {
+
+                assertNotNull("Invalid property: android.sensor.baseGainFactor",
+                        props.get(CameraCharacteristics.SENSOR_BASE_GAIN_FACTOR));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.baseGainFactor", allKeys.contains(
+                        CameraCharacteristics.SENSOR_BASE_GAIN_FACTOR));
+
+            }
+
         }
     }
 
@@ -539,14 +711,24 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.maxAnalogSensitivity",
-                    props.get(CameraCharacteristics.SENSOR_MAX_ANALOG_SENSITIVITY));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.maxAnalogSensitivity",
-                    allKeys.contains(CameraCharacteristics.SENSOR_MAX_ANALOG_SENSITIVITY));
+            Integer hwLevel = props.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+            assertNotNull("No hardware level reported! android.info.supportedHardwareLevel",
+                    hwLevel);
+            if (hwLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL)
+            {
+
+                assertNotNull("Invalid property: android.sensor.maxAnalogSensitivity",
+                        props.get(CameraCharacteristics.SENSOR_MAX_ANALOG_SENSITIVITY));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.maxAnalogSensitivity", allKeys.contains(
+                        CameraCharacteristics.SENSOR_MAX_ANALOG_SENSITIVITY));
+
+            }
+
         }
     }
 
@@ -556,14 +738,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.orientation",
-                    props.get(CameraCharacteristics.SENSOR_ORIENTATION));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.orientation",
-                    allKeys.contains(CameraCharacteristics.SENSOR_ORIENTATION));
+            {
+
+                assertNotNull("Invalid property: android.sensor.orientation",
+                        props.get(CameraCharacteristics.SENSOR_ORIENTATION));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.orientation", allKeys.contains(
+                        CameraCharacteristics.SENSOR_ORIENTATION));
+
+            }
+
         }
     }
 
@@ -573,14 +761,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.info.activeArraySize",
-                    props.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.info.activeArraySize",
-                    allKeys.contains(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE));
+            {
+
+                assertNotNull("Invalid property: android.sensor.info.activeArraySize",
+                        props.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.info.activeArraySize", allKeys.contains(
+                        CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE));
+
+            }
+
         }
     }
 
@@ -590,14 +784,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.info.sensitivityRange",
-                    props.get(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.info.sensitivityRange",
-                    allKeys.contains(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE));
+            {
+
+                assertNotNull("Invalid property: android.sensor.info.sensitivityRange",
+                        props.get(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.info.sensitivityRange", allKeys.contains(
+                        CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE));
+
+            }
+
         }
     }
 
@@ -607,14 +807,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.info.exposureTimeRange",
-                    props.get(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.info.exposureTimeRange",
-                    allKeys.contains(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE));
+            {
+
+                assertNotNull("Invalid property: android.sensor.info.exposureTimeRange",
+                        props.get(CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.info.exposureTimeRange", allKeys.contains(
+                        CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE));
+
+            }
+
         }
     }
 
@@ -624,14 +830,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.info.maxFrameDuration",
-                    props.get(CameraCharacteristics.SENSOR_INFO_MAX_FRAME_DURATION));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.info.maxFrameDuration",
-                    allKeys.contains(CameraCharacteristics.SENSOR_INFO_MAX_FRAME_DURATION));
+            {
+
+                assertNotNull("Invalid property: android.sensor.info.maxFrameDuration",
+                        props.get(CameraCharacteristics.SENSOR_INFO_MAX_FRAME_DURATION));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.info.maxFrameDuration", allKeys.contains(
+                        CameraCharacteristics.SENSOR_INFO_MAX_FRAME_DURATION));
+
+            }
+
         }
     }
 
@@ -641,14 +853,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.sensor.info.physicalSize",
-                    props.get(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.sensor.info.physicalSize",
-                    allKeys.contains(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE));
+            {
+
+                assertNotNull("Invalid property: android.sensor.info.physicalSize",
+                        props.get(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.sensor.info.physicalSize", allKeys.contains(
+                        CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE));
+
+            }
+
         }
     }
 
@@ -658,14 +876,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.statistics.info.availableFaceDetectModes",
-                    props.get(CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.statistics.info.availableFaceDetectModes",
-                    allKeys.contains(CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES));
+            {
+
+                assertNotNull("Invalid property: android.statistics.info.availableFaceDetectModes",
+                        props.get(CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.statistics.info.availableFaceDetectModes", allKeys.contains(
+                        CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES));
+
+            }
+
         }
     }
 
@@ -675,14 +899,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.statistics.info.maxFaceCount",
-                    props.get(CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.statistics.info.maxFaceCount",
-                    allKeys.contains(CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT));
+            {
+
+                assertNotNull("Invalid property: android.statistics.info.maxFaceCount",
+                        props.get(CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.statistics.info.maxFaceCount", allKeys.contains(
+                        CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT));
+
+            }
+
         }
     }
 
@@ -692,14 +922,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.tonemap.maxCurvePoints",
-                    props.get(CameraCharacteristics.TONEMAP_MAX_CURVE_POINTS));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.tonemap.maxCurvePoints",
-                    allKeys.contains(CameraCharacteristics.TONEMAP_MAX_CURVE_POINTS));
+            {
+
+                assertNotNull("Invalid property: android.tonemap.maxCurvePoints",
+                        props.get(CameraCharacteristics.TONEMAP_MAX_CURVE_POINTS));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.tonemap.maxCurvePoints", allKeys.contains(
+                        CameraCharacteristics.TONEMAP_MAX_CURVE_POINTS));
+
+            }
+
         }
     }
 
@@ -709,14 +945,20 @@
             CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
             assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
                                         props);
-            assertNotNull("Invalid property: android.info.supportedHardwareLevel",
-                    props.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL));
 
-            List<Key<?>> allKeys = props.getKeys();
-            assertNotNull(String.format("Can't get camera characteristics keys from: ID %s", ids[i],
-                                        props));
-            assertTrue("Key not in keys list: android.info.supportedHardwareLevel",
-                    allKeys.contains(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL));
+            {
+
+                assertNotNull("Invalid property: android.info.supportedHardwareLevel",
+                        props.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL));
+
+                List<Key<?>> allKeys = props.getKeys();
+                assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+                        ids[i], props));
+                assertTrue("Key not in keys list: android.info.supportedHardwareLevel", allKeys.contains(
+                        CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL));
+
+            }
+
         }
     }
 }