fix(ColorCorrection): Palette preview text contrast Issue
Root Cause: The palette preview's text color inherits dynamic colors from the BC pattern, leading to insufficient contrast against some backgrounds. This wasn't a problem in the original design, as the BC pattern was introduced later. Solution: Set the palette preview text color to textColorPrimary to ensure the text remains legible against a wider range of background colors. Bug: 378775277 Flag: EXEMPT bugfix Test: atest PaletteListPreferenceTest Change-Id: I8efb9f9d916d618b450df169292202e499d8ac0d
This commit is contained in:
@@ -24,6 +24,7 @@ import static com.android.settings.accessibility.AccessibilityUtil.getScreenWidt
|
||||
import static com.google.common.primitives.Ints.max;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Paint.FontMetrics;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.util.AttributeSet;
|
||||
@@ -39,6 +40,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.Utils;
|
||||
|
||||
import com.google.common.primitives.Floats;
|
||||
import com.google.common.primitives.Ints;
|
||||
@@ -128,6 +130,8 @@ public final class PaletteListPreference extends Preference {
|
||||
final List<Integer> paletteColors = getPaletteColors(context);
|
||||
final List<String> paletteData = getPaletteData(context);
|
||||
|
||||
final ColorStateList textColor =
|
||||
Utils.getColorAttr(getContext(), android.R.attr.textColorPrimary);
|
||||
final float textPadding =
|
||||
context.getResources().getDimension(R.dimen.accessibility_layout_margin_start_end);
|
||||
final String maxLengthData =
|
||||
@@ -143,6 +147,7 @@ public final class PaletteListPreference extends Preference {
|
||||
for (int i = 0; i < paletteData.size(); ++i) {
|
||||
final TextView textView = new TextView(context);
|
||||
textView.setText(paletteData.get(i));
|
||||
textView.setTextColor(textColor);
|
||||
textView.setHeight(paletteItemHeight);
|
||||
textView.setPaddingRelative(Math.round(textPadding), 0, 0, 0);
|
||||
textView.setGravity(Gravity.CENTER_VERTICAL);
|
||||
|
Reference in New Issue
Block a user