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

Commit f37df1b6 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Fix bug #7345139: The First Volume Down Click looses its place on the volume slider

- make SeekBar follow layout direction changes
- also fix onSizeChanged() missing call to super class

Change-Id: Ide036e673c5f104b12e7321648ac027547e04065
parent 809bb404
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -241,6 +241,7 @@ public abstract class AbsSeekBar extends ProgressBar {
    
    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        updateThumbPos(w, h);
    }

@@ -555,4 +556,23 @@ public abstract class AbsSeekBar extends ProgressBar {
        }
        return false;
    }

    @Override
    public void onRtlPropertiesChanged(int layoutDirection) {
        super.onRtlPropertiesChanged(layoutDirection);

        int max = getMax();
        float scale = max > 0 ? (float) getProgress() / (float) max : 0;

        Drawable thumb = mThumb;
        if (thumb != null) {
            setThumbPos(getWidth(), thumb, scale, Integer.MIN_VALUE);
            /*
             * Since we draw translated, the drawable's bounds that it signals
             * for invalidation won't be the actual bounds we want invalidated,
             * so just invalidate this whole view.
             */
            invalidate();
        }
    }
}