Merge "Improve picture capture debug path" into sc-dev am: b99e72f722
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14928133 Change-Id: I74a78fd84f96fac075150016af356906a612fcf6
This commit is contained in:
@@ -953,8 +953,7 @@ public class ViewDebug {
|
||||
private final Callable<OutputStream> mCallback;
|
||||
private final Executor mExecutor;
|
||||
private final ReentrantLock mLock = new ReentrantLock(false);
|
||||
private final ArrayDeque<byte[]> mQueue = new ArrayDeque<>(3);
|
||||
private final ByteArrayOutputStream mByteStream = new ByteArrayOutputStream();
|
||||
private final ArrayDeque<Picture> mQueue = new ArrayDeque<>(3);
|
||||
private boolean mStopListening;
|
||||
private Thread mRenderThread;
|
||||
|
||||
@@ -990,9 +989,7 @@ public class ViewDebug {
|
||||
mQueue.removeLast();
|
||||
needsInvoke = false;
|
||||
}
|
||||
picture.writeToStream(mByteStream);
|
||||
mQueue.add(mByteStream.toByteArray());
|
||||
mByteStream.reset();
|
||||
mQueue.add(picture);
|
||||
mLock.unlock();
|
||||
|
||||
if (needsInvoke) {
|
||||
@@ -1003,7 +1000,7 @@ public class ViewDebug {
|
||||
@Override
|
||||
public void run() {
|
||||
mLock.lock();
|
||||
final byte[] picture = mQueue.poll();
|
||||
final Picture picture = mQueue.poll();
|
||||
final boolean isStopped = mStopListening;
|
||||
mLock.unlock();
|
||||
if (Thread.currentThread() == mRenderThread) {
|
||||
@@ -1024,7 +1021,8 @@ public class ViewDebug {
|
||||
}
|
||||
if (stream != null) {
|
||||
try {
|
||||
stream.write(picture);
|
||||
picture.writeToStream(stream);
|
||||
stream.flush();
|
||||
} catch (IOException ex) {
|
||||
Log.w("ViewDebug", "Aborting rendering commands capture "
|
||||
+ "due to IOException writing to output stream", ex);
|
||||
|
||||
Reference in New Issue
Block a user