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

Commit f579506b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable window tracing on user builds. - Make window trace shell...

Merge "Disable window tracing on user builds. - Make window trace shell commands fail gracefully in user builds. - Dont start the trace thread on user builds."
parents da661acf ab25003f
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.server.wm;

import static android.os.Build.IS_USER;

import android.os.ShellCommand;

import java.io.PrintWriter;
@@ -50,8 +52,10 @@ public class WindowManagerShellCommand extends ShellCommand {
        pw.println("  help");
        pw.println("    Print this help text.");
        pw.println();
        if (!IS_USER){
            pw.println("  tracing (start | stop)");
            pw.println("    start or stop window tracing");
            pw.println();
        }
    }
}
+12 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.wm;

import static android.os.Build.IS_USER;
import static com.android.server.wm.proto.WindowManagerTraceFileProto.ENTRY;
import static com.android.server.wm.proto.WindowManagerTraceFileProto.MAGIC_NUMBER;
import static com.android.server.wm.proto.WindowManagerTraceFileProto.MAGIC_NUMBER_H;
@@ -62,6 +63,10 @@ class WindowTracing {
    }

    void startTrace(PrintWriter pw) throws IOException {
        if (IS_USER){
            logAndPrintln(pw, "Error: Tracing is not supported on user builds.");
            return;
        }
        synchronized (mLock) {
            logAndPrintln(pw, "Start tracing to " + mTraceFile + ".");
            mWriteQueue.clear();
@@ -83,6 +88,10 @@ class WindowTracing {
    }

    void stopTrace(PrintWriter pw) {
        if (IS_USER){
            logAndPrintln(pw, "Error: Tracing is not supported on user builds.");
            return;
        }
        synchronized (mLock) {
            logAndPrintln(pw, "Stop tracing to " + mTraceFile + ". Waiting for traces to flush.");
            mEnabled = mEnabledLockFree = false;
@@ -150,7 +159,9 @@ class WindowTracing {
    static WindowTracing createDefaultAndStartLooper(Context context) {
        File file = new File("/data/misc/wmtrace/wm_trace.pb");
        WindowTracing windowTracing = new WindowTracing(file);
        if (!IS_USER){
            new Thread(windowTracing::loop, "window_tracing").start();
        }
        return windowTracing;
    }