Loading core/java/android/provider/Settings.java +2 −1 Original line number Diff line number Diff line Loading @@ -4146,7 +4146,8 @@ public final class Settings { SHOW_BATTERY_PERCENT, NOTIFICATION_VIBRATION_INTENSITY, HAPTIC_FEEDBACK_INTENSITY, DISPLAY_COLOR_MODE DISPLAY_COLOR_MODE, ALARM_ALERT }; /** Loading core/tests/coretests/src/android/provider/SettingsBackupTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ public class SettingsBackupTest { private static final Set<String> BACKUP_BLACKLISTED_SYSTEM_SETTINGS = newHashSet( Settings.System.ADVANCED_SETTINGS, // candidate for backup? Settings.System.ALARM_ALERT, // backup candidate? Settings.System.ALARM_ALERT_CACHE, // internal cache Settings.System.APPEND_FOR_LAST_AUDIBLE, // suffix deprecated since API 2 Settings.System.EGG_MODE, // I am the lolrus Loading packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +24 −7 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArraySet; import java.security.InvalidParameterException; import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; Loading Loading @@ -152,7 +153,8 @@ public class SettingsHelper { } else if (isAlreadyConfiguredCriticalAccessibilitySetting(name)) { return; } else if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { || Settings.System.NOTIFICATION_SOUND.equals(name) || Settings.System.ALARM_ALERT.equals(name)) { setRingtone(name, value); return; } Loading Loading @@ -184,7 +186,8 @@ public class SettingsHelper { public String onBackupValue(String name, String value) { // Special processing for backing up ringtones & notification sounds if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { || Settings.System.NOTIFICATION_SOUND.equals(name) || Settings.System.ALARM_ALERT.equals(name)) { if (value == null) { if (Settings.System.RINGTONE.equals(name)) { // For ringtones, we need to distinguish between non-telephony vs telephony Loading @@ -196,7 +199,7 @@ public class SettingsHelper { return null; } } else { // Backup a null notification sound as silent // Backup a null notification sound or alarm alert as silent return SILENT_RINGTONE; } } else { Loading @@ -210,13 +213,14 @@ public class SettingsHelper { /** * Sets the ringtone of type specified by the name. * * @param name should be Settings.System.RINGTONE or Settings.System.NOTIFICATION_SOUND. * @param name should be Settings.System.RINGTONE, Settings.System.NOTIFICATION_SOUND * or Settings.System.ALARM_ALERT. * @param value can be a canonicalized uri or "_silent" to indicate a silent (null) ringtone. */ private void setRingtone(String name, String value) { // If it's null, don't change the default if (value == null) return; Uri ringtoneUri = null; final Uri ringtoneUri; if (SILENT_RINGTONE.equals(value)) { ringtoneUri = null; } else { Loading @@ -227,11 +231,24 @@ public class SettingsHelper { return; } } final int ringtoneType = Settings.System.RINGTONE.equals(name) ? RingtoneManager.TYPE_RINGTONE : RingtoneManager.TYPE_NOTIFICATION; final int ringtoneType = getRingtoneType(name); RingtoneManager.setActualDefaultRingtoneUri(mContext, ringtoneType, ringtoneUri); } private int getRingtoneType(String name) { switch (name) { case Settings.System.RINGTONE: return RingtoneManager.TYPE_RINGTONE; case Settings.System.NOTIFICATION_SOUND: return RingtoneManager.TYPE_NOTIFICATION; case Settings.System.ALARM_ALERT: return RingtoneManager.TYPE_ALARM; default: throw new InvalidParameterException("Incorrect ringtone name: " + name); } } private String getCanonicalRingtoneValue(String value) { final Uri ringtoneUri = Uri.parse(value); final Uri canonicalUri = mContext.getContentResolver().canonicalize(ringtoneUri); Loading Loading
core/java/android/provider/Settings.java +2 −1 Original line number Diff line number Diff line Loading @@ -4146,7 +4146,8 @@ public final class Settings { SHOW_BATTERY_PERCENT, NOTIFICATION_VIBRATION_INTENSITY, HAPTIC_FEEDBACK_INTENSITY, DISPLAY_COLOR_MODE DISPLAY_COLOR_MODE, ALARM_ALERT }; /** Loading
core/tests/coretests/src/android/provider/SettingsBackupTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,6 @@ public class SettingsBackupTest { private static final Set<String> BACKUP_BLACKLISTED_SYSTEM_SETTINGS = newHashSet( Settings.System.ADVANCED_SETTINGS, // candidate for backup? Settings.System.ALARM_ALERT, // backup candidate? Settings.System.ALARM_ALERT_CACHE, // internal cache Settings.System.APPEND_FOR_LAST_AUDIBLE, // suffix deprecated since API 2 Settings.System.EGG_MODE, // I am the lolrus Loading
packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +24 −7 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArraySet; import java.security.InvalidParameterException; import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; Loading Loading @@ -152,7 +153,8 @@ public class SettingsHelper { } else if (isAlreadyConfiguredCriticalAccessibilitySetting(name)) { return; } else if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { || Settings.System.NOTIFICATION_SOUND.equals(name) || Settings.System.ALARM_ALERT.equals(name)) { setRingtone(name, value); return; } Loading Loading @@ -184,7 +186,8 @@ public class SettingsHelper { public String onBackupValue(String name, String value) { // Special processing for backing up ringtones & notification sounds if (Settings.System.RINGTONE.equals(name) || Settings.System.NOTIFICATION_SOUND.equals(name)) { || Settings.System.NOTIFICATION_SOUND.equals(name) || Settings.System.ALARM_ALERT.equals(name)) { if (value == null) { if (Settings.System.RINGTONE.equals(name)) { // For ringtones, we need to distinguish between non-telephony vs telephony Loading @@ -196,7 +199,7 @@ public class SettingsHelper { return null; } } else { // Backup a null notification sound as silent // Backup a null notification sound or alarm alert as silent return SILENT_RINGTONE; } } else { Loading @@ -210,13 +213,14 @@ public class SettingsHelper { /** * Sets the ringtone of type specified by the name. * * @param name should be Settings.System.RINGTONE or Settings.System.NOTIFICATION_SOUND. * @param name should be Settings.System.RINGTONE, Settings.System.NOTIFICATION_SOUND * or Settings.System.ALARM_ALERT. * @param value can be a canonicalized uri or "_silent" to indicate a silent (null) ringtone. */ private void setRingtone(String name, String value) { // If it's null, don't change the default if (value == null) return; Uri ringtoneUri = null; final Uri ringtoneUri; if (SILENT_RINGTONE.equals(value)) { ringtoneUri = null; } else { Loading @@ -227,11 +231,24 @@ public class SettingsHelper { return; } } final int ringtoneType = Settings.System.RINGTONE.equals(name) ? RingtoneManager.TYPE_RINGTONE : RingtoneManager.TYPE_NOTIFICATION; final int ringtoneType = getRingtoneType(name); RingtoneManager.setActualDefaultRingtoneUri(mContext, ringtoneType, ringtoneUri); } private int getRingtoneType(String name) { switch (name) { case Settings.System.RINGTONE: return RingtoneManager.TYPE_RINGTONE; case Settings.System.NOTIFICATION_SOUND: return RingtoneManager.TYPE_NOTIFICATION; case Settings.System.ALARM_ALERT: return RingtoneManager.TYPE_ALARM; default: throw new InvalidParameterException("Incorrect ringtone name: " + name); } } private String getCanonicalRingtoneValue(String value) { final Uri ringtoneUri = Uri.parse(value); final Uri canonicalUri = mContext.getContentResolver().canonicalize(ringtoneUri); Loading