From 19bf9c65a1e6af3eb04b5e1613388f899940ef22 Mon Sep 17 00:00:00 2001 From: Justin Ghan Date: Fri, 26 Aug 2022 16:11:49 -0700 Subject: [PATCH] Provide gesture result Bug: 240435922 Test: atest android.widget.cts.TextViewHandwritingGestureTest Change-Id: I33590176445ee4cf697499688a06fda24bf0cbcf --- core/java/android/widget/TextView.java | 13 +++++++------ .../inputmethod/EditableInputConnection.java | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index e39b7cdfb2f95..a8fc27457682c 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -9309,7 +9309,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } Selection.setSelection(getEditableText(), range[0], range[1]); mEditor.startSelectionActionModeAsync(/* adjustSelection= */ false); - return 0; + return InputConnection.HANDWRITING_GESTURE_RESULT_SUCCESS; } /** @hide */ @@ -9320,8 +9320,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } getEditableText().delete(range[0], range[1]); Selection.setSelection(getEditableText(), range[0]); - // TODO: Delete extra spaces. - return 0; + // TODO(b/243983058): Delete extra spaces. + return InputConnection.HANDWRITING_GESTURE_RESULT_SUCCESS; } /** @hide */ @@ -9345,16 +9345,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener String textToInsert = gesture.getTextToInsert(); getEditableText().insert(offset, textToInsert); Selection.setSelection(getEditableText(), offset + textToInsert.length()); - // TODO: Insert extra spaces if necessary. - return 0; + // TODO(b/243980426): Insert extra spaces if necessary. + return InputConnection.HANDWRITING_GESTURE_RESULT_SUCCESS; } private int handleGestureFailure(HandwritingGesture gesture) { if (!TextUtils.isEmpty(gesture.getFallbackText())) { getEditableText() .replace(getSelectionStart(), getSelectionEnd(), gesture.getFallbackText()); + return InputConnection.HANDWRITING_GESTURE_RESULT_FALLBACK; } - return 0; + return InputConnection.HANDWRITING_GESTURE_RESULT_FAILED; } @Nullable diff --git a/core/java/com/android/internal/inputmethod/EditableInputConnection.java b/core/java/com/android/internal/inputmethod/EditableInputConnection.java index 9211926c51e2e..1e52087393142 100644 --- a/core/java/com/android/internal/inputmethod/EditableInputConnection.java +++ b/core/java/com/android/internal/inputmethod/EditableInputConnection.java @@ -278,7 +278,7 @@ public final class EditableInputConnection extends BaseInputConnection } else if (gesture instanceof InsertGesture) { result = mTextView.performHandwritingInsertGesture((InsertGesture) gesture); } else { - result = 0; + result = HANDWRITING_GESTURE_RESULT_UNSUPPORTED; } if (executor != null && consumer != null) { executor.execute(() -> consumer.accept(result));