Merge Android 24Q1 Release (ab/11220357)

Bug: 319669529
Merged-In: Ifa5fd5061ee48de2153d22eec43f3df71d589b6f
Change-Id: Iaaf63736f57b86d71544a2af3ac1770a9902685a
diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/PresenceSetting.java b/rcs/presencepolling/src/com/android/service/ims/presence/PresenceSetting.java
index 10988c7..4be5f15 100644
--- a/rcs/presencepolling/src/com/android/service/ims/presence/PresenceSetting.java
+++ b/rcs/presencepolling/src/com/android/service/ims/presence/PresenceSetting.java
@@ -34,6 +34,7 @@
 import android.telephony.ims.ProvisioningManager;
 
 import com.android.ims.internal.Logger;
+import com.android.internal.telephony.flags.Flags;
 
 import java.util.List;
 
@@ -245,6 +246,9 @@
     public static int getDefaultSubscriptionId() {
         SubscriptionManager sm = sContext.getSystemService(SubscriptionManager.class);
         if (sm == null) return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        if (Flags.workProfileApiSplit()) {
+            sm = sm.createForAllUserProfiles();
+        }
         List<SubscriptionInfo> infos = sm.getActiveSubscriptionInfoList();
         if (infos == null || infos.isEmpty()) {
             // There are no active subscriptions right now.
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java b/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java
index da4cbd6..839e60f 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java
@@ -43,6 +43,7 @@
 import android.telephony.ims.stub.ImsRegistrationImplBase;
 
 import com.android.ims.internal.Logger;
+import com.android.internal.telephony.flags.Flags;
 
 import java.util.List;
 import java.util.concurrent.LinkedBlockingQueue;
@@ -360,7 +361,10 @@
     public static int getDefaultSubscriptionId(Context context) {
         SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
         if (sm == null) return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-            List<SubscriptionInfo> infos = sm.getActiveSubscriptionInfoList();
+        if (Flags.workProfileApiSplit()) {
+            sm = sm.createForAllUserProfiles();
+        }
+        List<SubscriptionInfo> infos = sm.getActiveSubscriptionInfoList();
         if (infos == null || infos.isEmpty()) {
             // There are no active subscriptions right now.
             return SubscriptionManager.INVALID_SUBSCRIPTION_ID;