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

Commit 0deeb857 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge "Automatically trace messages on shared loopers." into nyc-dev

am: 94cac073

* commit '94cac073':
  Automatically trace messages on shared loopers.

Change-Id: Ifbc34c8d15b23ca55782ecee0973e36f33441c72
parents d73e1e35 94cac073
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -231,6 +231,18 @@ public class Handler {
        mAsynchronous = async;
    }

    /** {@hide} */
    public String getTraceName(Message message) {
        final StringBuilder sb = new StringBuilder();
        sb.append(getClass().getName()).append(": ");
        if (message.callback != null) {
            sb.append(message.callback.getClass().getName());
        } else {
            sb.append("#").append(message.what);
        }
        return sb.toString();
    }

    /**
     * Returns a string representing the name of the specified message.
     * The default implementation will either return the class name of the
@@ -739,8 +751,8 @@ public class Handler {
        message.callback.run();
    }

    final MessageQueue mQueue;
    final Looper mLooper;
    final MessageQueue mQueue;
    final Callback mCallback;
    final boolean mAsynchronous;
    IMessenger mMessenger;
+18 −2
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ public final class Looper {
    final Thread mThread;

    private Printer mLogging;
    private long mTraceTag;

     /** Initialize the current thread as a looper.
      * This gives you a chance to create handlers that then reference
@@ -139,13 +140,23 @@ public final class Looper {
            }

            // This must be in a local variable, in case a UI event sets the logger
            Printer logging = me.mLogging;
            final Printer logging = me.mLogging;
            if (logging != null) {
                logging.println(">>>>> Dispatching to " + msg.target + " " +
                        msg.callback + ": " + msg.what);
            }

            final long traceTag = me.mTraceTag;
            if (traceTag != 0) {
                Trace.traceBegin(traceTag, msg.target.getTraceName(msg));
            }
            try {
                msg.target.dispatchMessage(msg);
            } finally {
                if (traceTag != 0) {
                    Trace.traceEnd(traceTag);
                }
            }

            if (logging != null) {
                logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
@@ -208,6 +219,11 @@ public final class Looper {
        mLogging = printer;
    }

    /** {@hide} */
    public void setTraceTag(long traceTag) {
        mTraceTag = traceTag;
    }

    /**
     * Quits the looper.
     * <p>
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.internal.os;

import android.os.Handler;
import android.os.HandlerThread;
import android.os.Trace;

/**
 * Shared singleton background thread for each process.
@@ -34,6 +35,7 @@ public final class BackgroundThread extends HandlerThread {
        if (sInstance == null) {
            sInstance = new BackgroundThread();
            sInstance.start();
            sInstance.getLooper().setTraceTag(Trace.TRACE_TAG_ACTIVITY_MANAGER);
            sHandler = new Handler(sInstance.getLooper());
        }
    }
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server;

import android.os.Handler;
import android.os.Trace;

/**
 * Shared singleton foreground thread for the system.  This is a thread for
@@ -36,6 +37,7 @@ public final class DisplayThread extends ServiceThread {
        if (sInstance == null) {
            sInstance = new DisplayThread();
            sInstance.start();
            sInstance.getLooper().setTraceTag(Trace.TRACE_TAG_ACTIVITY_MANAGER);
            sHandler = new Handler(sInstance.getLooper());
        }
    }
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server;

import android.os.Handler;
import android.os.Trace;

/**
 * Shared singleton foreground thread for the system.  This is a thread for regular
@@ -38,6 +39,7 @@ public final class FgThread extends ServiceThread {
        if (sInstance == null) {
            sInstance = new FgThread();
            sInstance.start();
            sInstance.getLooper().setTraceTag(Trace.TRACE_TAG_ACTIVITY_MANAGER);
            sHandler = new Handler(sInstance.getLooper());
        }
    }
Loading