diff options
| -rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 45 | ||||
| -rw-r--r-- | telecomm/java/com/android/internal/telecom/ITelecomService.aidl | 2 |
2 files changed, 37 insertions, 10 deletions
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index db6319871540..dc6cf18cc5f4 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -33,6 +33,7 @@ import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; +import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; @@ -849,15 +850,40 @@ public class TelecomManager { /** * Returns the current SIM call manager. Apps must be prepared for this method to return - * {@code null}, indicating that there currently exists no user-chosen default - * {@code PhoneAccount}. + * {@code null}, indicating that there currently exists no SIM call manager {@link PhoneAccount} + * for the default voice subscription. * - * @return The phone account handle of the current sim call manager. + * @return The phone account handle of the current sim call manager for the default voice + * subscription. + * @see SubscriptionManager#getDefaultVoiceSubscriptionId() */ public PhoneAccountHandle getSimCallManager() { try { if (isServiceConnected()) { - return getTelecomService().getSimCallManager(); + return getTelecomService().getSimCallManager( + SubscriptionManager.getDefaultSubscriptionId()); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecomService#getSimCallManager"); + } + return null; + } + + /** + * Returns current SIM call manager for the Telephony Subscription ID specified. Apps must be + * prepared for this method to return {@code null}, indicating that there currently exists no + * SIM call manager {@link PhoneAccount} for the subscription specified. + * + * @param subscriptionId The Telephony Subscription ID that the SIM call manager should be + * queried for. + * @return The phone account handle of the current sim call manager. + * @see SubscriptionManager#getActiveSubscriptionInfoList() + * @hide + */ + public PhoneAccountHandle getSimCallManagerForSubscription(int subscriptionId) { + try { + if (isServiceConnected()) { + return getTelecomService().getSimCallManager(subscriptionId); } } catch (RemoteException e) { Log.e(TAG, "Error calling ITelecomService#getSimCallManager"); @@ -866,9 +892,10 @@ public class TelecomManager { } /** - * Returns the current SIM call manager for the specified user. Apps must be prepared for this - * method to return {@code null}, indicating that there currently exists no user-chosen default - * {@code PhoneAccount}. + * Returns the current SIM call manager for the user-chosen default Telephony Subscription ID + * (see {@link SubscriptionManager#getDefaultSubscriptionId()}) and the specified user. Apps + * must be prepared for this method to return {@code null}, indicating that there currently + * exists no SIM call manager {@link PhoneAccount} for the default voice subscription. * * @return The phone account handle of the current sim call manager. * @@ -889,8 +916,8 @@ public class TelecomManager { /** * Returns the current connection manager. Apps must be prepared for this method to return - * {@code null}, indicating that there currently exists no user-chosen default - * {@code PhoneAccount}. + * {@code null}, indicating that there currently exists no Connection Manager + * {@link PhoneAccount} for the default voice subscription. * * @return The phone account handle of the current connection manager. * @hide diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index 5cd46ca936a7..4fcda4d00883 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -97,7 +97,7 @@ interface ITelecomService { /** * @see TelecomServiceImpl#getSimCallManager */ - PhoneAccountHandle getSimCallManager(); + PhoneAccountHandle getSimCallManager(int subId); /** * @see TelecomServiceImpl#getSimCallManagerForUser |