summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nicolas Roard <nicolasroard@google.com> 2024-02-16 23:47:39 +0000
committer Nicolas Roard <nicolasroard@google.com> 2024-02-17 00:08:58 +0000
commite80b7993b9ee2b3917ad5bb1ed02ba9c9f90755a (patch)
tree2226a59b3ef56229449b5689a21f9ba8f814c3b2
parent9720fee8c5624c06236a322a9d1ec0b490474389 (diff)
Small refactor for reset buffer
Test: in main repository Change-Id: I4d95899b9f49bc0973c63371b19739b56844aebc
-rw-r--r--core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java12
-rw-r--r--core/java/com/android/internal/widget/remotecompose/core/WireBuffer.java10
-rw-r--r--core/java/com/android/internal/widget/remotecompose/core/operations/BitmapData.java2
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();