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

Commit cdead087 authored by Roman Birg's avatar Roman Birg
Browse files

Improve SeekBarVolumizer behavior with unlinked streams



- Fix notification stream enabling at 0 volume
- Fix the notification slider being set when moving ringer stream

Change-Id: If3705cc833c07f726f8ad7b1ec79a42e86e8ff22
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent 2870d05e
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -129,18 +129,22 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba

    protected void updateSeekBar() {
        if (mNotificationOrRing && mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
            mSeekBar.setEnabled(true);
            mSeekBar.setEnabled(enableSeekBar());
            mSeekBar.setProgress(0);
        } else if (mMuted) {
            mSeekBar.setEnabled(false);
            mSeekBar.setProgress(0);
        } else {
            mSeekBar.setEnabled(mStreamType != AudioManager.STREAM_NOTIFICATION
                    || !isNotificationStreamLinked());
            mSeekBar.setEnabled(enableSeekBar());
            mSeekBar.setProgress(mLastProgress > -1 ? mLastProgress : mOriginalStreamVolume);
        }
    }

    private boolean enableSeekBar() {
        return mStreamType != AudioManager.STREAM_NOTIFICATION
                || !isNotificationStreamLinked();
    }

    @Override
    public boolean handleMessage(Message msg) {
        switch (msg.what) {
@@ -235,7 +239,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba
    }

    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
        if (fromTouch) {
        if (fromTouch && enableSeekBar()) {
            postSetVolume(progress);
        }
        if (mCallback != null) {