Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b832e1f authored by Chen Xu's avatar Chen Xu Committed by Automerger Merge Worker
Browse files

filter deviceIdentifiers for subscriptionInfo if callers without perm am: c90703b3 am: 29ae954a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/16204507

Change-Id: I4099cc2af901e1d8ce12c43e64daac8eb4c4a3dc
parents 808bacad 29ae954a
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -901,6 +901,19 @@ public class SubscriptionController extends ISub.Stub {
    @Override
    public List<SubscriptionInfo> getAllSubInfoList(String callingPackage,
            String callingFeatureId) {
        return getAllSubInfoList(callingPackage, callingFeatureId, false);
    }

    /**
     * @param callingPackage The package making the IPC.
     * @param callingFeatureId The feature in the package
     * @param skipConditionallyRemoveIdentifier if set, skip removing identifier conditionally
     * @return List of all SubscriptionInfo records in database,
     * include those that were inserted before, maybe empty but not null.
     * @hide
     */
    public List<SubscriptionInfo> getAllSubInfoList(String callingPackage,
            String callingFeatureId, boolean skipConditionallyRemoveIdentifier) {
        if (VDBG) logd("[getAllSubInfoList]+");

        // This API isn't public, so no need to provide a valid subscription ID - we're not worried
@@ -919,9 +932,9 @@ public class SubscriptionController extends ISub.Stub {
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
        if (subList != null) {
        if (subList != null && !skipConditionallyRemoveIdentifier) {
            if (VDBG) logd("[getAllSubInfoList]- " + subList.size() + " infos return");
            subList.stream().map(
            subList = subList.stream().map(
                    subscriptionInfo -> conditionallyRemoveIdentifiers(subscriptionInfo,
                            callingPackage, callingFeatureId, "getAllSubInfoList"))
                    .collect(Collectors.toList());
@@ -3902,8 +3915,10 @@ public class SubscriptionController extends ISub.Stub {
        List<SubscriptionInfo> subInfoList;

        try {
            // need to bypass removing identifier check because that will remove the subList without
            // group id.
            subInfoList = getAllSubInfoList(mContext.getOpPackageName(),
                    mContext.getAttributionTag());
                    mContext.getAttributionTag(), true);
            if (groupUuid == null || subInfoList == null || subInfoList.isEmpty()) {
                return new ArrayList<>();
            }