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

Commit ebd10948 authored by Henry Wang's avatar Henry Wang Committed by Automerger Merge Worker
Browse files

Merge "Add addService to pass in dump priority flags." into main am: e2555ea7

parents 308ef4ac e2555ea7
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -30,7 +30,11 @@ enum AServiceManager_AddServiceFlag : uint32_t {
     * Services with methods that perform file IO, web socket creation or ways to egress data must
     * not be added with this flag for privacy concerns.
     */
    ADD_SERVICE_ALLOW_ISOLATED = 1,
    ADD_SERVICE_ALLOW_ISOLATED = 1 << 0,
    ADD_SERVICE_DUMP_FLAG_PRIORITY_CRITICAL = 1 << 1,
    ADD_SERVICE_DUMP_FLAG_PRIORITY_HIGH = 1 << 2,
    ADD_SERVICE_DUMP_FLAG_PRIORITY_NORMAL = 1 << 3,
    ADD_SERVICE_DUMP_FLAG_PRIORITY_DEFAULT = 1 << 4,
};

/**
+19 −1
Original line number Diff line number Diff line
@@ -49,7 +49,25 @@ binder_exception_t AServiceManager_addServiceWithFlags(AIBinder* binder, const c
    sp<IServiceManager> sm = defaultServiceManager();

    bool allowIsolated = flags & AServiceManager_AddServiceFlag::ADD_SERVICE_ALLOW_ISOLATED;
    status_t exception = sm->addService(String16(instance), binder->getBinder(), allowIsolated);
    int dumpFlags = 0;
    if (flags & AServiceManager_AddServiceFlag::ADD_SERVICE_DUMP_FLAG_PRIORITY_CRITICAL) {
        dumpFlags |= IServiceManager::DUMP_FLAG_PRIORITY_CRITICAL;
    }
    if (flags & AServiceManager_AddServiceFlag::ADD_SERVICE_DUMP_FLAG_PRIORITY_HIGH) {
        dumpFlags |= IServiceManager::DUMP_FLAG_PRIORITY_HIGH;
    }
    if (flags & AServiceManager_AddServiceFlag::ADD_SERVICE_DUMP_FLAG_PRIORITY_NORMAL) {
        dumpFlags |= IServiceManager::DUMP_FLAG_PRIORITY_NORMAL;
    }
    if (flags & AServiceManager_AddServiceFlag::ADD_SERVICE_DUMP_FLAG_PRIORITY_DEFAULT) {
        dumpFlags |= IServiceManager::DUMP_FLAG_PRIORITY_DEFAULT;
    }
    if (dumpFlags == 0) {
        dumpFlags = IServiceManager::DUMP_FLAG_PRIORITY_DEFAULT;
    }
    status_t exception =
            sm->addService(String16(instance), binder->getBinder(), allowIsolated, dumpFlags);

    return PruneException(exception);
}