diff options
| author | Adam He <adamhe@google.com> | 2019-07-19 11:19:56 -0700 |
|---|---|---|
| committer | Adam He <adamhe@google.com> | 2019-07-19 15:33:51 -0700 |
| commit | d55b16e73e16a1a4d154c40eb8d30dd489f71b6e (patch) | |
| tree | 057e11296ee3c1089f97d5f8833d1c95d4a8272d /core/java/android/widget/TextView.java | |
| parent | 63bc5be960e2499366ec1084f8110a0d3164fcbb (diff) | |
Implement AssistStructure.ViewNode.getHintIdEntry().
Bug: 135134274
Test: atest CtsAutoFillServiceTestCases
Test: atest android.contentcaptureservice.cts.unit.ViewNodeTest
Change-Id: I7154cf97a5236ad975bd774c29b30e055cfca8bd
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 14 |
1 files changed, 14 insertions, 0 deletions
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()); } |
