<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:title="@string/sound_settings"
    android:key="sound_settings"
    settings:keywords="@string/keywords_sounds">

    <!-- Remote volume group -->
    <PreferenceCategory
        android:key="remote_media_group"
        android:title=""
        android:order="-185"
        settings:allowDividerBelow="true"
        settings:controller="com.android.settings.notification.RemoteVolumeGroupController">
    </PreferenceCategory>

    <!-- Volume controls category -->
    <com.android.settingslib.widget.UntitledPreferenceCategory
        android:key="volume_controls_category"
        android:order="-160">
        <!-- Media output switcher -->
        <Preference
            android:key="media_output"
            android:title="@string/media_output_title"
            android:dialogTitle="@string/media_output_title"
            android:order="-185"
            settings:searchable="false"
            settings:controller="com.android.settings.sound.MediaOutputPreferenceController"/>

        <!-- Media volume -->
        <com.android.settings.sound.VolumeSliderPreference
            android:key="media_volume"
            android:icon="@drawable/ic_media_stream"
            android:title="@string/media_volume_option_title"
            android:order="-180"
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>

        <!-- Call volume -->
        <com.android.settings.sound.VolumeSliderPreference
            android:key="call_volume"
            android:icon="@drawable/ic_local_phone_24_lib"
            android:title="@string/call_volume_option_title"
            android:order="-170"
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.CallVolumePreferenceController"/>

        <!-- 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="-165"
            settings:searchable="false"
            settings:controller="com.android.settings.sound.HandsFreeProfileOutputPreferenceController"/>

        <!-- Separate Ring volume -->
        <com.android.settings.sound.VolumeSliderPreference
            android:key="separate_ring_volume"
            android:icon="@drawable/ic_ring_volume"
            android:title="@string/separate_ring_volume_option_title"
            android:order="-155"
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.SeparateRingVolumePreferenceController"/>

        <!-- Notification volume -->
        <com.android.settings.sound.VolumeSliderPreference
            android:key="notification_volume"
            android:icon="@drawable/ic_notifications"
            android:title="@string/notification_volume_option_title"
            android:order="-150"
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.NotificationVolumePreferenceController"
            settings:unavailableSliceSubtitle="@string/notification_volume_disabled_summary"/>

        <!-- Alarm volume -->
        <com.android.settings.sound.VolumeSliderPreference
            android:key="alarm_volume"
            android:icon="@*android:drawable/ic_audio_alarm"
            android:title="@string/alarm_volume_option_title"
            android:order="-140"
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.AlarmVolumePreferenceController"/>
    </com.android.settingslib.widget.UntitledPreferenceCategory>

    <!-- Vibrations and haptics category -->
    <com.android.settingslib.widget.UntitledPreferenceCategory
        android:key="vibration_category"
        android:order="-150">
        <!-- Also vibration -->
        <Preference
            android:fragment="com.android.settings.accessibility.VibrationSettings"
            android:key="vibration_and_haptics"
            android:title="@string/accessibility_vibration_settings_title"
            android:order="-90"
            settings:controller="com.android.settings.accessibility.VibrationPreferenceController"
            settings:keywords="@string/keywords_vibration"/>
    </com.android.settingslib.widget.UntitledPreferenceCategory>

    <!-- Sound patterns category -->
    <PreferenceCategory
        android:key="sound_patterns_category"
        android:order="-140"
        android:title="@string/sound_patterns_category_title">
        <!-- Phone ringtone -->
        <com.android.settings.DefaultRingtonePreference
            android:key="phone_ringtone"
            android:title="@string/ringtone_title"
            android:dialogTitle="@string/ringtone_title"
            android:summary="@string/summary_placeholder"
            android:ringtoneType="ringtone"
            android:order="-120"
            settings:keywords="@string/sound_settings"/>

        <!-- Default notification ringtone -->
        <com.android.settings.DefaultRingtonePreference
            android:key="notification_ringtone"
            android:title="@string/notification_ringtone_title"
            android:dialogTitle="@string/notification_ringtone_title"
            android:summary="@string/summary_placeholder"
            android:ringtoneType="notification"
            android:order="-70"/>

        <!-- Default alarm ringtone -->
        <com.android.settings.DefaultRingtonePreference
            android:key="alarm_ringtone"
            android:title="@string/alarm_ringtone_title"
            android:dialogTitle="@string/alarm_ringtone_title"
            android:summary="@string/summary_placeholder"
            android:persistent="false"
            android:ringtoneType="alarm"
            android:order="-60"/>
    </PreferenceCategory>

    <!-- Audio category -->
    <PreferenceCategory
        android:key="audio_category"
        android:order="-120"
        android:title="@string/sound_audio_category_title">
        <!-- Live Caption -110 and Now Playing -105-->

        <!-- Spatial audio -->
        <Preference
            android:key="spatial_audio_summary"
            android:title="@string/spatial_audio_title"
            android:fragment="com.android.settings.notification.SpatialAudioSettings"
            android:order="-107"
            settings:controller="com.android.settings.notification.SpatialAudioParentPreferenceController"/>

        <Preference
            android:key="media_controls"
            android:title="@string/media_controls_title"
            android:fragment="com.android.settings.sound.MediaControlsSettings"
            android:order="-100"
            settings:controller="com.android.settings.sound.MediaControlsParentPreferenceController"
            settings:keywords="@string/keywords_media_controls"/>

        <com.android.settingslib.PrimarySwitchPreference
            android:key="gesture_prevent_ringing_sound"
            android:title="@string/gesture_prevent_ringing_sound_title"
            android:order="-80"
            android:fragment="com.android.settings.gestures.PreventRingingGestureSettings"
            settings:controller="com.android.settings.gestures.PreventRingingParentPreferenceController"/>
    </PreferenceCategory>

    <!-- System sounds and vibrations category -->
    <PreferenceCategory
        android:key="system_sounds_and_vibrations_category"
        android:order="-111"
        android:title="@string/system_sounds_and_vibrations_category_title">
        <!-- Dial pad tones -->
        <SwitchPreferenceCompat
            android:key="dtmf_tone"
            android:title="@string/dial_pad_tones_title"
            android:order="-50"/>

        <!-- Screen locking sounds -->
        <SwitchPreferenceCompat
            android:key="lockscreen_sounds_enabled"
            android:title="@string/screen_locking_sounds_title"
            android:order="-45"/>

        <!-- Charging sounds -->
        <SwitchPreferenceCompat
            android:key="charging_sounds_enabled"
            android:title="@string/charging_sounds_title"
            android:order="-40"/>

        <!-- Docking sounds -->
        <SwitchPreferenceCompat
            android:key="dock_sounds_enabled"
            android:title="@string/docking_sounds_title"
            android:order="-35"/>

        <!-- Touch sounds -->
        <SwitchPreferenceCompat
            android:key="sound_effects_enabled"
            android:title="@string/touch_sounds_title"
            android:order="-30"/>

        <!-- Show vibrate icon in status bar -->
        <SwitchPreferenceCompat
            android:key="vibrate_icon"
            android:title="@string/vibrate_icon_title"
            android:order="-27"/>

        <!-- Dock speaker plays -->
        <DropDownPreference
            android:key="dock_audio_media"
            android:title="@string/dock_audio_media_title"
            android:summary="%s"
            android:order="-20"/>

        <!-- Boot sounds -->
        <SwitchPreferenceCompat
            android:key="boot_sounds"
            android:title="@string/boot_sounds_title"
            android:order="-15"/>

        <!-- Emergency tone -->
        <DropDownPreference
            android:key="emergency_tone"
            android:title="@string/emergency_tone_title"
            android:summary="%s"
            android:order="-10"/>
    </PreferenceCategory>

    <!-- Work profile sound category -->
    <PreferenceCategory
        android:key="work_sound_category"
        android:order="-100"
        android:title="@string/work_profile_sound_category_title"
        settings:controller="com.android.settings.widget.PreferenceCategoryController">
        <Preference
            android:key="sound_work_settings"
            android:title="@string/sound_work_settings"
            android:fragment="com.android.settings.notification.SoundWorkSettings"
            android:order="100"
            settings:controller="com.android.settings.notification.WorkSoundsPreferenceController"/>
    </PreferenceCategory>
</PreferenceScreen>
