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

Commit 845ea53d authored by Xuebo Li's avatar Xuebo Li Committed by Linux Build Service Account
Browse files

Regional: Customize system volume

Customize system volume.

Change-Id: Ib8d7c3b9e4404bb6678b3c8af9c440bc299a76c9
CRs-Fixed: 1037633
parent 296a682a
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
@@ -216,4 +216,55 @@

    <!-- Default setting for ability to add users from the lock screen -->
    <bool name="def_add_users_from_lockscreen">false</bool>

    <!-- custom system sound or not -->
    <bool name="def_custom_sys_volume">false</bool>

    <!-- Ringtone Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_ringtone_volume" translatable="false">5</integer>

    <!-- Music Volume,its value is from 0 to 15,default value is 11 -->
    <integer name="def_music_volume" translatable="false">11</integer>

    <!-- Voice Call Volume,its value is from 0 to 5,default value is 4 -->
    <integer name="def_voice_call_volume" translatable="false">4</integer>

    <!-- Alarm Volume,its value is from 0 to 7,default value is 6 -->
    <integer name="def_alarm_volume" translatable="false">6</integer>

    <!-- Notification Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_notification_volume" translatable="false">5</integer>

    <!-- Ringtone headset Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_ringtone_headset_volume" translatable="false">5</integer>

    <!-- Music headset Volume,its value is from 0 to 15,default value is 11 -->
    <integer name="def_music_headset_volume" translatable="false">11</integer>

    <!-- Voice Call headset Volume,its value is from 0 to 5,default value is 4 -->
    <integer name="def_voice_call_headset_volume" translatable="false">4</integer>

    <!-- Alarm headset Volume,its value is from 0 to 7,default value is 6 -->
    <integer name="def_alarm_headset_volume" translatable="false">6</integer>

    <!-- Notification headset Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_notification_headset_volume" translatable="false">5</integer>

    <!-- Ringtone speaker Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_ringtone_speaker_volume" translatable="false">5</integer>

    <!-- Music speaker Volume,its value is from 0 to 15,default value is 11 -->
    <integer name="def_music_speaker_volume" translatable="false">11</integer>

    <!-- Voice Call speaker Volume,its value is from 0 to 5,default value is 4 -->
    <integer name="def_voice_call_speaker_volume" translatable="false">4</integer>

    <!-- Alarm speaker Volume,its value is from 0 to 7,default value is 6 -->
    <integer name="def_alarm_speaker_volume" translatable="false">6</integer>

    <!-- Notification speaker Volume,its value is from 0 to 7,default value is 5 -->
    <integer name="def_notification_speaker_volume" translatable="false">5</integer>

    <!-- Voice Call earpiece Volume,its value is from 0 to 5,default value is 4 -->
    <integer name="def_voice_call_earpiece_volume" translatable="false">4</integer>
</resources>
+144 −0
Original line number Diff line number Diff line
@@ -129,6 +129,11 @@ public class SettingsProvider extends ContentProvider {
    private static final String TABLE_BOOKMARKS = "bookmarks";
    private static final String TABLE_ANDROID_METADATA = "android_metadata";

    private static final String HEADSET = "_headset";
    private static final String HEADPHONE = "_headphone";
    private static final String SPEAKER = "_speaker";
    private static final String EARPIECE = "_earpiece";

    // The set of removed legacy tables.
    private static final Set<String> REMOVED_LEGACY_TABLES = new ArraySet<>();
    static {
@@ -2144,6 +2149,139 @@ public class SettingsProvider extends ContentProvider {
                return getSettingsLocked(SETTINGS_TYPE_SYSTEM, userId);
            }

            private void loadCustomizedVolumeLevels(SettingsState systemSettings) {

                systemSettings.updateSettingLocked(Settings.System.VOLUME_MUSIC,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_music_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.updateSettingLocked(Settings.System.VOLUME_RING,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_ringtone_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.updateSettingLocked(Settings.System.VOLUME_VOICE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_voice_call_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.updateSettingLocked(Settings.System.VOLUME_ALARM,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_alarm_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.updateSettingLocked(Settings.System.VOLUME_NOTIFICATION,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_notification_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                // set headset default volume
                systemSettings.insertSettingLocked(Settings.System.VOLUME_MUSIC + HEADSET,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_music_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_RING + HEADSET,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_ringtone_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_VOICE + HEADSET,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_voice_call_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_ALARM + HEADSET,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_alarm_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_NOTIFICATION + HEADSET,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_notification_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                // set headphone default volume
                systemSettings.insertSettingLocked(Settings.System.VOLUME_MUSIC + HEADPHONE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_music_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_RING + HEADPHONE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_ringtone_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_VOICE + HEADPHONE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_voice_call_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_ALARM + HEADPHONE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_alarm_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_NOTIFICATION + HEADPHONE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_notification_headset_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                // set speaker default volume
                systemSettings.insertSettingLocked(Settings.System.VOLUME_MUSIC + SPEAKER,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_music_speaker_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_RING + SPEAKER,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_ringtone_speaker_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_VOICE + SPEAKER,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_voice_call_speaker_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_ALARM + SPEAKER,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_alarm_speaker_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                systemSettings.insertSettingLocked(Settings.System.VOLUME_NOTIFICATION + SPEAKER,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_notification_speaker_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);

                // set earpiece default volume
                systemSettings.insertSettingLocked(Settings.System.VOLUME_VOICE + EARPIECE,
                        Integer.toString(
                                getContext().getResources().getInteger(
                                        R.integer.def_voice_call_earpiece_volume)),
                        SettingsState.SYSTEM_PACKAGE_NAME);
            }

            /**
             * You must perform all necessary mutations to bring the settings
             * for this user from the old to the new version. When you add a new
@@ -2224,6 +2362,12 @@ public class SettingsProvider extends ContentProvider {
                                defaultComponent,
                                SettingsState.SYSTEM_PACKAGE_NAME);
                    }

                    // Allow OEMs to set volumes in resources.
                    if (getContext().getResources().getBoolean(R.bool.def_custom_sys_volume)) {
                        final SettingsState systemSettings = getSystemSettingsLocked(userId);
                        loadCustomizedVolumeLevels(systemSettings);
                    }
                    currentVersion = 122;
                }