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

Commit 85fbc5a3 authored by Nazanin Bakhshi's avatar Nazanin Bakhshi Committed by Android (Google) 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" into rvc-dev
parents 2bf9c7ac e3854786
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -738,6 +738,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;