From e2ded2e114d8f30e6a25e434b9d9d20c91d60194 Mon Sep 17 00:00:00 2001 From: Taran Singh Date: Wed, 29 Mar 2023 20:55:51 +0000 Subject: [PATCH] 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 --- .../server/inputmethod/HandwritingModeController.java | 8 ++++++-- 1 file 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 d54354715d039..bb1a445b52e92 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(); }