Properly store values to pass to constant state
There's no way to retrieve the last set tint list, so store it (as we were passing it to the constant state). Test: manual Fixes: 198413369 Change-Id: I665f9f955ff90accd6dcda275521715039641a6b
This commit is contained in:
@@ -109,6 +109,12 @@ public class AlphaTintDrawableWrapper extends InsetDrawable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTintList(ColorStateList tint) {
|
||||
super.setTintList(tint);
|
||||
mTint = tint;
|
||||
}
|
||||
|
||||
private void applyTint() {
|
||||
if (getDrawable() != null && mTint != null) {
|
||||
getDrawable().mutate().setTintList(mTint);
|
||||
|
||||
@@ -69,6 +69,10 @@ class RoundedCornerProgressDrawable @JvmOverloads constructor(
|
||||
return super.getChangingConfigurations() or ActivityInfo.CONFIG_DENSITY
|
||||
}
|
||||
|
||||
override fun canApplyTheme(): Boolean {
|
||||
return (drawable?.canApplyTheme() ?: false) || super.canApplyTheme()
|
||||
}
|
||||
|
||||
private class RoundedCornerState(private val wrappedState: ConstantState) : ConstantState() {
|
||||
override fun newDrawable(): Drawable {
|
||||
return newDrawable(null, null)
|
||||
@@ -82,5 +86,9 @@ class RoundedCornerProgressDrawable @JvmOverloads constructor(
|
||||
override fun getChangingConfigurations(): Int {
|
||||
return wrappedState.changingConfigurations
|
||||
}
|
||||
|
||||
override fun canApplyTheme(): Boolean {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user