diff --git a/camera/cameraserver/main_cameraserver.cpp b/camera/cameraserver/main_cameraserver.cpp index 53b3d84894..cef8ef5456 100644 --- a/camera/cameraserver/main_cameraserver.cpp +++ b/camera/cameraserver/main_cameraserver.cpp @@ -34,6 +34,7 @@ int main(int argc __unused, char** argv __unused) sp sm = defaultServiceManager(); ALOGI("ServiceManager: %p", sm.get()); CameraService::instantiate(); + ALOGI("ServiceManager: %p done instantiate", sm.get()); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); } diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 048d0e6bce..2f889573be 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -153,8 +153,6 @@ void CameraService::onFirstRef() mInitialized = true; } - CameraService::pingCameraServiceProxy(); - mUidPolicy = new UidPolicy(this); mUidPolicy->registerSelf(); mSensorPrivacyPolicy = new SensorPrivacyPolicy(this); @@ -164,6 +162,11 @@ void CameraService::onFirstRef() ALOGE("%s: Failed to register default android.frameworks.cameraservice.service@1.0", __FUNCTION__); } + + // This needs to be last call in this function, so that it's as close to + // ServiceManager::addService() as possible. + CameraService::pingCameraServiceProxy(); + ALOGI("CameraService pinged cameraservice proxy"); } status_t CameraService::enumerateProviders() {