diff options
| author | 2020-02-03 20:33:30 +0000 | |
|---|---|---|
| committer | 2020-02-03 20:33:30 +0000 | |
| commit | 0e33c62efb3250931f63eb451c1c0b01e948cbe7 (patch) | |
| tree | d99c8eb86c4c1ec8f9131a77c8aa4d94d2d45ae4 | |
| parent | 3f10146fe6e2e2a7fe4fd628de322821a6cb61dd (diff) | |
| parent | 68eda4408d1fba562a283c8e308c7b6e981b398c (diff) | |
Merge "Inline framework class that isn't visible via the shared lib"
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java index 557845c34bf2..356e0ca7193c 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java @@ -40,7 +40,7 @@ import java.util.function.Consumer; * @param <R> The proto class type of the entry root proto in the buffer */ public class FrameProtoTracer<P, S extends P, T extends P, R> - implements TraceBuffer.ProtoProvider<P, S, T>, Choreographer.FrameCallback { + implements Choreographer.FrameCallback { private static final String TAG = "FrameProtoTracer"; private static final int BUFFER_CAPACITY = 1024 * 1024; @@ -57,6 +57,25 @@ public class FrameProtoTracer<P, S extends P, T extends P, R> private volatile boolean mEnabled; private boolean mFrameScheduled; + private final TraceBuffer.ProtoProvider<P, S, T> mProvider = + new TraceBuffer.ProtoProvider<P, S, T>() { + @Override + public int getItemSize(P proto) { + return mParams.getProtoSize(proto); + } + + @Override + public byte[] getBytes(P proto) { + return mParams.getProtoBytes(proto); + } + + @Override + public void write(S encapsulatingProto, Queue<T> buffer, OutputStream os) + throws IOException { + os.write(mParams.serializeEncapsulatingProto(encapsulatingProto, buffer)); + } + }; + public interface ProtoTraceParams<P, S, T, R> { File getTraceFile(); S getEncapsulatingTraceProto(); @@ -68,7 +87,7 @@ public class FrameProtoTracer<P, S extends P, T extends P, R> public FrameProtoTracer(ProtoTraceParams<P, S, T, R> params) { mParams = params; - mBuffer = new TraceBuffer<>(BUFFER_CAPACITY, this, new Consumer<T>() { + mBuffer = new TraceBuffer<>(BUFFER_CAPACITY, mProvider, new Consumer<T>() { @Override public void accept(T t) { onProtoDequeued(t); @@ -78,21 +97,6 @@ public class FrameProtoTracer<P, S extends P, T extends P, R> mChoreographer = Choreographer.getMainThreadInstance(); } - @Override - public int getItemSize(P proto) { - return mParams.getProtoSize(proto); - } - - @Override - public byte[] getBytes(P proto) { - return mParams.getProtoBytes(proto); - } - - @Override - public void write(S encapsulatingProto, Queue<T> buffer, OutputStream os) throws IOException { - os.write(mParams.serializeEncapsulatingProto(encapsulatingProto, buffer)); - } - public void start() { synchronized (mLock) { if (mEnabled) { |