Camera: Add stream use case API

- Add availableStreamUseCase static metadata tag
- Add STREAM_USE_CASE camera capability
- Add useCase flag in camera stream interface

Test: atest VtsHalCameraProviderV2_4TargetTest
Bug: 200307880
Change-Id: I4e473edcb52a97fa0e1b27cf94603cf9f9984f82
diff --git a/camera/device/3.8/ICameraDeviceSession.hal b/camera/device/3.8/ICameraDeviceSession.hal
index 88e4338..c3aa836 100644
--- a/camera/device/3.8/ICameraDeviceSession.hal
+++ b/camera/device/3.8/ICameraDeviceSession.hal
@@ -35,6 +35,8 @@
      *
      * - The requestedConfiguration allows the camera framework to configure
      *   10-bit dynamic range profile.
+     * - The requestedConfiguration allows the camera framework to configure
+     *   stream use cases.
      *
      * @return status Status code for the operation, one of:
      *     OK:
@@ -61,6 +63,7 @@
      *             input stream.
      *           - Invalid combination between a 10-bit dynamic range profile
      *             and none impl. defined 8-bit format for a particular stream.
+     *           - Unsupported stream use case
      *         The camera service cannot filter out all possible illegal stream
      *         configurations, since some devices may support more simultaneous
      *         streams or larger stream resolutions than the minimum required