Snap for 12399051 from 0483a1490511d6fe05b4a11f8a56b9a5672e33b6 to 24Q4-release
Change-Id: I66747c9fef7c44706c73346a91529dae87767775
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 53ef07e..df9884f 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -12853,15 +12853,31 @@
Context context = getPhoneFromSubIdOrDefault(subId).getContext();
- UserHandle userHandle = null;
- final long identity = Binder.clearCallingIdentity();
- try {
- userHandle = TelephonyUtils.getSubscriptionUserHandle(context, subId);
- } finally {
- Binder.restoreCallingIdentity(identity);
+ if (mTelecomFeatureFlags.telecomMainUserInGetRespondMessageApp()){
+ UserHandle mainUser = null;
+ Context userContext = null;
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mainUser = mUserManager.getMainUser();
+ userContext = context.createContextAsUser(mainUser, 0);
+ Log.d(LOG_TAG, "getDefaultRespondViaMessageApplication: mainUser = " + mainUser);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ return SmsApplication.getDefaultRespondViaMessageApplicationAsUser(userContext,
+ updateIfNeeded, mainUser);
+ } else {
+ UserHandle userHandle = null;
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ userHandle = TelephonyUtils.getSubscriptionUserHandle(context, subId);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ return SmsApplication.getDefaultRespondViaMessageApplicationAsUser(context,
+ updateIfNeeded, userHandle);
}
- return SmsApplication.getDefaultRespondViaMessageApplicationAsUser(context,
- updateIfNeeded, userHandle);
+
}
/**
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 8b004d9..26db4b3 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -362,6 +362,7 @@
private int mPreferredNetworkTypeResult;
private int mCellInfoRefreshRateIndex;
private int mPhoneId = SubscriptionManager.INVALID_PHONE_INDEX;
+ private static final int DEFAULT_PHONE_ID = 0;
private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
@@ -584,7 +585,15 @@
mPhone = getPhone(SubscriptionManager.getDefaultSubscriptionId());
}
mSubId = SubscriptionManager.getDefaultSubscriptionId();
- mPhoneId = SubscriptionManager.getPhoneId(mSubId);
+ if (mPhone != null) {
+ mPhoneId = mPhone.getPhoneId();
+ } else {
+ mPhoneId = SubscriptionManager.getPhoneId(mSubId);
+ }
+ if (!SubscriptionManager.isValidPhoneId(mPhoneId)) {
+ mPhoneId = DEFAULT_PHONE_ID;
+ }
+
mTelephonyManager = getSystemService(TelephonyManager.class)
.createForSubscriptionId(mSubId);
mEuiccManager = getSystemService(EuiccManager.class);