Loading services/camera/libcameraservice/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ cc_library_shared { ], shared_libs: [ "libactivitymanager_aidl", "libbase", "libdl", "libexif", Loading services/camera/libcameraservice/CameraService.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,8 @@ #include <private/android_filesystem_config.h> #include <system/camera_vendor_tags.h> #include <system/camera_metadata.h> #include <binder/IServiceManager.h> #include <binder/IActivityManager.h> #include <system/camera.h> Loading Loading @@ -137,6 +139,8 @@ static const String16 sCameraOpenCloseListenerPermission( "android.permission.CAMERA_OPEN_CLOSE_LISTENER"); static const String16 sCameraInjectExternalCameraPermission("android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"); // Constant integer for FGS Logging, used to denote the API type for logger static const int LOG_FGS_CAMERA_API = 1; const char *sFileName = "lastOpenSessionDumpFile"; static constexpr int32_t kSystemNativeClientScore = resource_policy::PERCEPTIBLE_APP_ADJ; static constexpr int32_t kSystemNativeClientState = Loading Loading @@ -1702,6 +1706,15 @@ Status CameraService::connect( } *device = client; const sp<IServiceManager> sm(defaultServiceManager()); const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiBegin(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return ret; } Loading Loading @@ -1847,6 +1860,13 @@ Status CameraService::connectDevice( ALOGE("%s: Error while creating the file: %s", __FUNCTION__, sFileName); } } const sp<IServiceManager> sm(defaultServiceManager()); const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiBegin(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return ret; } Loading Loading @@ -3511,6 +3531,13 @@ binder::Status CameraService::BasicClient::disconnect() { // client shouldn't be able to call into us anymore mClientPid = 0; const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiEnd(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return res; } Loading services/camera/libcameraservice/CameraService.h +16 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ #include <binder/ActivityManager.h> #include <binder/AppOpsManager.h> #include <binder/BinderService.h> #include <binder/IServiceManager.h> #include <binder/IActivityManager.h> #include <binder/IAppOpsCallback.h> #include <binder/IUidObserver.h> #include <hardware/camera.h> Loading Loading @@ -596,6 +598,20 @@ public: private: // TODO: b/263304156 update this to make use of a death callback for more // robust/fault tolerant logging static const sp<IActivityManager>& getActivityManager() { static const char* kActivityService = "activity"; static const auto activityManager = []() -> sp<IActivityManager> { const sp<IServiceManager> sm(defaultServiceManager()); if (sm != nullptr) { return interface_cast<IActivityManager>(sm->checkService(String16(kActivityService))); } return nullptr; }(); return activityManager; } /** * Typesafe version of device status, containing both the HAL-layer and the service interface- * layer values. Loading Loading
services/camera/libcameraservice/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ cc_library_shared { ], shared_libs: [ "libactivitymanager_aidl", "libbase", "libdl", "libexif", Loading
services/camera/libcameraservice/CameraService.cpp +27 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,8 @@ #include <private/android_filesystem_config.h> #include <system/camera_vendor_tags.h> #include <system/camera_metadata.h> #include <binder/IServiceManager.h> #include <binder/IActivityManager.h> #include <system/camera.h> Loading Loading @@ -137,6 +139,8 @@ static const String16 sCameraOpenCloseListenerPermission( "android.permission.CAMERA_OPEN_CLOSE_LISTENER"); static const String16 sCameraInjectExternalCameraPermission("android.permission.CAMERA_INJECT_EXTERNAL_CAMERA"); // Constant integer for FGS Logging, used to denote the API type for logger static const int LOG_FGS_CAMERA_API = 1; const char *sFileName = "lastOpenSessionDumpFile"; static constexpr int32_t kSystemNativeClientScore = resource_policy::PERCEPTIBLE_APP_ADJ; static constexpr int32_t kSystemNativeClientState = Loading Loading @@ -1702,6 +1706,15 @@ Status CameraService::connect( } *device = client; const sp<IServiceManager> sm(defaultServiceManager()); const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiBegin(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return ret; } Loading Loading @@ -1847,6 +1860,13 @@ Status CameraService::connectDevice( ALOGE("%s: Error while creating the file: %s", __FUNCTION__, sFileName); } } const sp<IServiceManager> sm(defaultServiceManager()); const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiBegin(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return ret; } Loading Loading @@ -3511,6 +3531,13 @@ binder::Status CameraService::BasicClient::disconnect() { // client shouldn't be able to call into us anymore mClientPid = 0; const auto& mActivityManager = getActivityManager(); if (mActivityManager) { mActivityManager->logFgsApiEnd(LOG_FGS_CAMERA_API, CameraThreadState::getCallingUid(), CameraThreadState::getCallingPid()); } return res; } Loading
services/camera/libcameraservice/CameraService.h +16 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ #include <binder/ActivityManager.h> #include <binder/AppOpsManager.h> #include <binder/BinderService.h> #include <binder/IServiceManager.h> #include <binder/IActivityManager.h> #include <binder/IAppOpsCallback.h> #include <binder/IUidObserver.h> #include <hardware/camera.h> Loading Loading @@ -596,6 +598,20 @@ public: private: // TODO: b/263304156 update this to make use of a death callback for more // robust/fault tolerant logging static const sp<IActivityManager>& getActivityManager() { static const char* kActivityService = "activity"; static const auto activityManager = []() -> sp<IActivityManager> { const sp<IServiceManager> sm(defaultServiceManager()); if (sm != nullptr) { return interface_cast<IActivityManager>(sm->checkService(String16(kActivityService))); } return nullptr; }(); return activityManager; } /** * Typesafe version of device status, containing both the HAL-layer and the service interface- * layer values. Loading