Merge "Default dual tone alpha set to 0.3" into rvc-qpr-dev
This commit is contained in:
@@ -14,6 +14,9 @@ import android.content.res.Resources;
|
|||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Color;
|
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.BitmapDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
@@ -302,6 +305,36 @@ public class Utils {
|
|||||||
return drawable;
|
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
|
* Determine whether a package is a "system package", in which case certain things (like
|
||||||
* disabling notifications or disabling the package altogether) should be disallowed.
|
* disabling notifications or disabling the package altogether) should be disallowed.
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
|
|||||||
|
|
||||||
private val fillColorStrokePaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
|
private val fillColorStrokePaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
|
||||||
p.color = frameColor
|
p.color = frameColor
|
||||||
|
p.alpha = 255
|
||||||
p.isDither = true
|
p.isDither = true
|
||||||
p.strokeWidth = 5f
|
p.strokeWidth = 5f
|
||||||
p.style = Paint.Style.STROKE
|
p.style = Paint.Style.STROKE
|
||||||
@@ -145,7 +146,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
|
|||||||
// Only used if dualTone is set to true
|
// Only used if dualTone is set to true
|
||||||
private val dualToneBackgroundFill = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
|
private val dualToneBackgroundFill = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
|
||||||
p.color = frameColor
|
p.color = frameColor
|
||||||
p.alpha = 255
|
p.alpha = 85 // ~0.3 alpha by default
|
||||||
p.isDither = true
|
p.isDither = true
|
||||||
p.strokeWidth = 0f
|
p.strokeWidth = 0f
|
||||||
p.style = Paint.Style.FILL_AND_STROKE
|
p.style = Paint.Style.FILL_AND_STROKE
|
||||||
|
|||||||
Reference in New Issue
Block a user