Camera: update post RAW sensitivity expectation

Bug: 27950762
Change-Id: I1349189797b6a8a3afc1fffdd76817dd2733c561
diff --git a/tests/camera/src/android/hardware/camera2/cts/CameraDeviceTest.java b/tests/camera/src/android/hardware/camera2/cts/CameraDeviceTest.java
index b8366d8..6861989 100644
--- a/tests/camera/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/camera/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -74,6 +74,7 @@
     private static final int REPEATING_CAPTURE_EXPECTED_RESULT_COUNT = 5;
     private static final int MAX_NUM_IMAGES = 5;
     private static final int MIN_FPS_REQUIRED_FOR_STREAMING = 20;
+    private static final int DEFAULT_POST_RAW_SENSITIVITY_BOOST = 100;
 
     private CameraCaptureSession mSession;
 
@@ -1745,6 +1746,22 @@
             }
         }
 
+        int[] outputFormats = mStaticInfo.getAvailableFormats(
+                StaticMetadata.StreamDirection.Output);
+        boolean supportRaw = false;
+        for (int format : outputFormats) {
+            if (format == ImageFormat.RAW_SENSOR || format == ImageFormat.RAW10 ||
+                    format == ImageFormat.RAW12 || format == ImageFormat.RAW_PRIVATE) {
+                supportRaw = true;
+                break;
+            }
+        }
+        if (supportRaw) {
+            mCollector.expectKeyValueEquals(request,
+                    CONTROL_POST_RAW_SENSITIVITY_BOOST,
+                    DEFAULT_POST_RAW_SENSITIVITY_BOOST);
+        }
+
         mCollector.expectKeyValueEquals(request, CONTROL_CAPTURE_INTENT, template);
 
         // TODO: use the list of keys from CameraCharacteristics to avoid expecting
diff --git a/tests/camera/src/android/hardware/camera2/cts/CaptureResultTest.java b/tests/camera/src/android/hardware/camera2/cts/CaptureResultTest.java
index 89e3891..802c500 100644
--- a/tests/camera/src/android/hardware/camera2/cts/CaptureResultTest.java
+++ b/tests/camera/src/android/hardware/camera2/cts/CaptureResultTest.java
@@ -29,6 +29,7 @@
 import android.os.SystemClock;
 import android.util.Pair;
 import android.util.Size;
+import android.hardware.camera2.cts.helpers.StaticMetadata;
 import android.hardware.camera2.cts.testcases.Camera2AndroidTestCase;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
@@ -463,9 +464,6 @@
         waiverKeys.add(CaptureResult.JPEG_QUALITY);
         waiverKeys.add(CaptureResult.JPEG_THUMBNAIL_QUALITY);
         waiverKeys.add(CaptureResult.JPEG_THUMBNAIL_SIZE);
-        // Waived until framework implemented deriving logic for this key
-        // b/26625646
-        waiverKeys.add(CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST);
 
         // Keys only present when corresponding control is on are being
         // verified in its own functional test
@@ -502,6 +500,21 @@
             waiverKeys.add(CaptureResult.LENS_RADIAL_DISTORTION);
         }
 
+        // Waived if RAW output is not supported
+        int[] outputFormats = mStaticInfo.getAvailableFormats(
+                StaticMetadata.StreamDirection.Output);
+        boolean supportRaw = false;
+        for (int format : outputFormats) {
+            if (format == ImageFormat.RAW_SENSOR || format == ImageFormat.RAW10 ||
+                    format == ImageFormat.RAW12 || format == ImageFormat.RAW_PRIVATE) {
+                supportRaw = true;
+                break;
+            }
+        }
+        if (!supportRaw) {
+            waiverKeys.add(CaptureResult.CONTROL_POST_RAW_SENSITIVITY_BOOST);
+        }
+
         if (mStaticInfo.getAeMaxRegionsChecked() == 0) {
             waiverKeys.add(CaptureResult.CONTROL_AE_REGIONS);
         }