diff options
3 files changed, 18 insertions, 6 deletions
diff --git a/core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java b/core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java index a7260bb7c14b..c34730fdef04 100644 --- a/core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java +++ b/core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java @@ -49,8 +49,13 @@ public class RemoteComposeBuffer { this.mRemoteComposeState = remoteComposeState; } - public void reset() { - mBuffer.reset(); + /** + * Reset the internal buffers + * + * @param expectedSize provided hint for the main buffer size + */ + public void reset(int expectedSize) { + mBuffer.reset(expectedSize); mRemoteComposeState.reset(); } @@ -288,8 +293,7 @@ public class RemoteComposeBuffer { public static void read(InputStream fd, RemoteComposeBuffer buffer) { try { byte[] bytes = readAllBytes(fd); - buffer.reset(); - buffer.mBuffer.resize(bytes.length); + buffer.reset(bytes.length); System.arraycopy(bytes, 0, buffer.mBuffer.mBuffer, 0, bytes.length); buffer.mBuffer.mSize = bytes.length; } catch (Exception e) { diff --git a/core/java/com/android/internal/widget/remotecompose/core/WireBuffer.java b/core/java/com/android/internal/widget/remotecompose/core/WireBuffer.java index 4518d94498d6..b7cb3926d936 100644 --- a/core/java/com/android/internal/widget/remotecompose/core/WireBuffer.java +++ b/core/java/com/android/internal/widget/remotecompose/core/WireBuffer.java @@ -83,10 +83,18 @@ public class WireBuffer { mIndex = currentIndex; } - public void reset() { + /** + * Reset the internal buffer + * + * @param expectedSize provided hint for the buffer size + */ + public void reset(int expectedSize) { mIndex = 0; mStartingIndex = 0; mSize = 0; + if (expectedSize > mMaxSize) { + resize(expectedSize); + } } public int size() { diff --git a/core/java/com/android/internal/widget/remotecompose/core/operations/BitmapData.java b/core/java/com/android/internal/widget/remotecompose/core/operations/BitmapData.java index 4bfdc59aad3a..76b714443990 100644 --- a/core/java/com/android/internal/widget/remotecompose/core/operations/BitmapData.java +++ b/core/java/com/android/internal/widget/remotecompose/core/operations/BitmapData.java @@ -33,7 +33,7 @@ public class BitmapData implements Operation { int mImageWidth; int mImageHeight; byte[] mBitmap; - public static final int MAX_IMAGE_DIMENSION = 6000; + public static final int MAX_IMAGE_DIMENSION = 8000; public static final Companion COMPANION = new Companion(); |