android:order="-180"
settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>
+ <!-- Media output switcher -->
+ <ListPreference
+ android:key="media_output"
+ android:title="@string/media_output_title"
+ android:dialogTitle="@string/media_output_title"
+ android:order="-175"
+ settings:controller="com.android.settings.sound.MediaOutputPreferenceController"/>
+
<!-- Ring volume -->
<com.android.settings.notification.VolumeSeekBarPreference
android:key="ring_volume"
android:title="@string/vibrate_when_ringing_title"
android:order="-160"/>
+ <!-- Hands free profile output switcher -->
+ <ListPreference
+ android:key="take_call_on_output"
+ android:title="@string/take_call_on_title"
+ android:dialogTitle="@string/take_call_on_title"
+ android:order="-155"
+ settings:controller="com.android.settings.sound.HandsFreeProfileOutputPreferenceController"/>
+
<!-- Alarm volume -->
<com.android.settings.notification.VolumeSeekBarPreference
android:key="alarm_volume"
android:key="screen_locking_sounds"
android:title="@string/screen_locking_sounds_title" />
- <!-- Charging sounds -->
- <SwitchPreference
- android:key="charging_sounds"
- android:title="@string/charging_sounds_title" />
-
<!-- Docking sounds -->
<SwitchPreference
android:key="docking_sounds"
@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);
+ ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
+ volumeControllers.add(use(AlarmVolumePreferenceController.class));
+ volumeControllers.add(use(MediaVolumePreferenceController.class));
+ volumeControllers.add(use(RingVolumePreferenceController.class));
+ volumeControllers.add(use(NotificationVolumePreferenceController.class));
+
+ for (VolumeSeekBarPreferenceController controller : volumeControllers) {
+ controller.setCallback(mVolumeCallback);
+ getLifecycle().addObserver(controller);
+ }
}
// === Volumes ===
new DialPadTonePreferenceController(context, fragment, lifecycle);
final ScreenLockSoundPreferenceController screenLockSoundPreferenceController =
new ScreenLockSoundPreferenceController(context, fragment, lifecycle);
- final ChargingSoundPreferenceController chargingSoundPreferenceController =
- new ChargingSoundPreferenceController(context, fragment, lifecycle);
final DockingSoundPreferenceController dockingSoundPreferenceController =
new DockingSoundPreferenceController(context, fragment, lifecycle);
final TouchSoundPreferenceController touchSoundPreferenceController =
controllers.add(dialPadTonePreferenceController);
controllers.add(screenLockSoundPreferenceController);
- controllers.add(chargingSoundPreferenceController);
controllers.add(dockingSoundPreferenceController);
controllers.add(touchSoundPreferenceController);
controllers.add(vibrateOnTouchPreferenceController);
"other_sounds_and_vibrations_category").setChildren(
Arrays.asList(dialPadTonePreferenceController,
screenLockSoundPreferenceController,
- chargingSoundPreferenceController,
dockingSoundPreferenceController,
touchSoundPreferenceController,
vibrateOnTouchPreferenceController,