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

Commit 0223c912 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add Telecom log tagging for whether logs took place in Telecom lock."...

Merge "Add Telecom log tagging for whether logs took place in Telecom lock." into udc-dev am: 822c57f7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22129028



Change-Id: I8c23e2b49888cb99e129c431356928c0848304cd
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 761ed44e 822c57f7
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ public class Log {
    private static final Object sSingletonSync = new Object();
    private static EventManager sEventManager;
    private static SessionManager sSessionManager;
    private static Object sLock = null;

    /**
     * Tracks whether user-activated extended logging is enabled.
@@ -387,6 +388,19 @@ public class Log {
        ERROR = isLoggable(android.util.Log.ERROR);
    }

    /**
     * Sets the main telecom sync lock used within Telecom.  This is used when building log messages
     * so that we can identify places in the code where we are doing something outside of the
     * Telecom lock.
     * @param lock The lock.
     */
    public static void setLock(Object lock) {
        // Don't do lock monitoring on user builds.
        if (!Build.IS_USER) {
            sLock = lock;
        }
    }

    /**
     * If user enabled extended logging is enabled and the time limit has passed, disables the
     * extended logging.
@@ -512,7 +526,10 @@ public class Log {
                    args.length);
            msg = format + " (An error occurred while formatting the message.)";
        }
        return String.format(Locale.US, "%s: %s%s", prefix, msg, sessionPostfix);
        // If a lock was set, check if this thread holds that lock and output an emoji that lets
        // the developer know whether a log message came from within the Telecom lock or not.
        String isLocked = sLock != null ? (Thread.holdsLock(sLock) ? "\uD83D\uDD12" : "❗") : "";
        return String.format(Locale.US, "%s: %s%s%s", prefix, msg, sessionPostfix, isLocked);
    }

    /**