diff --git a/res/values/strings.xml b/res/values/strings.xml index dea16208201..db68d71f224 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5624,6 +5624,9 @@ Default notification ringtone + + Default alarm ringtone + Also vibrate for calls diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml index 2cdebc4f424..dd03fb09654 100644 --- a/res/xml/sound_settings.xml +++ b/res/xml/sound_settings.xml @@ -81,6 +81,14 @@ android:persistent="false" android:ringtoneType="notification" /> + + + diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index 1c2132910e5..dae492f9f1f 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -73,6 +73,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab private static final String KEY_NOTIFICATION_VOLUME = "notification_volume"; private static final String KEY_PHONE_RINGTONE = "ringtone"; private static final String KEY_NOTIFICATION_RINGTONE = "notification_ringtone"; + private static final String KEY_ALARM_RINGTONE = "alarm_ringtone"; private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing"; private static final String KEY_MASTER_MONO = "master_mono"; private static final String KEY_WIFI_DISPLAY = "wifi_display"; @@ -103,6 +104,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab private Preference mPhoneRingtonePreference; private Preference mNotificationRingtonePreference; + private Preference mAlarmRingtonePreference; private TwoStatePreference mVibrateWhenRinging; private TwoStatePreference mMasterMono; private ComponentName mSuppressor; @@ -324,6 +326,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab } mNotificationRingtonePreference = getPreferenceScreen().findPreference(KEY_NOTIFICATION_RINGTONE); + mAlarmRingtonePreference = getPreferenceScreen().findPreference(KEY_ALARM_RINGTONE); } private void lookupRingtoneNames() { @@ -347,6 +350,13 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab mHandler.obtainMessage(H.UPDATE_NOTIFICATION_RINGTONE, summary).sendToTarget(); } } + if (mAlarmRingtonePreference != null) { + final CharSequence summary = + updateRingtoneName(mContext, RingtoneManager.TYPE_ALARM); + if (summary != null) { + mHandler.obtainMessage(H.UPDATE_ALARM_RINGTONE, summary).sendToTarget(); + } + } } }; @@ -484,6 +494,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab private static final int UPDATE_EFFECTS_SUPPRESSOR = 4; private static final int UPDATE_RINGER_MODE = 5; private static final int UPDATE_MASTER_MONO = 6; + private static final int UPDATE_ALARM_RINGTONE = 7; private H() { super(Looper.getMainLooper()); @@ -510,6 +521,9 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab case UPDATE_MASTER_MONO: updateMasterMono(); break; + case UPDATE_ALARM_RINGTONE: + mAlarmRingtonePreference.setSummary((CharSequence) msg.obj); + break; } } }