Fixed a bug where the colorization was lost when reinflating
Because we're reloading the drawable, it's colorfilter was lost. Let's make sure we're reapplying any tints that we had when doing so. Test: add colorized notification, reinflate Change-Id: I11e59636317eb65da5573529f0dd44571ca10cce Fixes: 63901744
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.ColorFilter;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.RippleDrawable;
|
||||
@@ -34,6 +35,7 @@ public class NotificationBackgroundView extends View {
|
||||
private int mClipTopAmount;
|
||||
private int mActualHeight;
|
||||
private int mClipBottomAmount;
|
||||
private int mTintColor;
|
||||
|
||||
public NotificationBackgroundView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
@@ -87,6 +89,7 @@ public class NotificationBackgroundView extends View {
|
||||
mBackground = background;
|
||||
if (mBackground != null) {
|
||||
mBackground.setCallback(this);
|
||||
setTint(mTintColor);
|
||||
}
|
||||
if (mBackground instanceof RippleDrawable) {
|
||||
((RippleDrawable) mBackground).setForceSoftware(true);
|
||||
@@ -105,6 +108,7 @@ public class NotificationBackgroundView extends View {
|
||||
} else {
|
||||
mBackground.clearColorFilter();
|
||||
}
|
||||
mTintColor = tintColor;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user