Merge "Make getSimCallManager msim aware" into qt-dev
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index db63198..dc6cf18 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -33,6 +33,7 @@
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,18 @@
/**
* 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");
@@ -866,9 +870,32 @@
}
/**
- * 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 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");
+ }
+ return null;
+ }
+
+ /**
+ * 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 @@
/**
* 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 5cd46ca..4fcda4d 100644
--- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
+++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl
@@ -97,7 +97,7 @@
/**
* @see TelecomServiceImpl#getSimCallManager
*/
- PhoneAccountHandle getSimCallManager();
+ PhoneAccountHandle getSimCallManager(int subId);
/**
* @see TelecomServiceImpl#getSimCallManagerForUser