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

Commit 17f3c3de authored by Mill Chen's avatar Mill Chen
Browse files

Refine sound and vibration screen

Bug: 408643725
Test: manual test
Flag: EXEMPT UI update

Change-Id: I94df432a9121630e572c07f32aa40d83f149aee9
parent 561333ef
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -8641,6 +8641,18 @@ Data usage charges may apply.</string>
    <!-- Sound: Other sounds: Title for the option enabling boot sounds. [CHAR LIMIT=30] -->
    <string name="boot_sounds_title">Power on sounds</string>
    <!-- Sound: Title for the sound patterns category. [CHAR LIMIT=60] -->
    <string name="sound_patterns_category_title">Sound patterns</string>
    <!-- Sound: Title for the audio category. [CHAR LIMIT=60] -->
    <string name="sound_audio_category_title">Audio</string>
    <!-- Sound: Title for the system sounds & vibrations category. [CHAR LIMIT=60] -->
    <string name="system_sounds_and_vibrations_category_title">System sounds &amp; vibrations</string>
    <!-- Sound: Title for the work profile sound category. [CHAR LIMIT=60] -->
    <string name="work_profile_sound_category_title">Work profile sound</string>
    <!-- Setting title for controlling how caption text display in real time [CHAR LIMIT=40]-->
    <string name="live_caption_title">Live Caption</string>
+221 −186
Original line number Diff line number Diff line
@@ -30,6 +30,19 @@
        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.notification.VolumeSeekBarPreference
            android:key="media_volume"
@@ -39,15 +52,6 @@
            settings:userRestriction="no_adjust_volume"
            settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>

    <!-- Media output switcher -->
    <Preference
        android:key="media_output"
        android:title="@string/media_output_title"
        android:dialogTitle="@string/media_output_title"
        android:order="-175"
        settings:searchable="false"
        settings:controller="com.android.settings.sound.MediaOutputPreferenceController"/>

        <!-- Call volume -->
        <com.android.settings.notification.VolumeSeekBarPreference
            android:key="call_volume"
@@ -93,7 +97,27 @@
            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"
@@ -104,6 +128,31 @@
            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 -->
@@ -122,41 +171,19 @@
            settings:controller="com.android.settings.sound.MediaControlsParentPreferenceController"
            settings:keywords="@string/keywords_media_controls"/>

    <!-- 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.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>

    <!-- 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"/>

    <!-- 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"
@@ -165,7 +192,7 @@

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

@@ -212,11 +239,19 @@
            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>
+29 −13
Original line number Diff line number Diff line
@@ -24,11 +24,13 @@ import com.android.settings.core.PreferenceScreenMixin
import com.android.settings.flags.Flags
import com.android.settings.sound.MediaControlsScreen
import com.android.settings.utils.makeLaunchIntent
import com.android.settingslib.metadata.PreferenceCategory
import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
import com.android.settingslib.widget.UntitledPreferenceCategoryMetadata

@ProvidePreferenceScreen(SoundScreen.KEY)
open class SoundScreen : PreferenceScreenMixin, PreferenceIconProvider {
@@ -62,6 +64,7 @@ open class SoundScreen : PreferenceScreenMixin, PreferenceIconProvider {
    override fun getPreferenceHierarchy(context: Context) =
        preferenceHierarchy(context, this) {
            val audioHelper = AudioHelper(context)
            +UntitledPreferenceCategoryMetadata(VOLUME_CONTROLS_CATEGORY) order -160 += {
                +MediaVolumePreference(audioHelper) order -180
                +CallVolumePreference(audioHelper) order -170
                +SeparateRingVolumePreference(audioHelper) order -155
@@ -69,7 +72,15 @@ open class SoundScreen : PreferenceScreenMixin, PreferenceIconProvider {
                    +NotificationVolumePreference(audioHelper) order -150
                    +AlarmVolumePreference(audioHelper) order -140
                }
            }
            +PreferenceCategory(AUDIO_CATEGORY, R.string.sound_audio_category_title) order -120 += {
                +MediaControlsScreen.KEY order -100
            }
            +PreferenceCategory(
                SOUNDS_AND_VIBRATIONS_CATEGORY,
                R.string.system_sounds_and_vibrations_category_title,
            ) order -111 +=
                {
                    +DialPadTonePreference() order -50
                    if (Flags.catalystSoundScreen25q4()) {
                        +ScreenLockSoundPreference() order -45
@@ -78,11 +89,16 @@ open class SoundScreen : PreferenceScreenMixin, PreferenceIconProvider {
                        +TouchSoundPreference() order -30
                    }
                }
        }

    override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
        makeLaunchIntent(context, SoundSettingsActivity::class.java, metadata?.key)

    companion object {
        const val KEY = "sound_screen"
        const val SOUND_PATTERNS_CATEGORY = "sound_patterns_category"
        internal const val VOLUME_CONTROLS_CATEGORY = "volume_controls_category"
        internal const val AUDIO_CATEGORY = "audio_category"
        internal const val SOUNDS_AND_VIBRATIONS_CATEGORY = "system_sounds_and_vibrations_category"
    }
}