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

Commit 9063154a authored by Mike Lockwood's avatar Mike Lockwood
Browse files

Restore persisted master volume if the media server restarts



Bug: 5755071

Signed-off-by: default avatarMike Lockwood <lockwood@google.com>
parent b7bd88a3
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -415,13 +415,7 @@ public class AudioService extends IAudioService.Stub {

        mUseMasterVolume = context.getResources().getBoolean(
                com.android.internal.R.bool.config_useMasterVolume);
        if (mUseMasterVolume) {
            float volume = Settings.System.getFloat(mContentResolver,
                    Settings.System.VOLUME_MASTER, -1.0f);
            if (volume >= 0.0f) {
                AudioSystem.setMasterVolume(volume);
            }
        }
        restoreMasterVolume();
    }

    private void createAudioSystemThread() {
@@ -920,6 +914,16 @@ public class AudioService extends IAudioService.Stub {
        }
    }

    private void restoreMasterVolume() {
        if (mUseMasterVolume) {
            float volume = Settings.System.getFloat(mContentResolver,
                    Settings.System.VOLUME_MASTER, -1.0f);
            if (volume >= 0.0f) {
                AudioSystem.setMasterVolume(volume);
            }
        }
    }

    /** @see AudioManager#shouldVibrate(int) */
    public boolean shouldVibrate(int vibrateType) {

@@ -2524,6 +2528,9 @@ public class AudioService extends IAudioService.Stub {
                    // Restore ringer mode
                    setRingerModeInt(getRingerMode(), false);

                    // Restore master volume
                    restoreMasterVolume();

                    // indicate the end of reconfiguration phase to audio HAL
                    AudioSystem.setParameters("restarting=false");
                    break;