MSIM Ringtone: Improve on devices with ESIM
Change-Id: Ib0e0348b29d9bcb567f2d3c0725dd6950a3bbc1e Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
@@ -55,6 +55,9 @@ public class PhoneRingtone2PreferenceController extends RingtonePreferenceContro
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isAvailable() {
|
public boolean isAvailable() {
|
||||||
|
if (isBuiltInEuiccSlot(SLOT_ID)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
TelephonyManager telephonyManager =
|
TelephonyManager telephonyManager =
|
||||||
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
|
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
return Utils.isVoiceCapable(mContext) && telephonyManager.isMultiSimEnabled();
|
return Utils.isVoiceCapable(mContext) && telephonyManager.isMultiSimEnabled();
|
||||||
|
|||||||
@@ -44,12 +44,10 @@ public class PhoneRingtonePreferenceController extends RingtonePreferenceControl
|
|||||||
|
|
||||||
TelephonyManager telephonyManager =
|
TelephonyManager telephonyManager =
|
||||||
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
|
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
if (telephonyManager.isMultiSimEnabled()) {
|
if (telephonyManager.isMultiSimEnabled() && !isDeviceSupportsESIM()) {
|
||||||
// For Multi SIM device, shoud show "Phone ringtone - SIM 1" for slot1 ringtone setting.
|
|
||||||
DefaultRingtonePreference ringtonePreference =
|
DefaultRingtonePreference ringtonePreference =
|
||||||
(DefaultRingtonePreference) screen.findPreference(KEY_PHONE_RINGTONE);
|
(DefaultRingtonePreference) screen.findPreference(KEY_PHONE_RINGTONE);
|
||||||
ringtonePreference.setTitle(mContext.getString(R.string.ringtone_title) + " - " +
|
ringtonePreference.setTitle(mContext.getString(R.string.ringtone_title));
|
||||||
String.format(mContext.getString(R.string.sim_card_number_title), 1));
|
|
||||||
ringtonePreference.setEnabled(hasCard());
|
ringtonePreference.setEnabled(hasCard());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,4 +70,19 @@ public abstract class RingtonePreferenceControllerBase extends AbstractPreferenc
|
|||||||
|
|
||||||
public abstract int getRingtoneType();
|
public abstract int getRingtoneType();
|
||||||
|
|
||||||
|
public boolean isBuiltInEuiccSlot(int slotIndex) {
|
||||||
|
int[] euiccSlots = mContext.getResources()
|
||||||
|
.getIntArray(com.android.internal.R.array.non_removable_euicc_slots);
|
||||||
|
for (int slot : euiccSlots) {
|
||||||
|
if (slot == slotIndex) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDeviceSupportsESIM() {
|
||||||
|
return mContext.getResources()
|
||||||
|
.getIntArray(com.android.internal.R.array.non_removable_euicc_slots).length > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user