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

Commit 04b2e795 authored by John Spurlock's avatar John Spurlock
Browse files

Settings: Restart volumizers explicitly on resume.

onBindView is no longer called in all cases, so use
onResume as an additional signal that the user returned
to the settings page.  onActivityStop is called in both
cases to cleanup.

Bug: 17461564
Change-Id: I73a6775260951d4fd82ca8c3d8eb852f8dcc7452
parent 647f9752
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
    private final H mHandler = new H();
    private final SettingsObserver mSettingsObserver = new SettingsObserver();
    private final Receiver mReceiver = new Receiver();
    private final ArrayList<VolumeSeekBarPreference> mVolumePrefs = new ArrayList<>();

    private Context mContext;
    private PackageManager mPM;
@@ -148,6 +149,9 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
        mSettingsObserver.register(true);
        mReceiver.register(true);
        updateEffectsSuppressor();
        for (VolumeSeekBarPreference volumePref : mVolumePrefs) {
            volumePref.onActivityResume();
        }
    }

    @Override
@@ -159,11 +163,11 @@ public class NotificationSettings extends SettingsPreferenceFragment implements
    }

    // === Volumes ===

    private VolumeSeekBarPreference initVolumePreference(String key, int stream) {
        final VolumeSeekBarPreference volumePref = (VolumeSeekBarPreference) findPreference(key);
        volumePref.setCallback(mVolumeCallback);
        volumePref.setStream(stream);
        mVolumePrefs.add(volumePref);
        return volumePref;
    }

+6 −0
Original line number Diff line number Diff line
@@ -120,6 +120,12 @@ public class VolumeSeekBarPreference extends SeekBarPreference
        updateSuppressionText();
    }

    public void onActivityResume() {
        if (mVolumizer != null) {
            mVolumizer.start();
        }
    }

    // during initialization, this preference is the SeekBar listener
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {