From d55b16e73e16a1a4d154c40eb8d30dd489f71b6e Mon Sep 17 00:00:00 2001 From: Adam He Date: Fri, 19 Jul 2019 11:19:56 -0700 Subject: Implement AssistStructure.ViewNode.getHintIdEntry(). Bug: 135134274 Test: atest CtsAutoFillServiceTestCases Test: atest android.contentcaptureservice.cts.unit.ViewNodeTest Change-Id: I7154cf97a5236ad975bd774c29b30e055cfca8bd --- core/java/android/widget/TextView.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'core/java/android/widget/TextView.java') diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a4844eaa612c..f997d6878a9c 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -918,6 +918,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private boolean mTextSetFromXmlOrResourceId = false; // Resource id used to set the text. private @StringRes int mTextId = Resources.ID_NULL; + // Resource id used to set the hint. + private @StringRes int mHintId = Resources.ID_NULL; // // End of autofill-related attributes @@ -1210,6 +1212,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener break; case com.android.internal.R.styleable.TextView_hint: + mHintId = a.getResourceId(attr, Resources.ID_NULL); hint = a.getText(attr); break; @@ -6446,6 +6449,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ @android.view.RemotableViewMethod public final void setHint(@StringRes int resid) { + mHintId = resid; setHint(getContext().getResources().getText(resid)); } @@ -11598,6 +11602,16 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener structure.setMaxTextLength(maxLength); } } + if (mHintId != Resources.ID_NULL) { + try { + structure.setHintIdEntry(getResources().getResourceEntryName(mHintId)); + } catch (Resources.NotFoundException e) { + if (android.view.autofill.Helper.sVerbose) { + Log.v(LOG_TAG, "onProvideAutofillStructure(): cannot set name for hint id " + + mHintId + ": " + e.getMessage()); + } + } + } structure.setHint(getHint()); structure.setInputType(getInputType()); } -- cgit v1.2.3