From ae8b9b5fe26b5c3a65ece0a7052f3fea5ef71515 Mon Sep 17 00:00:00 2001 From: Ling Ma Date: Mon, 22 Jan 2024 22:14:08 +0000 Subject: [PATCH] Wrap subManager creation with createForAllProfiles Since U, a sub can be associated with a particular profile, and thus in V we enforce filtering on the caller and only show the subs that are associated with the caller. However, in some cases the caller indeed needs to see all subs regardless of its association, e.g. sysUI. Therefore, a param isForAllProfile is added to indicate whether the caller intends to see all subs. Bug: 296076674 Test: voice call + data browsing Flag: ACONFIG com.android.internal.telephony.flags.enforce_subscription_user_filter DEVELOPMENT Change-Id: I88e29b445a11f36e1a3db80368bb9e46ef06eac3 --- .../settings/sim/EnableAutoDataSwitchDialogFragment.java | 2 +- .../settings/sim/SelectSpecificDataSimDialogFragment.java | 2 +- src/com/android/settings/sim/SimListDialogFragment.java | 2 +- .../settings/sim/EnableAutoDataSwitchDialogFragmentTest.java | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java b/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java index b1b5f8e69ed..bd6a394f597 100644 --- a/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java +++ b/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java @@ -195,7 +195,7 @@ public class EnableAutoDataSwitchDialogFragment extends SimDialogFragment implem } private SubscriptionManager getSubscriptionManager() { - return getContext().getSystemService(SubscriptionManager.class); + return getContext().getSystemService(SubscriptionManager.class).createForAllUserProfiles(); } @VisibleForTesting diff --git a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java index 37f5445238e..b0b65f66e2e 100644 --- a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java +++ b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java @@ -194,7 +194,7 @@ public class SelectSpecificDataSimDialogFragment extends SimDialogFragment imple @VisibleForTesting protected SubscriptionManager getSubscriptionManager() { - return getContext().getSystemService(SubscriptionManager.class); + return getContext().getSystemService(SubscriptionManager.class).createForAllUserProfiles(); } @Override diff --git a/src/com/android/settings/sim/SimListDialogFragment.java b/src/com/android/settings/sim/SimListDialogFragment.java index db2c4dc224d..fd44dc74a67 100644 --- a/src/com/android/settings/sim/SimListDialogFragment.java +++ b/src/com/android/settings/sim/SimListDialogFragment.java @@ -125,7 +125,7 @@ public class SimListDialogFragment extends SimDialogFragment { protected List getCurrentSubscriptions() { final SubscriptionManager manager = getContext().getSystemService( - SubscriptionManager.class); + SubscriptionManager.class).createForAllUserProfiles(); return manager.getActiveSubscriptionInfoList(); } diff --git a/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java b/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java index ad60d06dc04..24b82b2fffb 100644 --- a/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java @@ -68,6 +68,7 @@ public class EnableAutoDataSwitchDialogFragmentTest doReturn(mContext).when(mFragment).getContext(); doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class); + doReturn(mSubscriptionManager).when(mSubscriptionManager).createForAllUserProfiles(); doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class); doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt()); doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);