diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0b54f9f0b23..ef38c78b809 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8417,12 +8417,6 @@ Data usage charges may apply.
Phone ringtone
-
- Phone ringtone - SIM 1
-
-
- Phone ringtone - SIM 2
-
Default notification sound
@@ -14413,4 +14407,9 @@ Data usage charges may apply.
Enter supervision PIN
%1$s animation
+
+
+ Phone ringtone - SIM 1
+
+ Phone ringtone - SIM 2
diff --git a/src/com/android/settings/notification/PhoneRingtone2PreferenceController.java b/src/com/android/settings/notification/PhoneRingtone2PreferenceController.java
index 6215936d3af..2acda015e5d 100644
--- a/src/com/android/settings/notification/PhoneRingtone2PreferenceController.java
+++ b/src/com/android/settings/notification/PhoneRingtone2PreferenceController.java
@@ -41,6 +41,7 @@ public class PhoneRingtone2PreferenceController extends RingtonePreferenceContro
DefaultRingtonePreference ringtonePreference =
(DefaultRingtonePreference) screen.findPreference(KEY_PHONE_RINGTONE2);
ringtonePreference.setSlotId(SLOT_ID);
+ ringtonePreference.setEnabled(hasCard());
}
@Override
@@ -59,4 +60,10 @@ public class PhoneRingtone2PreferenceController extends RingtonePreferenceContro
public int getRingtoneType() {
return RingtoneManager.TYPE_RINGTONE;
}
+
+ private boolean hasCard() {
+ TelephonyManager telephonyManager =
+ (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ return telephonyManager.hasIccCard(SLOT_ID);
+ }
}
diff --git a/src/com/android/settings/notification/PhoneRingtonePreferenceController.java b/src/com/android/settings/notification/PhoneRingtonePreferenceController.java
index c8611b437c7..bb9d0da84c2 100644
--- a/src/com/android/settings/notification/PhoneRingtonePreferenceController.java
+++ b/src/com/android/settings/notification/PhoneRingtonePreferenceController.java
@@ -31,6 +31,7 @@ import com.android.settings.Utils;
public class PhoneRingtonePreferenceController extends RingtonePreferenceControllerBase {
+ private static final int SLOT_ID = 0;
private static final String KEY_PHONE_RINGTONE = "phone_ringtone";
public PhoneRingtonePreferenceController(Context context) {
@@ -48,6 +49,7 @@ public class PhoneRingtonePreferenceController extends RingtonePreferenceControl
DefaultRingtonePreference ringtonePreference =
(DefaultRingtonePreference) screen.findPreference(KEY_PHONE_RINGTONE);
ringtonePreference.setTitle(mContext.getString(R.string.ringtone1_title));
+ ringtonePreference.setEnabled(hasCard());
}
}
@@ -73,4 +75,10 @@ public class PhoneRingtonePreferenceController extends RingtonePreferenceControl
return Flags.enableRingtoneHapticsCustomization() && mContext.getResources().getBoolean(
com.android.internal.R.bool.config_ringtoneVibrationSettingsSupported);
}
+
+ private boolean hasCard() {
+ TelephonyManager telephonyManager =
+ (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ return telephonyManager.hasIccCard(SLOT_ID);
+ }
}