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

Commit 1f028b2f authored by Mark Salyzyn's avatar Mark Salyzyn
Browse files

liblog: __android_log_is_loggable support Developer Options

- If logd.tag.<tag> is not found, check if persist.logd.tag.<tag> is available
- Do not turn off the isLoggable functionality on "user" builds

Bug: 19544788
Bug: 17760225
Change-Id: I3fec67b547aa431438965519507033798398e1e1
parent f75f16a1
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static int __android_log_level(const char *tag, int def)
        return def;
    }
    {
        static const char log_namespace[] = "log.tag.";
        static const char log_namespace[] = "persist.log.tag.";
        char key[sizeof(log_namespace) + strlen(tag)];

        strcpy(key, log_namespace);
@@ -37,6 +37,9 @@ static int __android_log_level(const char *tag, int def)
        if (__system_property_get(key + 8, buf) <= 0) {
            buf[0] = '\0';
        }
        if (!buf[0] && __system_property_get(key, buf) <= 0) {
            buf[0] = '\0';
        }
    }
    switch (toupper(buf[0])) {
        case 'V': return ANDROID_LOG_VERBOSE;
@@ -53,17 +56,6 @@ static int __android_log_level(const char *tag, int def)

int __android_log_is_loggable(int prio, const char *tag, int def)
{
    static char user;
    int logLevel;

    if (user == 0) {
        char buf[PROP_VALUE_MAX];
        if (__system_property_get("ro.build.type", buf) <= 0) {
            buf[0] = '\0';
        }
        user = strcmp(buf, "user") ? -1 : 1;
    }

    logLevel = (user == 1) ? def : __android_log_level(tag, def);
    int logLevel = __android_log_level(tag, def);
    return logLevel >= 0 && prio >= logLevel;
}