Merge "Update javadoc to reflect "autofill for all apps" changes." into udc-dev am: 6ddd968181

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23066001

Change-Id: I42c3f3de1f47d1204a7b6db2afe4823b9eed14cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jiewen Lei
2023-05-09 10:17:22 +00:00
committed by Automerger Merge Worker

View File

@@ -9845,10 +9845,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* <p><b>Note:</b> Setting the mode as {@link #IMPORTANT_FOR_AUTOFILL_NO} or
* {@link #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS} does not guarantee the view (and its
* children) will be always be considered not important; for example, when the user explicitly
* makes an autofill request, all views are considered important. See
* {@link #isImportantForAutofill()} for more details about how the View's importance for
* autofill is used.
* children) will not be used for autofill purpose; for example, when the user explicitly
* makes an autofill request, all views are included in the ViewStructure, and starting in
* {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} the system uses other factors along
* with importance to determine the autofill behavior. See {@link #isImportantForAutofill()}
* for more details about how the View's importance for autofill is used.
*
* @param mode {@link #IMPORTANT_FOR_AUTOFILL_AUTO}, {@link #IMPORTANT_FOR_AUTOFILL_YES},
* {@link #IMPORTANT_FOR_AUTOFILL_NO}, {@link #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS},
@@ -9894,21 +9895,36 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* <li>otherwise, it returns {@code false}.
* </ol>
*
* <p>When a view is considered important for autofill:
* <ul>
* <li>The view might automatically trigger an autofill request when focused on.
* <li>The contents of the view are included in the {@link ViewStructure} used in an autofill
* request.
* </ul>
*
* <p>On the other hand, when a view is considered not important for autofill:
* <ul>
* <li>The view never automatically triggers autofill requests, but it can trigger a manual
* request through {@link AutofillManager#requestAutofill(View)}.
* <li>The contents of the view are not included in the {@link ViewStructure} used in an
* autofill request, unless the request has the
* {@link #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} flag.
* </ul>
* <p> The behavior of importances depends on Android version:
* <ol>
* <li>For {@link android.os.Build.VERSION_CODES#TIRAMISU} and below:
* <ol>
* <li>When a view is considered important for autofill:
* <ol>
* <li>The view might automatically trigger an autofill request when focused on.
* <li>The contents of the view are included in the {@link ViewStructure} used in an
* autofill request.
* </ol>
* <li>On the other hand, when a view is considered not important for autofill:
* <ol>
* <li>The view never automatically triggers autofill requests, but it can trigger a
* manual request through {@link AutofillManager#requestAutofill(View)}.
* <li>The contents of the view are not included in the {@link ViewStructure} used in
* an autofill request, unless the request has the
* {@link #AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} flag.
* </ol>
* </ol>
* <li>For {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} and above:
* <ol>
* <li>The system uses importance, along with other view properties and other optimization
* factors, to determine if a view should trigger autofill on focus.
* <li>The contents of {@link #IMPORTANT_FOR_AUTOFILL_AUTO},
* {@link #IMPORTANT_FOR_AUTOFILL_YES}, {@link #IMPORTANT_FOR_AUTOFILL_NO},
* {@link #IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS}, and
* {@link #IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS} views will be included in the
* {@link ViewStructure} used in an autofill request.
* </ol>
* </ol>
*
* @return whether the view is considered important for autofill.
*