Camera: Add adb shell cmd to override stream use case

Adding ability to override stream use cases using adb makes testing
3P apps' stream use case behavior easier. 3P apps don't need to make code
change.

Example:

adb shell cmd media.camera set-stream-use-case-override STILL_CAPTURE \
PREVIEW_VIDEO_STILL
adb shell cmd media.camera clear-stream-use-case-override

Test: Run social media app after set-stream-use-case-override
Bug: 262286032
Change-Id: Ibed4fcb7b1983461f060ca8fc452e2ebbf9cfc81
Merged-In: Ibed4fcb7b1983461f060ca8fc452e2ebbf9cfc81
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
index 396104c..ef12b64 100644
--- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
@@ -1392,6 +1392,11 @@
     mFixedFps = fixedFps;
 }
 
+void Camera3OutputStream::setStreamUseCase(int64_t streamUseCase) {
+    Mutex::Autolock l(mLock);
+    camera_stream::use_case = streamUseCase;
+}
+
 void Camera3OutputStream::returnPrefetchedBuffersLocked() {
     std::vector<Surface::BatchBuffer> batchedBuffers;