summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/View.java11
-rw-r--r--core/java/android/widget/TextView.java12
2 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index e87f47bc3544..91fb16166ba1 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -1281,6 +1281,17 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY = "creditCardExpirationDay";
/**
+ * A hint indicating that this view can be autofilled with a password.
+ *
+ * This is a heuristic-based hint that is meant to be used by UI Toolkit developers when a
+ * view is a password field but doesn't specify a
+ * <code>{@value View#AUTOFILL_HINT_PASSWORD}</code>.
+ * @hide
+ */
+ // TODO(229765029): unhide this for UI toolkit
+ public static final String AUTOFILL_HINT_PASSWORD_AUTO = "passwordAuto";
+
+ /**
* Hints for the autofill services that describes the content of the view.
*/
private @Nullable String[] mAutofillHints;
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index f9c964158e2e..572d97740187 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -6974,6 +6974,18 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
mEditor.mInputType = type;
}
+ @Override
+ public String[] getAutofillHints() {
+ String[] hints = super.getAutofillHints();
+ if (isAnyPasswordInputType()) {
+ if (!ArrayUtils.contains(hints, AUTOFILL_HINT_PASSWORD_AUTO)) {
+ hints = ArrayUtils.appendElement(String.class, hints,
+ AUTOFILL_HINT_PASSWORD_AUTO);
+ }
+ }
+ return hints;
+ }
+
/**
* @return {@code null} if the key listener should use pre-O (locale-independent). Otherwise
* a {@code Locale} object that can be used to customize key various listeners.