New feature “Text and reading options” for SetupWizard, Wallpaper, and Settings (12/n).

- Link-up between the preview, font size, and display size preferences.
- Add the preview preference and entry.

Bug: 211503117
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingPreviewControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingPreviewPreferenceTest
Change-Id: Ic6c48861a0051670fd78b13dca5488711de30cb8
This commit is contained in:
Peter_Liang
2022-01-27 15:37:36 +08:00
parent 0eee699438
commit edb52508d3
7 changed files with 386 additions and 11 deletions

View File

@@ -16,8 +16,16 @@
package com.android.settings.accessibility;
import static com.android.settings.accessibility.TextReadingPreviewController.PREVIEW_SAMPLE_RES_IDS;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.content.Context;
import android.content.res.Configuration;
import android.view.LayoutInflater;
@@ -50,12 +58,11 @@ public class TextReadingPreviewPreferenceTest {
@Before
public void setUp() {
final Context context = ApplicationProvider.getApplicationContext();
final int[] sampleResIds = new int[]{1, 2, 3, 4, 5, 6};
final Configuration[] configurations = createConfigurations(6);
final Configuration[] configurations = createConfigurations(PREVIEW_SAMPLE_RES_IDS.length);
mTextReadingPreviewPreference = new TextReadingPreviewPreference(context);
mPreviewPagerAdapter =
new PreviewPagerAdapter(context, /* isLayoutRtl= */ false, sampleResIds,
configurations);
spy(new PreviewPagerAdapter(context, /* isLayoutRtl= */ false,
PREVIEW_SAMPLE_RES_IDS, configurations));
final LayoutInflater inflater = LayoutInflater.from(context);
final View view =
inflater.inflate(mTextReadingPreviewPreference.getLayoutResource(),
@@ -87,7 +94,7 @@ public class TextReadingPreviewPreferenceTest {
@Test
public void setCurrentItem_success() {
final int currentItem = 3;
final int currentItem = 1;
mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
mTextReadingPreviewPreference.onBindViewHolder(mHolder);
@@ -104,6 +111,24 @@ public class TextReadingPreviewPreferenceTest {
mTextReadingPreviewPreference.setCurrentItem(currentItem);
}
@Test(expected = NullPointerException.class)
public void updatePagerWithoutPreviewAdapter_throwNPE() {
final int index = 1;
mTextReadingPreviewPreference.notifyPreviewPagerChanged(index);
}
@Test
public void notifyPreviewPager_setPreviewLayer() {
final int index = 2;
mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
mTextReadingPreviewPreference.onBindViewHolder(mHolder);
mTextReadingPreviewPreference.notifyPreviewPagerChanged(index);
verify(mPreviewPagerAdapter).setPreviewLayer(eq(index), anyInt(), anyInt(), anyBoolean());
}
private static Configuration[] createConfigurations(int count) {
final Configuration[] configurations = new Configuration[count];
for (int i = 0; i < count; i++) {