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

Commit e2555ea7 authored by Henry Wang's avatar Henry Wang Committed by Gerrit Code Review
Browse files

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

parents 77863ff4 acb3a5a9
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);
}