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

Commit a8b62357 authored by Winson Chung's avatar Winson Chung
Browse files

Lazy initialize the choreographer

Bug: 187177407
Test: Manual
Change-Id: I7c593c96335d1bfafd682647b231ec1f3d8030d5
parent 208f294d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ public class FrameProtoTracer<P, S extends P, T extends P, R>
    private final TraceBuffer<P, S, T> mBuffer;
    private final File mTraceFile;
    private final ProtoTraceParams<P, S, T, R> mParams;
    private final Choreographer mChoreographer;
    private Choreographer mChoreographer;
    private final Queue<T> mPool = new LinkedList<>();
    private final ArrayList<ProtoTraceable<R>> mTraceables = new ArrayList<>();
    private final ArrayList<ProtoTraceable<R>> mTmpTraceables = new ArrayList<>();
@@ -94,7 +94,6 @@ public class FrameProtoTracer<P, S extends P, T extends P, R>
            }
        });
        mTraceFile = params.getTraceFile();
        mChoreographer = Choreographer.getMainThreadInstance();
    }

    public void start() {
@@ -140,6 +139,9 @@ public class FrameProtoTracer<P, S extends P, T extends P, R>
        }

        // Schedule an update on the next frame
        if (mChoreographer == null) {
            mChoreographer = Choreographer.getMainThreadInstance();
        }
        mChoreographer.postFrameCallback(this);
        mFrameScheduled = true;
    }