Loading libs/binder/IServiceManager.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -85,11 +85,12 @@ private: sp<AidlServiceManager> mTheRealServiceManager; }; sp<IServiceManager> defaultServiceManager() { static Mutex gDefaultServiceManagerLock; static sp<IServiceManager> gDefaultServiceManager; sp<IServiceManager> defaultServiceManager() { if (gDefaultServiceManager != nullptr) return gDefaultServiceManager; { Loading @@ -106,6 +107,11 @@ sp<IServiceManager> defaultServiceManager() return gDefaultServiceManager; } void setDefaultServiceManager(const sp<IServiceManager>& sm) { AutoMutex _l(gDefaultServiceManagerLock); gDefaultServiceManager = sm; } #if !defined(__ANDROID_VNDK__) && defined(__ANDROID__) // IPermissionController is not accessible to vendors Loading libs/binder/include/binder/IServiceManager.h +5 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,11 @@ public: sp<IServiceManager> defaultServiceManager(); /** * Directly set the default service manager. Only used for testing. */ void setDefaultServiceManager(const sp<IServiceManager>& sm); template<typename INTERFACE> sp<INTERFACE> waitForService(const String16& name) { const sp<IServiceManager> sm = defaultServiceManager(); Loading Loading
libs/binder/IServiceManager.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -85,11 +85,12 @@ private: sp<AidlServiceManager> mTheRealServiceManager; }; sp<IServiceManager> defaultServiceManager() { static Mutex gDefaultServiceManagerLock; static sp<IServiceManager> gDefaultServiceManager; sp<IServiceManager> defaultServiceManager() { if (gDefaultServiceManager != nullptr) return gDefaultServiceManager; { Loading @@ -106,6 +107,11 @@ sp<IServiceManager> defaultServiceManager() return gDefaultServiceManager; } void setDefaultServiceManager(const sp<IServiceManager>& sm) { AutoMutex _l(gDefaultServiceManagerLock); gDefaultServiceManager = sm; } #if !defined(__ANDROID_VNDK__) && defined(__ANDROID__) // IPermissionController is not accessible to vendors Loading
libs/binder/include/binder/IServiceManager.h +5 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,11 @@ public: sp<IServiceManager> defaultServiceManager(); /** * Directly set the default service manager. Only used for testing. */ void setDefaultServiceManager(const sp<IServiceManager>& sm); template<typename INTERFACE> sp<INTERFACE> waitForService(const String16& name) { const sp<IServiceManager> sm = defaultServiceManager(); Loading