Merge "Add default alarm ringtone to sound settings."
diff --git a/res/values/strings.xml b/res/values/strings.xml
index dea1620..db68d71 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5624,6 +5624,9 @@
<!-- Sound: Title for the option defining the default notification ringtone. [CHAR LIMIT=30] -->
<string name="notification_ringtone_title">Default notification ringtone</string>
+ <!-- Sound: Title for the option defining the default alarm ringtone. [CHAR LIMIT=30] -->
+ <string name="alarm_ringtone_title">Default alarm ringtone</string>
+
<!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
<string name="vibrate_when_ringing_title">Also vibrate for calls</string>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index 2cdebc4..dd03fb0 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -81,6 +81,14 @@
android:persistent="false"
android:ringtoneType="notification" />
+ <!-- Default alarm ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="alarm_ringtone"
+ android:title="@string/alarm_ringtone_title"
+ android:dialogTitle="@string/alarm_ringtone_title"
+ android:persistent="false"
+ android:ringtoneType="alarm" />
+
<PreferenceScreen
android:key="cell_broadcast_settings"
android:title="@string/cell_broadcast_settings" >
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 1c21329..dae492f 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -73,6 +73,7 @@
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 @@
private Preference mPhoneRingtonePreference;
private Preference mNotificationRingtonePreference;
+ private Preference mAlarmRingtonePreference;
private TwoStatePreference mVibrateWhenRinging;
private TwoStatePreference mMasterMono;
private ComponentName mSuppressor;
@@ -324,6 +326,7 @@
}
mNotificationRingtonePreference =
getPreferenceScreen().findPreference(KEY_NOTIFICATION_RINGTONE);
+ mAlarmRingtonePreference = getPreferenceScreen().findPreference(KEY_ALARM_RINGTONE);
}
private void lookupRingtoneNames() {
@@ -347,6 +350,13 @@
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 @@
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 @@
case UPDATE_MASTER_MONO:
updateMasterMono();
break;
+ case UPDATE_ALARM_RINGTONE:
+ mAlarmRingtonePreference.setSummary((CharSequence) msg.obj);
+ break;
}
}
}