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

Commit 0506228d authored by Nazanin Bakhshi's avatar Nazanin Bakhshi Committed by Gerrit Code Review
Browse files

Merge "Use cached SubscriptionInfo from active subInfos, so that for each...

Merge "Use cached SubscriptionInfo from active subInfos, so that for each carrierPrivilege permission check we are not making a db query, therefore reducing race condition"
parents 2b34e41c 7c8b1684
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -572,6 +572,19 @@ public class SubscriptionController extends ISub.Stub {
     * @hide
     */
    public SubscriptionInfo getSubscriptionInfo(int subId) {
        // check cache for active subscriptions first, before querying db
        for (SubscriptionInfo subInfo : mCacheActiveSubInfoList) {
            if (subInfo.getSubscriptionId() == subId) {
                return subInfo;
            }
        }
        // check cache for opportunistic subscriptions too, before querying db
        for (SubscriptionInfo subInfo : mCacheOpportunisticSubInfoList) {
            if (subInfo.getSubscriptionId() == subId) {
                return subInfo;
            }
        }

        List<SubscriptionInfo> subInfoList = getSubInfo(
                SubscriptionManager.UNIQUE_KEY_SUBSCRIPTION_ID + "=" + subId, null);
        if (subInfoList == null || subInfoList.isEmpty()) return null;