diff options
Diffstat (limited to 'telecomm/java')
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 44 | ||||
-rw-r--r-- | telecomm/java/com/android/internal/telecom/ITelecomService.aidl | 10 |
2 files changed, 54 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index f3358f8..0d37f09 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -323,6 +323,50 @@ public class TelecomManager { } /** + * Return the corresponding PhoneAccount id of a given subscription id. + * + * @param subscriptionId The value of the subscription id the caller is trying to get a phone + * account id for. + * @return A string representing the phone account id or null. + * + * @hide + */ + @SystemApi + public String getPhoneAccountIdForSubscriptionId(long subscriptionId) { + try { + if (isServiceConnected()) { + return getTelecomService().getPhoneAccountIdForSubscriptionId(subscriptionId); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecomService#getSubscriptionIdForPhoneAccount", e); + } + return null; + } + + /** + * Return the subscription id of the PhoneAccount if it exists. This only applies to PSTN + * or SIM-based phone accounts. Return -1 otherwise. + * + * @param accountHandle The {@link PhoneAccountHandle} the caller is trying to get the + * subscription id for. + * @return The subscription id (a long) or -1 if the phone account is not a SIM or + * a subscription id does not exist. + * + * @hide + */ + @SystemApi + public long getSubscriptionIdForPhoneAccount(PhoneAccountHandle accountHandle) { + try { + if (isServiceConnected()) { + return getTelecomService().getSubscriptionIdForPhoneAccount(accountHandle); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecomService#getSubscriptionIdForPhoneAccount", e); + } + return -1; + } + + /** * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone * calls with a specified URI scheme. * <p> diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index f1cf885..09ee1cb 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -35,6 +35,16 @@ interface ITelecomService { void showInCallScreen(boolean showDialpad); /** + * @see TelecomServiceImpl#getPhoneAccountIdForSubscriptionId + */ + String getPhoneAccountIdForSubscriptionId(in long subscriptionId); + + /** + * @see TelecomServiceImpl#getSubscriptionIdForPhoneAccount + */ + long getSubscriptionIdForPhoneAccount(in PhoneAccountHandle account); + + /** * @see TelecomServiceImpl#getDefaultOutgoingPhoneAccount */ PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme); |