diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index c574fb4d66056..e7361ef665318 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -7581,6 +7581,9 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int slotIndex, List carriers) { + if (!SubscriptionManager.isValidPhoneId(slotIndex)) { + return -1; + } try { ITelephony service = getITelephony(); if (service != null) { @@ -7608,15 +7611,17 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public List getAllowedCarriers(int slotIndex) { - try { - ITelephony service = getITelephony(); - if (service != null) { - return service.getAllowedCarriers(slotIndex); + if (SubscriptionManager.isValidPhoneId(slotIndex)) { + try { + ITelephony service = getITelephony(); + if (service != null) { + return service.getAllowedCarriers(slotIndex); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); + } catch (NullPointerException e) { + Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); } - } catch (RemoteException e) { - Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); - } catch (NullPointerException e) { - Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); } return new ArrayList(0); }