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

Commit 0791e171 authored by RoboErik's avatar RoboErik
Browse files

b/15452153 Send 0 delta volume requests

The new code was dropping volume requests with a delta of 0. These
are used to trigger a beep at the end of a volume adjustment.

Change-Id: Idd85cfeaffe78f9aaafb8e6989e240cb70409c1e
parent 2386bd5d
Loading
Loading
Loading
Loading
+23 −12
Original line number Diff line number Diff line
@@ -781,26 +781,37 @@ public class MediaSessionService extends SystemService implements Monitor {

            }
            if (session == null) {
                for (int i = 0; i < steps; i++) {
                try {
                    if (delta == 0) {
                        mAudioService.adjustSuggestedStreamVolume(delta, suggestedStream, flags,
                                getContext().getOpPackageName());
                    } else {
                        for (int i = 0; i < steps; i++) {
                            mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
                                    flags, getContext().getOpPackageName());
                        }
                    }
                } catch (RemoteException e) {
                    Log.e(TAG, "Error adjusting default volume.", e);
                }
                }
            } else {
                if (session.getPlaybackType() == MediaSession.VOLUME_TYPE_LOCAL) {
                    for (int i = 0; i < steps; i++) {
                    try {
                        if (delta == 0) {
                            mAudioService.adjustSuggestedStreamVolume(delta,
                                    session.getAudioStream(), flags,
                                    getContext().getOpPackageName());
                        } else {
                            for (int i = 0; i < steps; i++) {
                                mAudioService.adjustSuggestedStreamVolume(direction,
                                        session.getAudioStream(), flags,
                                        getContext().getOpPackageName());
                            }
                        }
                    } catch (RemoteException e) {
                        Log.e(TAG, "Error adjusting volume for stream "
                                + session.getAudioStream(), e);
                    }
                    }
                } else if (session.getPlaybackType() == MediaSession.VOLUME_TYPE_REMOTE) {
                    session.adjustVolumeBy(delta);
                }