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

Commit f54fb4dd authored by Devin Moore's avatar Devin Moore Committed by Android (Google) Code Review
Browse files

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

parents 36d49ef8 a920922c
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);
}