diff options
Diffstat (limited to 'core/java/android/widget/AdapterView.java')
| -rw-r--r-- | core/java/android/widget/AdapterView.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java index f3fe16e8a675..ddff8581d568 100644 --- a/core/java/android/widget/AdapterView.java +++ b/core/java/android/widget/AdapterView.java @@ -1309,13 +1309,23 @@ public abstract class AdapterView<T extends Adapter> extends ViewGroup { @Override public void onProvideAutofillStructure(ViewStructure structure, int flags) { super.onProvideAutofillStructure(structure, flags); + } - final Adapter adapter = getAdapter(); - if (adapter == null) return; - - final CharSequence[] options = adapter.getAutofillOptions(); - if (options != null) { - structure.setAutofillOptions(options); + /** @hide */ + @Override + protected void onProvideStructure(@NonNull ViewStructure structure, + @ViewStructureType int viewFor, int flags) { + super.onProvideStructure(structure, viewFor, flags); + + if (viewFor == VIEW_STRUCTURE_FOR_AUTOFILL + || viewFor == VIEW_STRUCTURE_FOR_CONTENT_CAPTURE) { + final Adapter adapter = getAdapter(); + if (adapter == null) return; + + final CharSequence[] options = adapter.getAutofillOptions(); + if (options != null) { + structure.setAutofillOptions(options); + } } } } |
