diff --git a/api/current.txt b/api/current.txt index 0e45300657126..70f3400fc917b 100755 --- a/api/current.txt +++ b/api/current.txt @@ -43080,6 +43080,7 @@ package android.telephony { method public boolean canChangeDtmfToneLength(); method @Nullable public android.telephony.TelephonyManager createForPhoneAccountHandle(android.telecom.PhoneAccountHandle); method public android.telephony.TelephonyManager createForSubscriptionId(int); + method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean doesSwitchMultiSimConfigTriggerReboot(); method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public java.util.List getAllCellInfo(); method public int getCallState(); method public int getCardIdForDefaultEuicc(); diff --git a/api/system-current.txt b/api/system-current.txt index 9200ce579affe..bbb6e2431fd30 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6353,7 +6353,6 @@ package android.telephony { method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn(); - method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isRebootRequiredForModemConfigChange(); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging(); method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled(); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index d72ca6bec1892..5bdfde5ee5f64 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10926,24 +10926,28 @@ public class TelephonyManager { } /** - * Get whether reboot is required or not after making changes to modem configurations. + * Get whether making changes to modem configurations by {@link #switchMultiSimConfig(int)} will + * trigger device reboot. * The modem configuration change refers to switching from single SIM configuration to DSDS * or the other way around. - * @Return {@code true} if reboot is required after making changes to modem configurations, - * otherwise return {@code false}. * - * @hide + *

Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} or that the + * calling app has carrier privileges (see {@link #hasCarrierPrivileges}). + * + * @return {@code true} if reboot will be triggered after making changes to modem + * configurations, otherwise return {@code false}. */ - @SystemApi - @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) - public boolean isRebootRequiredForModemConfigChange() { + @RequiresPermission(Manifest.permission.READ_PHONE_STATE) + public boolean doesSwitchMultiSimConfigTriggerReboot() { try { ITelephony service = getITelephony(); if (service != null) { - return service.isRebootRequiredForModemConfigChange(); + return service.doesSwitchMultiSimConfigTriggerReboot(getSubId(), + getOpPackageName()); } } catch (RemoteException e) { - Log.e(TAG, "isRebootRequiredForModemConfigChange RemoteException", e); + Log.e(TAG, "doesSwitchMultiSimConfigTriggerReboot RemoteException", e); } return false; } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index da80774e8ed0f..06f35a7d925b9 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1983,10 +1983,10 @@ interface ITelephony { void switchMultiSimConfig(int numOfSims); /** - * Get if reboot is required upon altering modems configurations + * Get if altering modems configurations will trigger reboot. * @hide */ - boolean isRebootRequiredForModemConfigChange(); + boolean doesSwitchMultiSimConfigTriggerReboot(int subId, String callingPackage); /** * Get the mapping from logical slots to physical slots.