Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35fafa5e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix mode icon sharing in modes list" into main

parents 6ce743bc 58b04ae7
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ class IconUtil {

    private static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon,
            @AttrRes int colorAttr) {
        icon = icon.mutate();
        icon = mutateDrawable(context.getResources(), icon);
        icon.setTintList(Utils.getColorAttr(context, colorAttr));
        return icon;
    }
@@ -218,9 +218,9 @@ class IconUtil {

    private static Drawable composeIcons(Resources res, Drawable outer, ColorStateList outerColor,
            @Px int outerSizePx, Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
        Drawable background = checkNotNull(outer.getConstantState()).newDrawable(res).mutate();
        Drawable background = mutateDrawable(res, outer);
        background.setTintList(outerColor);
        Drawable foreground = checkNotNull(icon.getConstantState()).newDrawable(res).mutate();
        Drawable foreground = mutateDrawable(res, icon);
        foreground.setTintList(iconColor);

        LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, foreground });
@@ -232,4 +232,13 @@ class IconUtil {
        layerDrawable.setBounds(0, 0, outerSizePx, outerSizePx);
        return layerDrawable;
    }

    private static Drawable mutateDrawable(Resources res, Drawable drawable) {
        Drawable.ConstantState cs = drawable.getConstantState();
        if (cs != null) {
            return cs.newDrawable(res).mutate();
        } else {
            return drawable.mutate();
        }
    }
}