Merge "Fix multisim issue with sim call manager."
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index cf39720..a7da9db 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -1900,10 +1900,23 @@
return;
}
+ // See what Telecom thinks the SIM call manager is.
final PhoneAccountHandle simCallManager =
TelecomManager.from(getContext()).getSimCallManager();
- if (simCallManager != null) {
+ // Check which SIM call manager is for the current sub ID.
+ PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+ String currentSubSimCallManager = null;
+ if (carrierConfig != null) {
+ currentSubSimCallManager = carrierConfig.getString(
+ CarrierConfigManager.KEY_DEFAULT_SIM_CALL_MANAGER_STRING);
+ }
+
+ // Only try to configure the phone account if this is the sim call manager for the
+ // current sub.
+ if (simCallManager != null
+ && simCallManager.getComponentName().flattenToString().equals(
+ currentSubSimCallManager)) {
Intent intent = MobileNetworkSettings.buildPhoneAccountConfigureIntent(
getContext(), simCallManager);
PackageManager pm = getContext().getPackageManager();