Loading packages/SettingsLib/src/com/android/settingslib/Utils.java +33 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.location.LocationManager; Loading Loading @@ -307,6 +310,36 @@ public class Utils { return drawable; } /** * Create a color matrix suitable for a ColorMatrixColorFilter that modifies only the color but * preserves the alpha for a given drawable * @param color * @return a color matrix that uses the source alpha and given color */ public static ColorMatrix getAlphaInvariantColorMatrixForColor(@ColorInt int color) { int r = Color.red(color); int g = Color.green(color); int b = Color.blue(color); ColorMatrix cm = new ColorMatrix(new float[] { 0, 0, 0, 0, r, 0, 0, 0, 0, g, 0, 0, 0, 0, b, 0, 0, 0, 1, 0 }); return cm; } /** * Create a ColorMatrixColorFilter to tint a drawable but retain its alpha characteristics * * @return a ColorMatrixColorFilter which changes the color of the output but is invariant on * the source alpha */ public static ColorFilter getAlphaInvariantColorFilterForColor(@ColorInt int color) { return new ColorMatrixColorFilter(getAlphaInvariantColorMatrixForColor(color)); } /** * Determine whether a package is a "system package", in which case certain things (like * disabling notifications or disabling the package altogether) should be disallowed. Loading packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt +2 −1 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) private val fillColorStrokePaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p -> p.color = frameColor p.alpha = 255 p.isDither = true p.strokeWidth = 5f p.style = Paint.Style.STROKE Loading Loading @@ -145,7 +146,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) // Only used if dualTone is set to true private val dualToneBackgroundFill = Paint(Paint.ANTI_ALIAS_FLAG).also { p -> p.color = frameColor p.alpha = 255 p.alpha = 85 // ~0.3 alpha by default p.isDither = true p.strokeWidth = 0f p.style = Paint.Style.FILL_AND_STROKE Loading Loading
packages/SettingsLib/src/com/android/settingslib/Utils.java +33 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.location.LocationManager; Loading Loading @@ -307,6 +310,36 @@ public class Utils { return drawable; } /** * Create a color matrix suitable for a ColorMatrixColorFilter that modifies only the color but * preserves the alpha for a given drawable * @param color * @return a color matrix that uses the source alpha and given color */ public static ColorMatrix getAlphaInvariantColorMatrixForColor(@ColorInt int color) { int r = Color.red(color); int g = Color.green(color); int b = Color.blue(color); ColorMatrix cm = new ColorMatrix(new float[] { 0, 0, 0, 0, r, 0, 0, 0, 0, g, 0, 0, 0, 0, b, 0, 0, 0, 1, 0 }); return cm; } /** * Create a ColorMatrixColorFilter to tint a drawable but retain its alpha characteristics * * @return a ColorMatrixColorFilter which changes the color of the output but is invariant on * the source alpha */ public static ColorFilter getAlphaInvariantColorFilterForColor(@ColorInt int color) { return new ColorMatrixColorFilter(getAlphaInvariantColorMatrixForColor(color)); } /** * Determine whether a package is a "system package", in which case certain things (like * disabling notifications or disabling the package altogether) should be disallowed. Loading
packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt +2 −1 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) private val fillColorStrokePaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p -> p.color = frameColor p.alpha = 255 p.isDither = true p.strokeWidth = 5f p.style = Paint.Style.STROKE Loading Loading @@ -145,7 +146,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) // Only used if dualTone is set to true private val dualToneBackgroundFill = Paint(Paint.ANTI_ALIAS_FLAG).also { p -> p.color = frameColor p.alpha = 255 p.alpha = 85 // ~0.3 alpha by default p.isDither = true p.strokeWidth = 0f p.style = Paint.Style.FILL_AND_STROKE Loading