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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user