Merge "fix(text preference): fix preview block ui broken in SUW" into main
This commit is contained in:
@@ -62,7 +62,7 @@ public class TextReadingPreferenceFragment extends DashboardFragment {
|
||||
static final String BOLD_TEXT_KEY = "toggle_force_bold_text";
|
||||
static final String HIGH_TEXT_CONTRAST_KEY = "toggle_high_text_contrast_preference";
|
||||
static final String RESET_KEY = "reset";
|
||||
private static final String PREVIEW_KEY = "preview";
|
||||
static final String PREVIEW_KEY = "preview";
|
||||
private static final String NEED_RESET_SETTINGS = "need_reset_settings";
|
||||
private static final String LAST_PREVIEW_INDEX = "last_preview_index";
|
||||
private static final int UNKNOWN_INDEX = -1;
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.Utils;
|
||||
|
||||
@@ -41,6 +42,24 @@ import com.google.android.setupdesign.GlifPreferenceLayout;
|
||||
*/
|
||||
public class TextReadingPreferenceFragmentForSetupWizard extends TextReadingPreferenceFragment {
|
||||
|
||||
@Override
|
||||
public void addPreferencesFromResource(int preferencesResId) {
|
||||
super.addPreferencesFromResource(preferencesResId);
|
||||
|
||||
adjustPreviewPaddingsForSetupWizard();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void adjustPreviewPaddingsForSetupWizard() {
|
||||
TextReadingPreviewPreference textReadingPreviewPreference = findPreference(PREVIEW_KEY);
|
||||
textReadingPreviewPreference.setLayoutMinHorizontalPadding(
|
||||
getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.text_reading_preview_layout_padding_horizontal_min_suw));
|
||||
textReadingPreviewPreference.setBackgroundMinHorizontalPadding(
|
||||
getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.text_reading_preview_background_padding_horizontal_min_suw));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
@@ -19,11 +19,14 @@ package com.android.settings.accessibility;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.display.PreviewPagerAdapter;
|
||||
@@ -37,6 +40,9 @@ public class TextReadingPreviewPreference extends Preference {
|
||||
private int mLastLayerIndex;
|
||||
private PreviewPagerAdapter mPreviewAdapter;
|
||||
|
||||
private int mLayoutMinHorizontalPadding = 0;
|
||||
private int mBackgroundMinHorizontalPadding = 0;
|
||||
|
||||
private final ViewPager.OnPageChangeListener mPageChangeListener =
|
||||
new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
@@ -80,6 +86,10 @@ public class TextReadingPreviewPreference extends Preference {
|
||||
public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||
super.onBindViewHolder(holder);
|
||||
|
||||
FrameLayout previewLayout = (FrameLayout) holder.itemView;
|
||||
LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
|
||||
adjustPaddings(previewLayout, backgroundView);
|
||||
|
||||
final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager);
|
||||
viewPager.addOnPageChangeListener(mPageChangeListener);
|
||||
final DotsPageIndicator pageIndicator =
|
||||
@@ -88,6 +98,36 @@ public class TextReadingPreviewPreference extends Preference {
|
||||
updatePagerAndIndicator(viewPager, pageIndicator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the minimum preview layout horizontal inner padding.
|
||||
*/
|
||||
void setLayoutMinHorizontalPadding(int layoutMinHorizontalPadding) {
|
||||
mLayoutMinHorizontalPadding = layoutMinHorizontalPadding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the minimum preview background view horizontal inner padding.
|
||||
*/
|
||||
void setBackgroundMinHorizontalPadding(int backgroundMinHorizontalPadding) {
|
||||
mBackgroundMinHorizontalPadding = backgroundMinHorizontalPadding;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void adjustPaddings(FrameLayout previewLayout, LinearLayout backgroundView) {
|
||||
previewLayout.setPadding(
|
||||
Math.max(previewLayout.getPaddingStart(), mLayoutMinHorizontalPadding),
|
||||
previewLayout.getPaddingTop(),
|
||||
Math.max(previewLayout.getPaddingEnd(), mLayoutMinHorizontalPadding),
|
||||
previewLayout.getPaddingBottom()
|
||||
);
|
||||
backgroundView.setPadding(
|
||||
Math.max(backgroundView.getPaddingStart(), mBackgroundMinHorizontalPadding),
|
||||
backgroundView.getPaddingTop(),
|
||||
Math.max(backgroundView.getPaddingEnd(), mBackgroundMinHorizontalPadding),
|
||||
backgroundView.getPaddingBottom()
|
||||
);
|
||||
}
|
||||
|
||||
void setPreviewAdapter(PreviewPagerAdapter previewAdapter) {
|
||||
if (previewAdapter != mPreviewAdapter) {
|
||||
mPreviewAdapter = previewAdapter;
|
||||
@@ -142,6 +182,12 @@ public class TextReadingPreviewPreference extends Preference {
|
||||
}
|
||||
|
||||
private void init() {
|
||||
// set up the minimum horizontal paddings
|
||||
setLayoutMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.text_reading_preview_layout_padding_horizontal_min));
|
||||
setBackgroundMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
|
||||
R.dimen.text_reading_preview_background_padding_horizontal_min));
|
||||
|
||||
setLayoutResource(R.layout.accessibility_text_reading_preview);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user