summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
authorAdam He <adamhe@google.com>2019-07-19 11:19:56 -0700
committerAdam He <adamhe@google.com>2019-07-19 15:33:51 -0700
commitd55b16e73e16a1a4d154c40eb8d30dd489f71b6e (patch)
tree057e11296ee3c1089f97d5f8833d1c95d4a8272d /core/java/android/widget/TextView.java
parent63bc5be960e2499366ec1084f8110a0d3164fcbb (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.java14
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());
}