diff --git a/res/layout/accessibility_text_reading_preview.xml b/res/layout/accessibility_text_reading_preview.xml index 2532a7957eb..252736efa0b 100644 --- a/res/layout/accessibility_text_reading_preview.xml +++ b/res/layout/accessibility_text_reading_preview.xml @@ -46,7 +46,6 @@ android:id="@+id/preview_pager" android:layout_width="wrap_content" android:layout_height="217dp" - android:contentDescription="@string/preview_pager_content_description" android:nestedScrollingEnabled="true" /> - - + android:contentDescription="@string/preview_pager_home_content_description" > + + diff --git a/res/layout/accessibility_text_reading_preview_mail_content.xml b/res/layout/accessibility_text_reading_preview_mail_content.xml index e55d3891b38..db5ee7dc91b 100644 --- a/res/layout/accessibility_text_reading_preview_mail_content.xml +++ b/res/layout/accessibility_text_reading_preview_mail_content.xml @@ -14,18 +14,18 @@ See the License for the specific language governing permissions and limitations under the License. --> - + android:contentDescription="@string/preview_pager_email_content_description"> + android:orientation="vertical" + android:importantForAccessibility="noHideDescendants"> + android:contentDescription="@string/preview_pager_message_content_description"> + android:layout_height="wrap_content" + android:importantForAccessibility="noHideDescendants"> - + @layout/accessibility_text_reading_preview_app_grid @layout/screen_zoom_preview_1 @layout/accessibility_text_reading_preview_mail_content - - - @string/preview_pager_home_content_description - @string/preview_pager_message_content_description - @string/preview_pager_email_content_description - - com.android.vending diff --git a/src/com/android/settings/accessibility/TextReadingPreviewController.java b/src/com/android/settings/accessibility/TextReadingPreviewController.java index e268aaa981f..99f1f3fa0c3 100644 --- a/src/com/android/settings/accessibility/TextReadingPreviewController.java +++ b/src/com/android/settings/accessibility/TextReadingPreviewController.java @@ -104,13 +104,11 @@ class TextReadingPreviewController extends BasePreferenceController implements final boolean isLayoutRtl = origConfig.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; final int[] previewSamples = getPreviewSampleLayouts(mContext); - final int[] previewContentDescriptions = getPreviewSampleContentDescriptions(mContext); final PreviewPagerAdapter pagerAdapter = new PreviewPagerAdapter(mContext, isLayoutRtl, previewSamples, createConfig(origConfig)); mPreviewPreference.setPreviewAdapter(pagerAdapter); mPreviewPreference.setCurrentItem( isLayoutRtl ? previewSamples.length - 1 : FRAME_INITIAL_INDEX); - mPreviewPreference.setContentDescription(previewContentDescriptions); final int initialPagerIndex = mLastFontProgress * mDisplaySizeData.getValues().size() + mLastDisplayProgress; @@ -190,20 +188,6 @@ class TextReadingPreviewController extends BasePreferenceController implements return previewSamples; } - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) - static int[] getPreviewSampleContentDescriptions(Context context) { - TypedArray typedArray = context.getResources().obtainTypedArray( - R.array.config_text_reading_preview_content_descriptions); - int previewCount = typedArray.length(); - int[] previewContentDescriptions = new int[previewCount]; - for (int i = 0; i < previewCount; i++) { - previewContentDescriptions[i] = - typedArray.getResourceId(i, R.string.preview_pager_content_description); - } - typedArray.recycle(); - return previewContentDescriptions; - } - private int getPagerIndex() { final int displayDataSize = mDisplaySizeData.getValues().size(); final int fontSizeProgress = mFontSizePreference.getProgress(); diff --git a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java index a4676baf58a..6d607364dea 100644 --- a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java +++ b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java @@ -43,10 +43,26 @@ public class TextReadingPreviewPreference extends Preference { private int mCurrentItem; private int mLastLayerIndex; private PreviewPagerAdapter mPreviewAdapter; - private int[] mContentDescriptions; private int mLayoutMinHorizontalPadding = 0; private int mBackgroundMinHorizontalPadding = 0; + private final ViewPager.OnPageChangeListener mPageChangeListener = + new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int i, float v, int i1) { + // Do nothing + } + + @Override + public void onPageSelected(int i) { + mCurrentItem = i; + } + + @Override + public void onPageScrollStateChanged(int i) { + // Do nothing + } + }; TextReadingPreviewPreference(Context context) { super(context); @@ -78,23 +94,7 @@ public class TextReadingPreviewPreference extends Preference { adjustPaddings(previewLayout, backgroundView); final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager); - viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { - @Override - public void onPageScrolled(int i, float v, int i1) { - // Do nothing - } - - @Override - public void onPageSelected(int i) { - mCurrentItem = i; - viewPager.setContentDescription(getContext().getString(mContentDescriptions[i])); - } - - @Override - public void onPageScrollStateChanged(int i) { - // Do nothing - } - }); + viewPager.addOnPageChangeListener(mPageChangeListener); final DotsPageIndicator pageIndicator = (DotsPageIndicator) holder.findViewById(R.id.page_indicator); updateAdapterIfNeeded(viewPager, pageIndicator, mPreviewAdapter); @@ -121,10 +121,6 @@ public class TextReadingPreviewPreference extends Preference { viewPager.setCurrentItem(getCurrentItem() + 1)); nextButton.setContentDescription(getContext().getString( R.string.preview_pager_next_button)); - - // Initialize the content description since the OnPageChangeListener#onPageSelected won't - // be called during setup. - viewPager.setContentDescription(getContext().getString(mContentDescriptions[0])); } @Override @@ -173,10 +169,6 @@ public class TextReadingPreviewPreference extends Preference { ); } - void setContentDescription(int[] stringIds) { - mContentDescriptions = stringIds; - } - void setPreviewAdapter(PreviewPagerAdapter previewAdapter) { if (previewAdapter != mPreviewAdapter) { mPreviewAdapter = previewAdapter; diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java index 81c869d5063..375952f725c 100644 --- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java @@ -16,8 +16,6 @@ package com.android.settings.accessibility; -import static com.google.common.truth.Truth.assertThat; - import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; @@ -78,15 +76,6 @@ public class TextReadingPreviewControllerTest { mDisplaySizePreference = new AccessibilitySeekBarPreference(mContext, /* attr= */ null); } - @Test - public void numberOfPreviewSamples_numberOfPreviewContentDescription_isEqual() { - int[] previewSamples = TextReadingPreviewController.getPreviewSampleLayouts(mContext); - int[] previewContentDescriptions = - TextReadingPreviewController.getPreviewSampleContentDescriptions(mContext); - - assertThat(previewSamples.length).isEqualTo(previewContentDescriptions.length); - } - @Test public void initPreviewerAdapter_verifyAction() { when(mPreferenceScreen.findPreference(PREVIEW_KEY)).thenReturn(mPreviewPreference); diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java index 9cd8fa232c5..ac503bd9ebc 100644 --- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java @@ -49,48 +49,28 @@ import org.robolectric.RobolectricTestRunner; */ @RunWith(RobolectricTestRunner.class) public class TextReadingPreviewPreferenceTest { - private Context mContext; private TextReadingPreviewPreference mTextReadingPreviewPreference; private PreferenceViewHolder mHolder; private ViewPager mViewPager; private PreviewPagerAdapter mPreviewPagerAdapter; private int mPreviewSampleCount; - private int[] mPreviewContentDescriptions; @Before public void setUp() { - mContext = ApplicationProvider.getApplicationContext(); - mPreviewContentDescriptions = - TextReadingPreviewController.getPreviewSampleContentDescriptions(mContext); - final int[] previewSamples = TextReadingPreviewController.getPreviewSampleLayouts(mContext); + final Context context = ApplicationProvider.getApplicationContext(); + final int[] previewSamples = TextReadingPreviewController.getPreviewSampleLayouts(context); mPreviewSampleCount = previewSamples.length; final Configuration[] configurations = createConfigurations(mPreviewSampleCount); - mTextReadingPreviewPreference = new TextReadingPreviewPreference(mContext); + mTextReadingPreviewPreference = new TextReadingPreviewPreference(context); mPreviewPagerAdapter = - spy(new PreviewPagerAdapter(mContext, /* isLayoutRtl= */ false, + spy(new PreviewPagerAdapter(context, /* isLayoutRtl= */ false, previewSamples, configurations)); - final LayoutInflater inflater = LayoutInflater.from(mContext); + final LayoutInflater inflater = LayoutInflater.from(context); final View view = inflater.inflate(mTextReadingPreviewPreference.getLayoutResource(), - new LinearLayout(mContext), false); + new LinearLayout(context), false); mHolder = PreferenceViewHolder.createInstanceForTests(view); mViewPager = view.findViewById(R.id.preview_pager); - mTextReadingPreviewPreference.setContentDescription(mPreviewContentDescriptions); - } - - @Test - public void changePreviewPage_getExpectedContentDescription() { - mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter); - mTextReadingPreviewPreference.onBindViewHolder(mHolder); - - // Verify the initial content description - assertThat(mViewPager.getContentDescription().toString()) - .isEqualTo(mContext.getString(mPreviewContentDescriptions[0])); - - // Change the preview page - mViewPager.setCurrentItem(1); - assertThat(mViewPager.getContentDescription().toString()) - .isEqualTo(mContext.getString(mPreviewContentDescriptions[1])); } @Test