From 104932e4bffecba767c80cbe79c49571874a5a6d Mon Sep 17 00:00:00 2001 From: Taran Singh Date: Wed, 26 Jan 2022 14:59:59 +0000 Subject: [PATCH] Make IME extract text fields public InputMethodService uses the following IDs for extract view. - R.id.inputExtractEditText - R.id.inputExtractAction - R.id.inputExtractAccessories While the first one is public, others are not. It makes sense to make all of the public so IMEs can customize it. Bug: 210777608 Test: atest InputMethodServiceTest Change-Id: I125767d67839293c0b0f40c750d0fb1bb77951e9 --- core/api/current.txt | 2 ++ .../java/android/inputmethodservice/InputMethodService.java | 6 ++++-- core/res/res/values/ids.xml | 6 ++++++ core/res/res/values/public.xml | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 41be534b3b144..013ebe0aee2f1 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -2103,6 +2103,8 @@ package android { field public static final int icon_frame = 16908350; // 0x102003e field public static final int input = 16908297; // 0x1020009 field public static final int inputArea = 16908318; // 0x102001e + field public static final int inputExtractAccessories; + field public static final int inputExtractAction; field public static final int inputExtractEditText = 16908325; // 0x1020025 field @Deprecated public static final int keyboardView = 16908326; // 0x1020026 field public static final int list = 16908298; // 0x102000a diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java index 5d2d8eafb3a8f..c575232e2e1b1 100644 --- a/core/java/android/inputmethodservice/InputMethodService.java +++ b/core/java/android/inputmethodservice/InputMethodService.java @@ -2175,10 +2175,12 @@ public class InputMethodService extends AbstractInputMethodService { } /** - * Called by the framework to create the layout for showing extacted text. + * Called by the framework to create the layout for showing extracted text. * Only called when in fullscreen mode. The returned view hierarchy must * have an {@link ExtractEditText} whose ID is - * {@link android.R.id#inputExtractEditText}. + * {@link android.R.id#inputExtractEditText}, with action ID + * {@link android.R.id#inputExtractAction} and accessories ID + * {@link android.R.id#inputExtractAccessories}. */ public View onCreateExtractTextView() { return mInflater.inflate( diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml index db348ed7dc0b2..bccd2b6529acb 100644 --- a/core/res/res/values/ids.xml +++ b/core/res/res/values/ids.xml @@ -59,6 +59,12 @@ + + + + diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 505fe59cfefd0..883b1bba5b77f 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -3267,6 +3267,8 @@ + +