diff options
| -rw-r--r-- | src/com/android/settings/DefaultRingtonePreference.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/settings/DefaultRingtonePreference.java b/src/com/android/settings/DefaultRingtonePreference.java index 0801b1f0a90..4cf9cff7ab5 100644 --- a/src/com/android/settings/DefaultRingtonePreference.java +++ b/src/com/android/settings/DefaultRingtonePreference.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.media.RingtoneManager; import android.net.Uri; import android.preference.RingtonePreference; +import android.telephony.TelephonyManager; import android.util.AttributeSet; import android.util.Log; @@ -50,7 +51,15 @@ public class DefaultRingtonePreference extends RingtonePreference { @Override protected Uri onRestoreRingtone() { - return RingtoneManager.getActualDefaultRingtoneUri(getContext(), getRingtoneType()); + final int ringtoneType = getRingtoneType(); + final Context context = getContext(); + TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService( + Context.TELEPHONY_SERVICE); + if (telephonyManager.isMultiSimEnabled() && ringtoneType == RingtoneManager.TYPE_RINGTONE) { + return RingtoneManager.getActualRingtoneUriBySubId(context, getSubId()); + } else { + return RingtoneManager.getActualDefaultRingtoneUri(context, ringtoneType); + } } } |
