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
diff --git a/services/camera/libcameraservice/device3/Camera3Device.h b/services/camera/libcameraservice/device3/Camera3Device.h
index 990f556..8752312 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.h
+++ b/services/camera/libcameraservice/device3/Camera3Device.h
@@ -303,6 +303,13 @@
*/
status_t setCameraServiceWatchdog(bool enabled);
+ // Set stream use case overrides
+ void setStreamUseCaseOverrides(
+ const std::vector<int64_t>& useCaseOverrides);
+
+ // Clear stream use case overrides
+ void clearStreamUseCaseOverrides();
+
// Get the status trackeer for the camera device
wp<camera3::StatusTracker> getStatusTracker() { return mStatusTracker; }
@@ -1494,6 +1501,8 @@
sp<Camera3DeviceInjectionMethods> mInjectionMethods;
+ void overrideStreamUseCaseLocked();
+
}; // class Camera3Device
}; // namespace android