summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/graphics/drawable/BackgroundBlurDrawable.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/com/android/internal/graphics/drawable/BackgroundBlurDrawable.java b/core/java/com/android/internal/graphics/drawable/BackgroundBlurDrawable.java
index 6ea9e665c009..9eab6211dd43 100644
--- a/core/java/com/android/internal/graphics/drawable/BackgroundBlurDrawable.java
+++ b/core/java/com/android/internal/graphics/drawable/BackgroundBlurDrawable.java
@@ -20,6 +20,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.graphics.Canvas;
+import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Path;
@@ -75,7 +76,8 @@ public final class BackgroundBlurDrawable extends Drawable {
private BackgroundBlurDrawable(Aggregator aggregator) {
mAggregator = aggregator;
- mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
+ mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
+ mPaint.setColor(Color.TRANSPARENT);
mRenderNode = new RenderNode("BackgroundBlurDrawable");
mRenderNode.addPositionUpdateListener(mPositionUpdateListener);
}
@@ -85,11 +87,17 @@ public final class BackgroundBlurDrawable extends Drawable {
if (mRectPath.isEmpty() || !isVisible() || getAlpha() == 0) {
return;
}
+
canvas.drawPath(mRectPath, mPaint);
canvas.drawRenderNode(mRenderNode);
}
@Override
+ public void setTint(int tintColor) {
+ mPaint.setColor(tintColor);
+ }
+
+ @Override
public boolean setVisible(boolean visible, boolean restart) {
boolean changed = super.setVisible(visible, restart);
if (changed) {