diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 03b57f2706f16..e6e54ea0f1bfc 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -8949,6 +8949,27 @@ public class TelephonyManager { return retval; } + /** + * Determines the {@link PhoneAccountHandle} associated with a subscription Id. + * + * @param subscriptionId The subscription Id to check. + * @return The {@link PhoneAccountHandle} associated with a subscription Id, or {@code null} if + * there is no associated {@link PhoneAccountHandle}. + * @hide + */ + public @Nullable PhoneAccountHandle getPhoneAccountHandleForSubscriptionId(int subscriptionId) { + PhoneAccountHandle returnValue = null; + try { + ITelephony service = getITelephony(); + if (service != null) { + returnValue = service.getPhoneAccountHandleForSubscriptionId(subscriptionId); + } + } catch (RemoteException e) { + } + + return returnValue; + } + private int getSubIdForPhoneAccountHandle(PhoneAccountHandle phoneAccountHandle) { int retval = SubscriptionManager.INVALID_SUBSCRIPTION_ID; try { diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index c8dab272de3ef..26d0c82b2d000 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1265,6 +1265,11 @@ interface ITelephony { */ int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); + /** + * Returns the PhoneAccountHandle associated with a subscription ID. + */ + PhoneAccountHandle getPhoneAccountHandleForSubscriptionId(int subscriptionId); + void factoryReset(int subId); /**