Make volume sliders sliceable

Test: make -j RunSettingsRoboTests
Change-Id: I8495770792dfdada54174ca61937f336e4fc219c
Fixes: 67997207
This commit is contained in:
Julia Reynolds
2018-04-03 13:48:55 -04:00
parent a8c53f7dcb
commit 560637970f
16 changed files with 200 additions and 102 deletions

View File

@@ -109,7 +109,7 @@ public class SoundSettings extends DashboardFragment {
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context, this, mVolumeCallback, getLifecycle());
return buildPreferenceControllers(context, this, getLifecycle());
}
@Override
@@ -128,6 +128,15 @@ public class SoundSettings extends DashboardFragment {
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
use(AlarmVolumePreferenceController.class).setCallback(mVolumeCallback);
use(MediaVolumePreferenceController.class).setCallback(mVolumeCallback);
use(RingVolumePreferenceController.class).setCallback(mVolumeCallback);
use(NotificationVolumePreferenceController.class).setCallback(mVolumeCallback);
}
// === Volumes ===
final class VolumePreferenceCallback implements VolumeSeekBarPreference.Callback {
@@ -178,18 +187,12 @@ public class SoundSettings extends DashboardFragment {
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
SoundSettings fragment, VolumeSeekBarPreference.Callback callback,
Lifecycle lifecycle) {
SoundSettings fragment, Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new ZenModePreferenceController(context, lifecycle, KEY_ZEN_MODE));
controllers.add(new VibrateWhenRingPreferenceController(context));
// === Volumes ===
controllers.add(new AlarmVolumePreferenceController(context, callback, lifecycle));
controllers.add(new MediaVolumePreferenceController(context, callback, lifecycle));
controllers.add(
new NotificationVolumePreferenceController(context, callback, lifecycle));
controllers.add(new RingVolumePreferenceController(context, callback, lifecycle));
// Volumes are added via xml
// === Phone & notification ringtone ===
controllers.add(new PhoneRingtonePreferenceController(context));
@@ -259,7 +262,7 @@ public class SoundSettings extends DashboardFragment {
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildPreferenceControllers(context, null /* fragment */,
null /* callback */, null /* lifecycle */);
null /* lifecycle */);
}
@Override