Loading services/camera/libcameraservice/CameraService.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ #include "api1/Camera2Client.h" #include "api2/CameraDeviceClient.h" #include "utils/CameraTraces.h" #include "utils/TagMonitor.h" namespace { const char* kPermissionServiceName = "permission"; Loading Loading @@ -1364,7 +1365,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8& LOG_ALWAYS_FATAL_IF(client.get() == nullptr, "%s: CameraService in invalid state", __FUNCTION__); err = client->initialize(mCameraProviderManager); err = client->initialize(mCameraProviderManager, mMonitorTags); if (err != OK) { ALOGE("%s: Could not initialize client from HAL.", __FUNCTION__); // Errors could be from the HAL module open call or from AppOpsManager Loading Loading @@ -2640,6 +2641,16 @@ status_t CameraService::dump(int fd, const Vector<String16>& args) { dprintf(fd, "CameraStates in use, may be deadlocked\n"); } int argSize = args.size(); for (int i = 0; i < argSize; i++) { if (args[i] == TagMonitor::kMonitorOption) { if (i + 1 < argSize) { mMonitorTags = String8(args[i + 1]); } break; } } for (auto& state : mCameraStates) { String8 cameraId = state.first; Loading services/camera/libcameraservice/CameraService.h +5 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,8 @@ public: class BasicClient : public virtual RefBase { public: virtual status_t initialize(sp<CameraProviderManager> manager) = 0; virtual status_t initialize(sp<CameraProviderManager> manager, const String8& monitorTags) = 0; virtual binder::Status disconnect(); // because we can't virtually inherit IInterface, which breaks Loading Loading @@ -606,6 +607,9 @@ private: RingBuffer<String8> mEventLog; Mutex mLogLock; // The last monitored tags set by client String8 mMonitorTags; // Currently allowed user IDs std::set<userid_t> mAllowedUsers; Loading services/camera/libcameraservice/api1/Camera2Client.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -69,8 +69,8 @@ Camera2Client::Camera2Client(const sp<CameraService>& cameraService, mLegacyMode = legacyMode; } status_t Camera2Client::initialize(sp<CameraProviderManager> manager) { return initializeImpl(manager); status_t Camera2Client::initialize(sp<CameraProviderManager> manager, const String8& monitorTags) { return initializeImpl(manager, monitorTags); } bool Camera2Client::isZslEnabledInStillTemplate() { Loading @@ -88,13 +88,13 @@ bool Camera2Client::isZslEnabledInStillTemplate() { } template<typename TProviderPtr> status_t Camera2Client::initializeImpl(TProviderPtr providerPtr) status_t Camera2Client::initializeImpl(TProviderPtr providerPtr, const String8& monitorTags) { ATRACE_CALL(); ALOGV("%s: Initializing client for camera %d", __FUNCTION__, mCameraId); status_t res; res = Camera2ClientBase::initialize(providerPtr); res = Camera2ClientBase::initialize(providerPtr, monitorTags); if (res != OK) { return res; } Loading services/camera/libcameraservice/api1/Camera2Client.h +3 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,8 @@ public: virtual ~Camera2Client(); virtual status_t initialize(sp<CameraProviderManager> manager) override; virtual status_t initialize(sp<CameraProviderManager> manager, const String8& monitorTags) override; virtual status_t dump(int fd, const Vector<String16>& args); Loading Loading @@ -224,7 +225,7 @@ private: status_t overrideVideoSnapshotSize(Parameters ¶ms); template<typename TProviderPtr> status_t initializeImpl(TProviderPtr providerPtr); status_t initializeImpl(TProviderPtr providerPtr, const String8& monitorTags); bool isZslEnabledInStillTemplate(); }; Loading services/camera/libcameraservice/api1/CameraClient.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ CameraClient::CameraClient(const sp<CameraService>& cameraService, LOG1("CameraClient::CameraClient X (pid %d, id %d)", callingPid, cameraId); } status_t CameraClient::initialize(sp<CameraProviderManager> manager) { status_t CameraClient::initialize(sp<CameraProviderManager> manager, const String8& /*monitorTags*/) { int callingPid = getCallingPid(); status_t res; Loading Loading
services/camera/libcameraservice/CameraService.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ #include "api1/Camera2Client.h" #include "api2/CameraDeviceClient.h" #include "utils/CameraTraces.h" #include "utils/TagMonitor.h" namespace { const char* kPermissionServiceName = "permission"; Loading Loading @@ -1364,7 +1365,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8& LOG_ALWAYS_FATAL_IF(client.get() == nullptr, "%s: CameraService in invalid state", __FUNCTION__); err = client->initialize(mCameraProviderManager); err = client->initialize(mCameraProviderManager, mMonitorTags); if (err != OK) { ALOGE("%s: Could not initialize client from HAL.", __FUNCTION__); // Errors could be from the HAL module open call or from AppOpsManager Loading Loading @@ -2640,6 +2641,16 @@ status_t CameraService::dump(int fd, const Vector<String16>& args) { dprintf(fd, "CameraStates in use, may be deadlocked\n"); } int argSize = args.size(); for (int i = 0; i < argSize; i++) { if (args[i] == TagMonitor::kMonitorOption) { if (i + 1 < argSize) { mMonitorTags = String8(args[i + 1]); } break; } } for (auto& state : mCameraStates) { String8 cameraId = state.first; Loading
services/camera/libcameraservice/CameraService.h +5 −1 Original line number Diff line number Diff line Loading @@ -204,7 +204,8 @@ public: class BasicClient : public virtual RefBase { public: virtual status_t initialize(sp<CameraProviderManager> manager) = 0; virtual status_t initialize(sp<CameraProviderManager> manager, const String8& monitorTags) = 0; virtual binder::Status disconnect(); // because we can't virtually inherit IInterface, which breaks Loading Loading @@ -606,6 +607,9 @@ private: RingBuffer<String8> mEventLog; Mutex mLogLock; // The last monitored tags set by client String8 mMonitorTags; // Currently allowed user IDs std::set<userid_t> mAllowedUsers; Loading
services/camera/libcameraservice/api1/Camera2Client.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -69,8 +69,8 @@ Camera2Client::Camera2Client(const sp<CameraService>& cameraService, mLegacyMode = legacyMode; } status_t Camera2Client::initialize(sp<CameraProviderManager> manager) { return initializeImpl(manager); status_t Camera2Client::initialize(sp<CameraProviderManager> manager, const String8& monitorTags) { return initializeImpl(manager, monitorTags); } bool Camera2Client::isZslEnabledInStillTemplate() { Loading @@ -88,13 +88,13 @@ bool Camera2Client::isZslEnabledInStillTemplate() { } template<typename TProviderPtr> status_t Camera2Client::initializeImpl(TProviderPtr providerPtr) status_t Camera2Client::initializeImpl(TProviderPtr providerPtr, const String8& monitorTags) { ATRACE_CALL(); ALOGV("%s: Initializing client for camera %d", __FUNCTION__, mCameraId); status_t res; res = Camera2ClientBase::initialize(providerPtr); res = Camera2ClientBase::initialize(providerPtr, monitorTags); if (res != OK) { return res; } Loading
services/camera/libcameraservice/api1/Camera2Client.h +3 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,8 @@ public: virtual ~Camera2Client(); virtual status_t initialize(sp<CameraProviderManager> manager) override; virtual status_t initialize(sp<CameraProviderManager> manager, const String8& monitorTags) override; virtual status_t dump(int fd, const Vector<String16>& args); Loading Loading @@ -224,7 +225,7 @@ private: status_t overrideVideoSnapshotSize(Parameters ¶ms); template<typename TProviderPtr> status_t initializeImpl(TProviderPtr providerPtr); status_t initializeImpl(TProviderPtr providerPtr, const String8& monitorTags); bool isZslEnabledInStillTemplate(); }; Loading
services/camera/libcameraservice/api1/CameraClient.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ CameraClient::CameraClient(const sp<CameraService>& cameraService, LOG1("CameraClient::CameraClient X (pid %d, id %d)", callingPid, cameraId); } status_t CameraClient::initialize(sp<CameraProviderManager> manager) { status_t CameraClient::initialize(sp<CameraProviderManager> manager, const String8& /*monitorTags*/) { int callingPid = getCallingPid(); status_t res; Loading