Camera2: Enable some key checks

Enable some key checks as bug 14059883 was fixed.

Bug: 15315521
Change-Id: Icf177cb26ec9b111c60be4061d1f543c5ca64cc9
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
index aa548ed..9a28953 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
@@ -707,7 +707,8 @@
 
         // Default preview result should give valid color correction metadata.
         result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
-        validateColorCorrectionResult(result);
+        validateColorCorrectionResult(result,
+                previewRequestBuilder.get(CaptureRequest.COLOR_CORRECTION_MODE));
 
         // TRANSFORM_MATRIX mode
         // Only test unit gain and identity transform
@@ -720,9 +721,9 @@
                 ZERO_R, ZERO_R, ONE_R
             });
 
+        int colorCorrectionMode = CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX;
         manualRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_OFF);
-        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
-                CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);
+        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, colorCorrectionMode);
         manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_GAINS, UNIT_GAIN);
         manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_TRANSFORM, IDENTITY_TRANSFORM);
         request = manualRequestBuilder.build();
@@ -730,32 +731,38 @@
         result = listener.getCaptureResultForRequest(request, NUM_RESULTS_WAIT_TIMEOUT);
         RggbChannelVector gains = result.get(CaptureResult.COLOR_CORRECTION_GAINS);
         ColorSpaceTransform transform = result.get(CaptureResult.COLOR_CORRECTION_TRANSFORM);
-        validateColorCorrectionResult(result);
+        validateColorCorrectionResult(result, colorCorrectionMode);
+        mCollector.expectEquals("control mode result/request mismatch",
+                CaptureResult.CONTROL_MODE_OFF, result.get(CaptureResult.CONTROL_MODE));
         mCollector.expectEquals("Color correction gain result/request mismatch",
                 UNIT_GAIN, gains);
         mCollector.expectEquals("Color correction gain result/request mismatch",
                 IDENTITY_TRANSFORM, transform);
 
         // FAST mode
+        colorCorrectionMode = CaptureRequest.COLOR_CORRECTION_MODE_FAST;
         manualRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
-        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
-                CaptureRequest.COLOR_CORRECTION_MODE_FAST);
+        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, colorCorrectionMode);
         request = manualRequestBuilder.build();
         mCamera.capture(request, listener, mHandler);
         result = listener.getCaptureResultForRequest(request, NUM_RESULTS_WAIT_TIMEOUT);
-        validateColorCorrectionResult(result);
+        validateColorCorrectionResult(result, colorCorrectionMode);
+        mCollector.expectEquals("control mode result/request mismatch",
+                CaptureResult.CONTROL_MODE_AUTO, result.get(CaptureResult.CONTROL_MODE));
 
         // HIGH_QUALITY mode
+        colorCorrectionMode = CaptureRequest.COLOR_CORRECTION_MODE_HIGH_QUALITY;
         manualRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
-        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
-                CaptureRequest.COLOR_CORRECTION_MODE_FAST);
+        manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, colorCorrectionMode);
         request = manualRequestBuilder.build();
         mCamera.capture(request, listener, mHandler);
         result = listener.getCaptureResultForRequest(request, NUM_RESULTS_WAIT_TIMEOUT);
-        validateColorCorrectionResult(result);
+        validateColorCorrectionResult(result, colorCorrectionMode);
+        mCollector.expectEquals("control mode result/request mismatch",
+                CaptureResult.CONTROL_MODE_AUTO, result.get(CaptureResult.CONTROL_MODE));
     }
 
-    private void validateColorCorrectionResult(CaptureResult result) {
+    private void validateColorCorrectionResult(CaptureResult result, int colorCorrectionMode) {
         final RggbChannelVector ZERO_GAINS = new RggbChannelVector(0, 0, 0, 0);
         final int TRANSFORM_SIZE = 9;
         Rational[] zeroTransform = new Rational[TRANSFORM_SIZE];
@@ -775,6 +782,9 @@
             mCollector.expectKeyValueNotEquals(result,
                     CaptureResult.COLOR_CORRECTION_TRANSFORM, ZERO_TRANSFORM);
         }
+
+        mCollector.expectEquals("color correction mode result/request mismatch",
+                colorCorrectionMode, result.get(CaptureResult.COLOR_CORRECTION_MODE));
     }
 
     /**
@@ -1420,7 +1430,8 @@
 
         for (int i = 0; i < numFramesVerified; i++) {
             result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
-            validateColorCorrectionResult(result);
+            // Color correction mode check is skipped here, as it is checked in colorCorrectionTest.
+            validateColorCorrectionResult(result, result.get(CaptureResult.COLOR_CORRECTION_MODE));
 
             RggbChannelVector gains = getValueNotNull(result, CaptureResult.COLOR_CORRECTION_GAINS);
             ColorSpaceTransform transform =
@@ -1487,11 +1498,8 @@
             listener = new SimpleCaptureListener();
             requestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, mode);
             mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
-            // TODO: enable below code when b/14059883 is fixed.
-            /*
             verifyCaptureResultForKey(CaptureResult.CONTROL_VIDEO_STABILIZATION_MODE, (int)mode,
                     listener, NUM_FRAMES_VERIFIED);
-            */
         }
 
         for (int mode : opticalStabModes) {
@@ -1582,11 +1590,8 @@
             requestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, mode);
             listener = new SimpleCaptureListener();
             mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
-            // Enable below check  when b/14059883 is fixed.
-            /*
             verifyCaptureResultForKey(CaptureResult.CONTROL_SCENE_MODE,
-                    CaptureRequest.CONTROL_SCENE_MODE, listener, NUM_FRAMES_VERIFIED);
-            */
+                    mode, listener, NUM_FRAMES_VERIFIED);
             // This also serves as purpose of showing preview for NUM_FRAMES_VERIFIED
             verifyCaptureResultForKey(CaptureResult.CONTROL_MODE,
                     CaptureRequest.CONTROL_MODE_USE_SCENE_MODE, listener, NUM_FRAMES_VERIFIED);
@@ -1606,11 +1611,8 @@
             requestBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, mode);
             listener = new SimpleCaptureListener();
             mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
-            // Enable below check  when b/14059883 is fixed.
-            /*
-            verifyCaptureResultForKey(CaptureResult.CONTROL_SCENE_MODE,
-                    CaptureRequest.CONTROL_SCENE_MODE, listener, NUM_FRAMES_VERIFIED);
-            */
+            verifyCaptureResultForKey(CaptureResult.CONTROL_EFFECT_MODE,
+                    mode, listener, NUM_FRAMES_VERIFIED);
             // This also serves as purpose of showing preview for NUM_FRAMES_VERIFIED
             verifyCaptureResultForKey(CaptureResult.CONTROL_MODE,
                     CaptureRequest.CONTROL_MODE_AUTO, listener, NUM_FRAMES_VERIFIED);