summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Taran Singh <tarandeep@google.com> 2023-03-29 20:55:51 +0000
committer Taran Singh <tarandeep@google.com> 2023-03-29 21:49:04 +0000
commite2ded2e114d8f30e6a25e434b9d9d20c91d60194 (patch)
tree743ab9a8f630d116e4c86829cb8757ff39e7d766
parentfbc8c2fb7bc9e5f56b0de1a1f528c6b381fe945d (diff)
Handle null buffer when delegating handwriting
Handwriting event buffer can be null when starting handwriting delegation. handle it gracefully Fix: 275726998 Bug: 275679219 Test: atest StylusHandwritingTest Change-Id: I055643c6977de32e2f071f42518b08ab3e14eb10
-rw-r--r--services/core/java/com/android/server/inputmethod/HandwritingModeController.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/inputmethod/HandwritingModeController.java b/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
index d54354715d03..bb1a445b52e9 100644
--- a/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
+++ b/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
@@ -24,8 +24,8 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.UiThread;
-import android.os.Handler;
import android.hardware.input.InputManagerGlobal;
+import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.text.TextUtils;
@@ -165,7 +165,11 @@ final class HandwritingModeController {
@NonNull String delegatePackageName, @NonNull String delegatorPackageName) {
mDelegatePackageName = delegatePackageName;
mDelegatorPackageName = delegatorPackageName;
- mHandwritingBuffer.ensureCapacity(getHandwritingBufferSize());
+ if (mHandwritingBuffer == null) {
+ mHandwritingBuffer = new ArrayList<>(getHandwritingBufferSize());
+ } else {
+ mHandwritingBuffer.ensureCapacity(getHandwritingBufferSize());
+ }
scheduleHandwritingDelegationTimeout();
}