Fix CTS: getActiveSubscriptionInfoList and getSubscriptionsInGroup no permission
getActiveSubscriptionInfoList skip carrier privilege permission to get correct subinfo(e-Sim+p-Sim)
getSubscriptionsInGroup didn't have permission
Bug: 193475184
Bug: 205599406
Test: cts
Signed-off-by: anitalin <anitalin@microsoft.com>
Merged-In: I1ee857d9e080475d36100775ada660778f2a50ae
Change-Id: I1ee857d9e080475d36100775ada660778f2a50ae
(cherry picked from commit bbf87f0f5d0d32ff2c68e30405a742e45f48c84b)
diff --git a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
index bc813aa..b6ee78c 100644
--- a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
+++ b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
@@ -1086,7 +1086,8 @@
try {
// Get all active subscriptions.
List<SubscriptionInfo> activeSubInfos =
- mSubscriptionManager.getActiveSubscriptionInfoList();
+ ShellIdentityUtils.invokeMethodWithShellPermissions(mSubscriptionManager,
+ (sm) -> sm.getActiveSubscriptionInfoList());
List<Integer> activeSubGroup = getSubscriptionIdList(activeSubInfos);
activeSubGroup.removeIf(id -> id == subId);
@@ -1262,13 +1263,17 @@
}
private void removeSubscriptionsFromGroup(ParcelUuid uuid) {
- List<SubscriptionInfo> infoList = mSubscriptionManager.getSubscriptionsInGroup(uuid);
+ List<SubscriptionInfo> infoList = ShellIdentityUtils.invokeMethodWithShellPermissions(
+ mSubscriptionManager,
+ (sm) -> (sm.getSubscriptionsInGroup(uuid)));
if (!infoList.isEmpty()) {
List<Integer> subscriptionIdList = getSubscriptionIdList(infoList);
ShellIdentityUtils.invokeMethodWithShellPermissionsNoReturn(mSubscriptionManager,
(sm) -> sm.removeSubscriptionsFromGroup(subscriptionIdList, uuid));
}
- infoList = mSubscriptionManager.getSubscriptionsInGroup(uuid);
+ infoList = ShellIdentityUtils.invokeMethodWithShellPermissions(
+ mSubscriptionManager,
+ (sm) -> (sm.getSubscriptionsInGroup(uuid)));
assertThat(infoList).isEmpty();
}