Fix the preview should keep the same layer after font or display size change.

Bug: 259213786
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TextReadingPreviewPreferenceTest
Change-Id: Ifc0047e47806662174712bb8628193bee906b384
This commit is contained in:
Peter Liang
2022-12-05 22:00:46 +08:00
parent 2af12acaed
commit f5c7c52ca1
4 changed files with 70 additions and 10 deletions

View File

@@ -37,6 +37,24 @@ public class TextReadingPreviewPreference extends Preference {
private int mLastLayerIndex;
private PreviewPagerAdapter mPreviewAdapter;
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();
@@ -63,6 +81,7 @@ public class TextReadingPreviewPreference extends Preference {
super.onBindViewHolder(holder);
final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager);
viewPager.addOnPageChangeListener(mPageChangeListener);
final DotsPageIndicator pageIndicator =
(DotsPageIndicator) holder.findViewById(R.id.page_indicator);
updateAdapterIfNeeded(viewPager, pageIndicator, mPreviewAdapter);