Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a377dd1 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "libbinder: Add setDefaultServiceManager for use in host testing." am:...

Merge "libbinder: Add setDefaultServiceManager for use in host testing." am: fde69639 am: 724335c5 am: ad559f98

Change-Id: Iaa6868863b4af6a404288117fec35e210b2eef53
parents 933e81b5 ad559f98
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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;

    {
@@ -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

+5 −0
Original line number Diff line number Diff line
@@ -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();