Add required use cases keys

All camera must support and declare the following use cases:
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT,
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW,
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE,
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD,
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL,
 ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL

This is enforce in VTS hardware/interfaces/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp

Test: atest android.virtualdevice.cts.camera.VirtualCameraTest#virtualCamera_supports_mandatory_capture_use_cases
Fixes: 333527797
Change-Id: I15f13cb45f9e3d8c092676e0948f13dc9f88770d
diff --git a/services/camera/virtualcamera/util/MetadataUtil.h b/services/camera/virtualcamera/util/MetadataUtil.h
index 4d2500b..b6c672c 100644
--- a/services/camera/virtualcamera/util/MetadataUtil.h
+++ b/services/camera/virtualcamera/util/MetadataUtil.h
@@ -129,6 +129,11 @@
       const std::vector<camera_metadata_enum_android_sensor_test_pattern_mode>&
           testPatternModes);
 
+  // See ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES in CameraCharacteristics.java
+  MetadataBuilder& setAvailableStreamUseCases(
+      const std::vector<
+          camera_metadata_enum_android_scaler_available_stream_use_cases>& availableUseCases);
+
   // See ANDROID_STATISTICS_FACE_DETECT_MODE in CaptureRequest.java.
   MetadataBuilder& setFaceDetectMode(
       camera_metadata_enum_android_statistics_face_detect_mode_t faceDetectMode);