Migrate materialColor* attributes into colors
The new color were already introduces in a previous CL ag/30322786 This CL is about replacing the attribute usage by the new color resources, which should work the same but cannot be overwritten, or styled, guaranteeing consistency across the OS. The old attributes will be removed in CL: ag/29910036 Bug: 374273611 Test: presubmit Flag: EXEMPT Un-flaggable refactor of private color resources Change-Id: I05b5261054bcb6de40e4e40d633025495f3dd01f
This commit is contained in:
@@ -23,6 +23,7 @@ import android.content.res.ColorStateList;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Typeface;
|
||||
@@ -36,6 +37,7 @@ import android.util.StateSet;
|
||||
import android.view.Gravity;
|
||||
|
||||
import androidx.annotation.AttrRes;
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -81,21 +83,19 @@ class IconUtil {
|
||||
Drawable base = composeIcons(
|
||||
context.getResources(),
|
||||
background,
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorSecondaryContainer),
|
||||
outerSizePx,
|
||||
modeIcon,
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorOnSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorOnSecondaryContainer),
|
||||
innerSizePx);
|
||||
|
||||
Drawable selected = composeIcons(
|
||||
context.getResources(),
|
||||
background,
|
||||
Utils.getColorAttr(context, com.android.internal.R.attr.materialColorPrimary),
|
||||
context.getColor(com.android.internal.R.color.materialColorPrimary),
|
||||
outerSizePx,
|
||||
modeIcon,
|
||||
Utils.getColorAttr(context, com.android.internal.R.attr.materialColorOnPrimary),
|
||||
context.getColor(com.android.internal.R.color.materialColorOnPrimary),
|
||||
innerSizePx);
|
||||
|
||||
StateListDrawable result = new StateListDrawable();
|
||||
@@ -114,13 +114,11 @@ class IconUtil {
|
||||
static Drawable makeIconPickerHeader(@NonNull Context context, Drawable icon) {
|
||||
return composeIconCircle(
|
||||
context.getResources(),
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorSecondaryContainer),
|
||||
context.getResources().getDimensionPixelSize(
|
||||
R.dimen.zen_mode_icon_list_header_circle_diameter),
|
||||
icon,
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorOnSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorOnSecondaryContainer),
|
||||
context.getResources().getDimensionPixelSize(
|
||||
R.dimen.zen_mode_icon_list_header_icon_size));
|
||||
}
|
||||
@@ -151,13 +149,11 @@ class IconUtil {
|
||||
@DrawableRes int iconResId) {
|
||||
return composeIconCircle(
|
||||
context.getResources(),
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorSecondaryContainer),
|
||||
context.getResources().getDimensionPixelSize(
|
||||
R.dimen.zen_mode_circular_icon_diameter),
|
||||
checkNotNull(context.getDrawable(iconResId)),
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorOnSecondaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorOnSecondaryContainer),
|
||||
context.getResources().getDimensionPixelSize(
|
||||
R.dimen.zen_mode_circular_icon_inner_icon_size));
|
||||
}
|
||||
@@ -172,12 +168,10 @@ class IconUtil {
|
||||
if (Strings.isNullOrEmpty(displayName)) {
|
||||
return composeIconCircle(
|
||||
context.getResources(),
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorTertiaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorTertiaryContainer),
|
||||
res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_diameter),
|
||||
checkNotNull(context.getDrawable(R.drawable.ic_zen_mode_generic_contact)),
|
||||
Utils.getColorAttr(context,
|
||||
com.android.internal.R.attr.materialColorOnTertiaryContainer),
|
||||
context.getColor(com.android.internal.R.color.materialColorOnTertiaryContainer),
|
||||
res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_inner_icon_size));
|
||||
}
|
||||
|
||||
@@ -187,14 +181,14 @@ class IconUtil {
|
||||
Canvas canvas = new Canvas(bitmap);
|
||||
|
||||
Paint circlePaint = new Paint();
|
||||
circlePaint.setColor(Utils.getColorAttrDefaultColor(context,
|
||||
com.android.internal.R.attr.materialColorTertiaryContainer));
|
||||
circlePaint.setColor(context.getColor(
|
||||
com.android.internal.R.color.materialColorTertiaryContainer));
|
||||
circlePaint.setFlags(Paint.ANTI_ALIAS_FLAG);
|
||||
canvas.drawCircle(diameter / 2f, diameter / 2f, diameter / 2f, circlePaint);
|
||||
|
||||
Paint textPaint = new Paint();
|
||||
textPaint.setColor(Utils.getColorAttrDefaultColor(context,
|
||||
com.android.internal.R.attr.materialColorOnTertiaryContainer));
|
||||
textPaint.setColor(context.getColor(
|
||||
com.android.internal.R.color.materialColorOnTertiaryContainer));
|
||||
textPaint.setTypeface(Typeface.create("sans-serif", Typeface.NORMAL));
|
||||
textPaint.setTextAlign(Paint.Align.LEFT);
|
||||
textPaint.setTextSize(res.getDimensionPixelSize(R.dimen.zen_mode_circular_icon_text_size));
|
||||
@@ -210,12 +204,24 @@ class IconUtil {
|
||||
return new BitmapDrawable(context.getResources(), bitmap);
|
||||
}
|
||||
|
||||
private static Drawable composeIconCircle(Resources res, @ColorInt int circleColor,
|
||||
@Px int circleDiameterPx, Drawable icon, @ColorInt int iconColor, @Px int iconSizePx) {
|
||||
return composeIconCircle(res, ColorStateList.valueOf(circleColor), circleDiameterPx, icon,
|
||||
ColorStateList.valueOf(iconColor), iconSizePx);
|
||||
}
|
||||
|
||||
private static Drawable composeIconCircle(Resources res, ColorStateList circleColor,
|
||||
@Px int circleDiameterPx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
|
||||
return composeIcons(res, new ShapeDrawable(new OvalShape()), circleColor, circleDiameterPx,
|
||||
icon, iconColor, iconSizePx);
|
||||
}
|
||||
|
||||
private static Drawable composeIcons(Resources res, Drawable outer, @ColorInt int outerColor,
|
||||
@Px int outerSizePx, Drawable icon, @ColorInt int iconColor, @Px int iconSizePx) {
|
||||
return composeIcons(res, outer, ColorStateList.valueOf(outerColor), outerSizePx, icon,
|
||||
ColorStateList.valueOf(iconColor), iconSizePx);
|
||||
}
|
||||
|
||||
private static Drawable composeIcons(Resources res, Drawable outer, ColorStateList outerColor,
|
||||
@Px int outerSizePx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
|
||||
Drawable background = mutateDrawable(res, outer);
|
||||
|
||||
Reference in New Issue
Block a user