diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index a1cb8eea3a..fc6d6be3e6 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -1638,6 +1638,11 @@ Status CameraService::setTorchMode(const String16& cameraId, bool enabled, } } + int clientPid = CameraThreadState::getCallingPid(); + const char *id_cstr = id.c_str(); + const char *torchState = enabled ? "on" : "off"; + ALOGI("Torch for camera id %s turned %s for client PID %d", id_cstr, torchState, clientPid); + logTorchEvent(id_cstr, torchState , clientPid); return Status::ok(); } @@ -2122,6 +2127,12 @@ void CameraService::logRejected(const char* cameraId, int clientPid, cameraId, clientPackage, clientPid, reason)); } +void CameraService::logTorchEvent(const char* cameraId, const char *torchState, int clientPid) { + // Log torch event + logEvent(String8::format("Torch for camera id %s turned %s for client PID %d", cameraId, + torchState, clientPid)); +} + void CameraService::logUserSwitch(const std::set& oldUserIds, const std::set& newUserIds) { String8 newUsers = toString(newUserIds); diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h index a8c2606553..b8cec2c82b 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h @@ -747,6 +747,11 @@ private: void logRejected(const char* cameraId, int clientPid, const char* clientPackage, const char* reason); + /** + * Add an event log message when a client calls setTorchMode succesfully. + */ + void logTorchEvent(const char* cameraId, const char *torchState, int clientPid); + /** * Add an event log message that the current device user has been switched. */