diff options
Diffstat (limited to 'core/java/android/preference')
-rw-r--r-- | core/java/android/preference/RingtonePreference.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/core/java/android/preference/RingtonePreference.java b/core/java/android/preference/RingtonePreference.java index 81c0595..dd260e0 100644 --- a/core/java/android/preference/RingtonePreference.java +++ b/core/java/android/preference/RingtonePreference.java @@ -51,6 +51,7 @@ public class RingtonePreference extends Preference implements private int mDialogStyle; private int mRequestCode; + private int mSubscriptionID = 0; /* Sub-1 by default */ public RingtonePreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); @@ -101,6 +102,28 @@ public class RingtonePreference extends Preference implements } /** + * Returns the subscription ID. + * + * @return The current subscription ID. + * @see #setSubId(int) + * @hide + */ + public int getSubId() { + return mSubscriptionID; + } + + /** + * Sets the subscription ID. + * + * @param subId subscription ID. + * @see #getSubId(int) + * @hide + */ + public void setSubId(int subId) { + mSubscriptionID = subId; + } + + /** * Returns whether to a show an item for the default sound/ringtone. * * @return Whether to show an item for the default sound/ringtone. @@ -187,8 +210,13 @@ public class RingtonePreference extends Preference implements ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, mShowDefault); if (mShowDefault) { - ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, + if (getRingtoneType() == RingtoneManager.TYPE_RINGTONE) { + ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, + RingtoneManager.getDefaultRingtoneUriBySubId(getSubId())); + } else { + ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, RingtoneManager.getDefaultUri(getRingtoneType())); + } } if (mDialogStyle != 0) { ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DIALOG_THEME, |