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

Commit 503639db authored by Gus Prevas's avatar Gus Prevas
Browse files

Fixes volume dialog in dark mode.

This change removes the caching of color values in VolumeDialogImpl such
that the dialog will change its colors correctly when dark mode is
toggled.

Change-Id: I241edc284a33f60e60ec5e54f2e4d6bb0a0eadfd
Fixes: 116860768
Test: manually
parent 47e33057
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -135,10 +135,6 @@ public class VolumeDialogImpl implements VolumeDialog {
    private final AccessibilityManagerWrapper mAccessibilityMgr;
    private final Object mSafetyWarningLock = new Object();
    private final Accessibility mAccessibility = new Accessibility();
    private ColorStateList mActiveTint;
    private int mActiveAlpha;
    private ColorStateList mInactiveTint;
    private int mInactiveAlpha;

    private boolean mShowing;
    private boolean mShowA11yStream;
@@ -238,11 +234,6 @@ public class VolumeDialogImpl implements VolumeDialog {
        lp.gravity = ((FrameLayout.LayoutParams) mDialogView.getLayoutParams()).gravity;
        mWindow.setAttributes(lp);

        mActiveTint = Utils.getColorAccent(mContext);
        mActiveAlpha = Color.alpha(mActiveTint.getDefaultColor());
        mInactiveTint = Utils.getColorAttr(mContext, android.R.attr.colorForeground);
        mInactiveAlpha = getAlphaAttr(android.R.attr.secondaryContentAlpha);

        mDialogRowsView = mDialog.findViewById(R.id.volume_dialog_rows);
        mRinger = mDialog.findViewById(R.id.ringer);
        if (mRinger != null) {
@@ -941,8 +932,12 @@ public class VolumeDialogImpl implements VolumeDialog {
            row.slider.requestFocus();
        }
        boolean useActiveColoring = isActive && row.slider.isEnabled();
        final ColorStateList tint = useActiveColoring ? mActiveTint : mInactiveTint;
        final int alpha = useActiveColoring ? mActiveAlpha : mInactiveAlpha;
        final ColorStateList tint = useActiveColoring
                ? Utils.getColorAccent(mContext)
                : Utils.getColorAttr(mContext, android.R.attr.colorForeground);
        final int alpha = useActiveColoring
                ? Color.alpha(tint.getDefaultColor())
                : getAlphaAttr(android.R.attr.secondaryContentAlpha);
        if (tint == row.cachedTint) return;
        row.slider.setProgressTintList(tint);
        row.slider.setThumbTintList(tint);