From 98fcc0850d0ef2702ab700498d9297afd839b526 Mon Sep 17 00:00:00 2001 From: Nikita Dubrovsky Date: Mon, 28 Dec 2020 15:52:20 -0800 Subject: Enable Content Capture for ImageViews by default Bug: 167712713 Test: atest CtsWidgetTestCases:ImageViewTest Test: Manual Change-Id: I5a77f5e19d6021e799c5fe13c4c9b71c039ff8dc --- core/java/android/widget/ImageView.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index e4de4001c3e2..ed20d26a8b47 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -196,11 +196,6 @@ public class ImageView extends View { initImageView(); - // ImageView is not important by default, unless app developer overrode attribute. - if (getImportantForAutofill() == IMPORTANT_FOR_AUTOFILL_AUTO) { - setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_NO); - } - final TypedArray a = context.obtainStyledAttributes( attrs, R.styleable.ImageView, defStyleAttr, defStyleRes); saveAttributeDataForStyleable(context, R.styleable.ImageView, @@ -265,6 +260,15 @@ public class ImageView extends View { sCompatDrawableVisibilityDispatch = targetSdkVersion < Build.VERSION_CODES.N; sCompatDone = true; } + + // By default, ImageView is not important for autofill but important for content capture. + // Developers can override these defaults via the corresponding attributes. + if (getImportantForAutofill() == IMPORTANT_FOR_AUTOFILL_AUTO) { + setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_NO); + } + if (getImportantForContentCapture() == IMPORTANT_FOR_CONTENT_CAPTURE_AUTO) { + setImportantForContentCapture(IMPORTANT_FOR_CONTENT_CAPTURE_YES); + } } @Override -- cgit v1.2.3-59-g8ed1b