Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a03f67e2 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

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
parent 41e02db2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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);
+8 −0
Original line number Diff line number Diff line
@@ -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
        }
    }
}
 No newline at end of file