diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 13 | ||||
-rw-r--r-- | services/camera/libcameraservice/CameraService.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 82aa566..79e73f9 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -33,6 +33,7 @@ #include <binder/MemoryBase.h> #include <binder/MemoryHeapBase.h> #include <binder/ProcessInfoService.h> +#include <camera/ICameraServiceProxy.h> #include <cutils/atomic.h> #include <cutils/properties.h> #include <gui/Surface.h> @@ -224,6 +225,18 @@ void CameraService::onFirstRef() } CameraDeviceFactory::registerService(this); + + CameraService::pingCameraServiceProxy(); +} + +void CameraService::pingCameraServiceProxy() { + sp<IServiceManager> sm = defaultServiceManager(); + sp<IBinder> binder = sm->getService(String16("media.camera.proxy")); + if (binder == nullptr) { + return; + } + sp<ICameraServiceProxy> proxyBinder = interface_cast<ICameraServiceProxy>(binder); + proxyBinder->pingForUserUpdate(); } CameraService::~CameraService() { diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h index 9b7163a..ce3cb44 100644 --- a/services/camera/libcameraservice/CameraService.h +++ b/services/camera/libcameraservice/CameraService.h @@ -702,6 +702,8 @@ private: static String8 toString(std::set<userid_t> intSet); + static void pingCameraServiceProxy(); + }; template<class Func> |