summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/DefaultRingtonePreference.java11
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);
+ }
}
}