Camera: Add user tag to camera action event
The user tag set by CaptureRequest.setTag() is passed to cameraservice.
The cameraservice saves the latest tag's string description into the
camera action event's session data.
Test: ./out/host/linux-x86/bin/statsd_testdrive 227
Bug: 223671217
Change-Id: I604d8b3bd3895c330de5b02498c7eb3ed8e05ed8
diff --git a/services/camera/libcameraservice/common/Camera2ClientBase.cpp b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
index 6ed3c02..0ac047a 100644
--- a/services/camera/libcameraservice/common/Camera2ClientBase.cpp
+++ b/services/camera/libcameraservice/common/Camera2ClientBase.cpp
@@ -332,9 +332,10 @@
}
template <typename TClientBase>
-void Camera2ClientBase<TClientBase>::notifyIdle(
+void Camera2ClientBase<TClientBase>::notifyIdleWithUserTag(
int64_t requestCount, int64_t resultErrorCount, bool deviceError,
- const std::vector<hardware::CameraStreamStats>& streamStats) {
+ const std::vector<hardware::CameraStreamStats>& streamStats,
+ const std::string& userTag) {
if (mDeviceActive) {
status_t res = TClientBase::finishCameraStreamingOps();
if (res != OK) {
@@ -342,7 +343,7 @@
TClientBase::mCameraIdStr.string(), res);
}
CameraServiceProxyWrapper::logIdle(TClientBase::mCameraIdStr,
- requestCount, resultErrorCount, deviceError, streamStats);
+ requestCount, resultErrorCount, deviceError, userTag, streamStats);
}
mDeviceActive = false;
diff --git a/services/camera/libcameraservice/common/Camera2ClientBase.h b/services/camera/libcameraservice/common/Camera2ClientBase.h
index 6b90f5e..9cba2f1 100644
--- a/services/camera/libcameraservice/common/Camera2ClientBase.h
+++ b/services/camera/libcameraservice/common/Camera2ClientBase.h
@@ -75,9 +75,9 @@
const CaptureResultExtras& resultExtras);
// Returns errors on app ops permission failures
virtual status_t notifyActive(float maxPreviewFps);
- virtual void notifyIdle(int64_t requestCount, int64_t resultErrorCount,
- bool deviceError,
- const std::vector<hardware::CameraStreamStats>& streamStats);
+ virtual void notifyIdle(int64_t /*requestCount*/, int64_t /*resultErrorCount*/,
+ bool /*deviceError*/,
+ const std::vector<hardware::CameraStreamStats>&) {}
virtual void notifyShutter(const CaptureResultExtras& resultExtras,
nsecs_t timestamp);
virtual void notifyAutoFocus(uint8_t newState, int triggerId);
@@ -88,6 +88,11 @@
virtual void notifyRequestQueueEmpty();
virtual void notifyRepeatingRequestError(long lastFrameNumber);
+ void notifyIdleWithUserTag(int64_t requestCount, int64_t resultErrorCount,
+ bool deviceError,
+ const std::vector<hardware::CameraStreamStats>& streamStats,
+ const std::string& userTag);
+
int getCameraId() const;
const sp<CameraDeviceBase>&
getCameraDevice();