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); + } }