Loading res/values/config.xml +11 −1 Original line number Diff line number Diff line Loading @@ -810,13 +810,23 @@ <!-- Allowed packages to show the confirmation dialog for a system locale suggestion --> <string-array name="allowed_packages_for_locale_confirmation_diallog" translatable="false"/> <!-- Array of text reading preview layouts. Must contain at least 1 layout --> <!-- Array of text reading preview layouts. Must contain at least 1 layout. Add content descriptions in the config_text_reading_preview_content_descriptions together if adding more sample layouts here --> <array name="config_text_reading_preview_samples"> <item>@layout/accessibility_text_reading_preview_app_grid</item> <item>@layout/screen_zoom_preview_1</item> <item>@layout/accessibility_text_reading_preview_mail_content</item> </array> <!-- Array of text reading preview layouts' content descriptions. The order should be the same as the layouts in config_text_reading_preview_samples --> <array name="config_text_reading_preview_content_descriptions"> <item>@string/preview_pager_home_content_description</item> <item>@string/preview_pager_message_content_description</item> <item>@string/preview_pager_email_content_description</item> </array> <!-- Package responsible for updating Mainline Modules --> <string name="config_mainline_module_update_package" translatable="false">com.android.vending</string> Loading res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,12 @@ <!-- Content description for preview pager. [CHAR LIMIT=NONE] --> <string name="preview_pager_content_description">Preview</string> <!-- Content description for home screen preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_home_content_description">Home screen preview</string> <!-- Content description for message preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_message_content_description">Message preview</string> <!-- Content description for email preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_email_content_description">Email preview</string> <!-- Content description for qrcode image. [CHAR LIMIT=none]--> <string name="qr_code_content_description">QR code</string> <!-- Previous button for preview pager. [CHAR LIMIT=NONE] --> src/com/android/settings/accessibility/TextReadingPreviewController.java +16 −0 Original line number Diff line number Diff line Loading @@ -104,11 +104,13 @@ 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; Loading Loading @@ -188,6 +190,20 @@ 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(); Loading src/com/android/settings/accessibility/TextReadingPreviewPreference.java +26 −19 Original line number Diff line number Diff line Loading @@ -43,28 +43,11 @@ 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); init(); Loading Loading @@ -95,7 +78,23 @@ public class TextReadingPreviewPreference extends Preference { adjustPaddings(previewLayout, backgroundView); final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager); viewPager.addOnPageChangeListener(mPageChangeListener); 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 } }); final DotsPageIndicator pageIndicator = (DotsPageIndicator) holder.findViewById(R.id.page_indicator); updateAdapterIfNeeded(viewPager, pageIndicator, mPreviewAdapter); Loading @@ -122,6 +121,10 @@ 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 Loading Loading @@ -170,6 +173,10 @@ public class TextReadingPreviewPreference extends Preference { ); } void setContentDescription(int[] stringIds) { mContentDescriptions = stringIds; } void setPreviewAdapter(PreviewPagerAdapter previewAdapter) { if (previewAdapter != mPreviewAdapter) { mPreviewAdapter = previewAdapter; Loading tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ 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; Loading Loading @@ -76,6 +78,15 @@ 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); Loading Loading
res/values/config.xml +11 −1 Original line number Diff line number Diff line Loading @@ -810,13 +810,23 @@ <!-- Allowed packages to show the confirmation dialog for a system locale suggestion --> <string-array name="allowed_packages_for_locale_confirmation_diallog" translatable="false"/> <!-- Array of text reading preview layouts. Must contain at least 1 layout --> <!-- Array of text reading preview layouts. Must contain at least 1 layout. Add content descriptions in the config_text_reading_preview_content_descriptions together if adding more sample layouts here --> <array name="config_text_reading_preview_samples"> <item>@layout/accessibility_text_reading_preview_app_grid</item> <item>@layout/screen_zoom_preview_1</item> <item>@layout/accessibility_text_reading_preview_mail_content</item> </array> <!-- Array of text reading preview layouts' content descriptions. The order should be the same as the layouts in config_text_reading_preview_samples --> <array name="config_text_reading_preview_content_descriptions"> <item>@string/preview_pager_home_content_description</item> <item>@string/preview_pager_message_content_description</item> <item>@string/preview_pager_email_content_description</item> </array> <!-- Package responsible for updating Mainline Modules --> <string name="config_mainline_module_update_package" translatable="false">com.android.vending</string> Loading
res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,12 @@ <!-- Content description for preview pager. [CHAR LIMIT=NONE] --> <string name="preview_pager_content_description">Preview</string> <!-- Content description for home screen preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_home_content_description">Home screen preview</string> <!-- Content description for message preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_message_content_description">Message preview</string> <!-- Content description for email preview. [CHAR LIMIT=NONE] --> <string name="preview_pager_email_content_description">Email preview</string> <!-- Content description for qrcode image. [CHAR LIMIT=none]--> <string name="qr_code_content_description">QR code</string> <!-- Previous button for preview pager. [CHAR LIMIT=NONE] -->
src/com/android/settings/accessibility/TextReadingPreviewController.java +16 −0 Original line number Diff line number Diff line Loading @@ -104,11 +104,13 @@ 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; Loading Loading @@ -188,6 +190,20 @@ 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(); Loading
src/com/android/settings/accessibility/TextReadingPreviewPreference.java +26 −19 Original line number Diff line number Diff line Loading @@ -43,28 +43,11 @@ 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); init(); Loading Loading @@ -95,7 +78,23 @@ public class TextReadingPreviewPreference extends Preference { adjustPaddings(previewLayout, backgroundView); final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager); viewPager.addOnPageChangeListener(mPageChangeListener); 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 } }); final DotsPageIndicator pageIndicator = (DotsPageIndicator) holder.findViewById(R.id.page_indicator); updateAdapterIfNeeded(viewPager, pageIndicator, mPreviewAdapter); Loading @@ -122,6 +121,10 @@ 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 Loading Loading @@ -170,6 +173,10 @@ public class TextReadingPreviewPreference extends Preference { ); } void setContentDescription(int[] stringIds) { mContentDescriptions = stringIds; } void setPreviewAdapter(PreviewPagerAdapter previewAdapter) { if (previewAdapter != mPreviewAdapter) { mPreviewAdapter = previewAdapter; Loading
tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewControllerTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ 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; Loading Loading @@ -76,6 +78,15 @@ 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); Loading