summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-02-03 20:33:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-02-03 20:33:30 +0000
commit0e33c62efb3250931f63eb451c1c0b01e948cbe7 (patch)
treed99c8eb86c4c1ec8f9131a77c8aa4d94d2d45ae4
parent3f10146fe6e2e2a7fe4fd628de322821a6cb61dd (diff)
parent68eda4408d1fba562a283c8e308c7b6e981b398c (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.java38
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) {