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.cc b/services/camera/virtualcamera/util/MetadataUtil.cc
index 4eeff67..fd43d38 100644
--- a/services/camera/virtualcamera/util/MetadataUtil.cc
+++ b/services/camera/virtualcamera/util/MetadataUtil.cc
@@ -152,6 +152,15 @@
   return *this;
 }
 
+MetadataBuilder& MetadataBuilder::setAvailableStreamUseCases(
+    const std::vector<
+        camera_metadata_enum_android_scaler_available_stream_use_cases>&
+        availableUseCases) {
+  mEntryMap[ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES] =
+      convertTo<int64_t>(availableUseCases);
+  return *this;
+}
+
 MetadataBuilder& MetadataBuilder::setFaceDetectMode(
     const camera_metadata_enum_android_statistics_face_detect_mode_t
         faceDetectMode) {