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

Commit 9630ff26 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "filter deviceIdentifiers for subscriptionInfo if callers without perm"...

Merge "filter deviceIdentifiers for subscriptionInfo if callers without perm" into rvc-dev am: 27b607c4

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

Change-Id: Ic27d37fd099fa8667737834fcb91d04ee97dd834
parents b0b9b9ba 27b607c4
Loading
Loading
Loading
Loading
+18 −3
Original line number Original line Diff line number Diff line
@@ -874,6 +874,19 @@ public class SubscriptionController extends ISub.Stub {
    @Override
    @Override
    public List<SubscriptionInfo> getAllSubInfoList(String callingPackage,
    public List<SubscriptionInfo> getAllSubInfoList(String callingPackage,
            String callingFeatureId) {
            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]+");
        if (VDBG) logd("[getAllSubInfoList]+");


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


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