Merge "fix(text preference): fix preview block ui broken in SUW" into main

This commit is contained in:
Roy Chou
2023-11-20 03:11:29 +00:00
committed by Android (Google) Code Review
8 changed files with 136 additions and 12 deletions

View File

@@ -16,11 +16,13 @@
package com.android.settings.accessibility;
import static com.android.settings.accessibility.TextReadingPreferenceFragment.PREVIEW_KEY;
import static com.android.settings.accessibility.TextReadingPreferenceFragment.RESET_KEY;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -65,6 +67,9 @@ public class TextReadingPreferenceFragmentForSetupWizardTest {
@Mock
private FragmentActivity mActivity;
@Mock
private TextReadingPreviewPreference mPreviewPreference;
@Spy
private final Context mContext = ApplicationProvider.getApplicationContext();
private TextReadingPreferenceFragmentForSetupWizard mFragment;
@@ -77,6 +82,7 @@ public class TextReadingPreferenceFragmentForSetupWizardTest {
doReturn(mContext).when(mFragment).getContext();
doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
doReturn(resetPreference).when(mFragment).findPreference(RESET_KEY);
doReturn(mPreviewPreference).when(mFragment).findPreference(PREVIEW_KEY);
doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
}
@@ -109,4 +115,12 @@ public class TextReadingPreferenceFragmentForSetupWizardTest {
verify(mFooterBarMixin).setPrimaryButton(any());
verify(mFooterBarMixin).setSecondaryButton(any());
}
@Test
public void adjustPreviewPaddingsForSetupWizard_setPreviewLayoutPaddings() {
mFragment.adjustPreviewPaddingsForSetupWizard();
verify(mPreviewPreference).setLayoutMinHorizontalPadding(anyInt());
verify(mPreviewPreference).setBackgroundMinHorizontalPadding(anyInt());
}
}

View File

@@ -28,6 +28,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import androidx.preference.PreferenceViewHolder;
@@ -146,6 +147,44 @@ public class TextReadingPreviewPreferenceTest {
assertThat(mTextReadingPreviewPreference.getCurrentItem()).isEqualTo(currentItem);
}
@Test
public void adjustPaddings_setMinPaddingsLessThanXMLValue_paddingsNotIncreased() {
// get the default xml padding value
mTextReadingPreviewPreference.onBindViewHolder(mHolder);
final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
currentLayoutPaddingStart - 10);
mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
currentBackgroundPaddingStart - 10);
mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart);
assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart);
}
@Test
public void adjustPaddings_setMinPaddingsLargerThanXMLValue_paddingsIncreased() {
// get the default xml padding value
mTextReadingPreviewPreference.onBindViewHolder(mHolder);
final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
currentLayoutPaddingStart + 10);
mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
currentBackgroundPaddingStart + 10);
mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart + 10);
assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart + 10);
}
private static Configuration[] createConfigurations(int count) {
final Configuration[] configurations = new Configuration[count];
for (int i = 0; i < count; i++) {