From 09b11ff3d3a7c3812248ba138221190475161203 Mon Sep 17 00:00:00 2001 From: Yongshun Liu Date: Tue, 14 Jan 2025 21:53:22 +0000 Subject: [PATCH] a11y: Make images optional for single choice list view dialog This makes `ItemInfoArrayAdapter.ItemInfo` support text-only choices. It is to better accommodate the new dialogs. Bug: b/389991440 Flag: com.android.settings.accessibility.enable_magnification_cursor_following_dialog Test: None Change-Id: If7514631a72631cf0fce85623fe30c8261f678c9 --- .../accessibility/ItemInfoArrayAdapter.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/accessibility/ItemInfoArrayAdapter.java b/src/com/android/settings/accessibility/ItemInfoArrayAdapter.java index a7c41771cea..285a52b1b9c 100644 --- a/src/com/android/settings/accessibility/ItemInfoArrayAdapter.java +++ b/src/com/android/settings/accessibility/ItemInfoArrayAdapter.java @@ -60,12 +60,17 @@ public class ItemInfoArrayAdapter exten summary.setVisibility(View.GONE); } final ImageView image = root.findViewById(R.id.image); - image.setImageResource(item.mDrawableId); - if (getContext().getResources().getConfiguration().getLayoutDirection() - == View.LAYOUT_DIRECTION_LTR) { - image.setScaleType(ImageView.ScaleType.FIT_START); + if (item.mDrawableId == null) { + image.setVisibility(View.GONE); } else { - image.setScaleType(ImageView.ScaleType.FIT_END); + image.setVisibility(View.VISIBLE); + image.setImageResource(item.mDrawableId); + if (getContext().getResources().getConfiguration().getLayoutDirection() + == View.LAYOUT_DIRECTION_LTR) { + image.setScaleType(ImageView.ScaleType.FIT_START); + } else { + image.setScaleType(ImageView.ScaleType.FIT_END); + } } return root; } @@ -78,11 +83,12 @@ public class ItemInfoArrayAdapter exten public final CharSequence mTitle; @Nullable public final CharSequence mSummary; + @Nullable @DrawableRes - public final int mDrawableId; + public final Integer mDrawableId; public ItemInfo(@NonNull CharSequence title, @Nullable CharSequence summary, - @DrawableRes int drawableId) { + @Nullable @DrawableRes Integer drawableId) { mTitle = title; mSummary = summary; mDrawableId = drawableId;