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

Commit caf93b3b authored by Pengquan Meng's avatar Pengquan Meng Committed by android-build-merger
Browse files

Merge "Fixed invalid phone id for active subscription change event" am: 4e53db55

am: 8d9e7d4d

Change-Id: I80bdbe8dba506ee9a5ea6ad50d5047f840cb1827
parents 9b2646b9 8d9e7d4d
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -307,7 +307,8 @@ public class SubscriptionController extends ISub.Stub {
        broadcastSimInfoContentChanged();
        broadcastSimInfoContentChanged();


        TelephonyMetrics metrics = TelephonyMetrics.getInstance();
        TelephonyMetrics metrics = TelephonyMetrics.getInstance();
        metrics.updateActiveSubscriptionInfoList(mCacheActiveSubInfoList);
        metrics.updateActiveSubscriptionInfoList(
                Collections.unmodifiableList(mCacheActiveSubInfoList));
    }
    }


    /**
    /**
+2 −2
Original line number Original line Diff line number Diff line
@@ -714,14 +714,14 @@ public class TelephonyMetrics {
    }
    }


    /** Update active subscription info list. */
    /** Update active subscription info list. */
    public void updateActiveSubscriptionInfoList(List<SubscriptionInfo> subInfos) {
    public synchronized void updateActiveSubscriptionInfoList(List<SubscriptionInfo> subInfos) {
        List<Integer> inActivePhoneList = new ArrayList<>();
        List<Integer> inActivePhoneList = new ArrayList<>();
        for (int i = 0; i < mLastActiveSubscriptionInfos.size(); i++) {
        for (int i = 0; i < mLastActiveSubscriptionInfos.size(); i++) {
            inActivePhoneList.add(mLastActiveSubscriptionInfos.keyAt(i));
            inActivePhoneList.add(mLastActiveSubscriptionInfos.keyAt(i));
        }
        }


        for (SubscriptionInfo info : subInfos) {
        for (SubscriptionInfo info : subInfos) {
            int phoneId = SubscriptionManager.getPhoneId(info.getSubscriptionId());
            int phoneId = info.getSimSlotIndex();
            inActivePhoneList.removeIf(value -> value.equals(phoneId));
            inActivePhoneList.removeIf(value -> value.equals(phoneId));
            ActiveSubscriptionInfo activeSubscriptionInfo = new ActiveSubscriptionInfo();
            ActiveSubscriptionInfo activeSubscriptionInfo = new ActiveSubscriptionInfo();
            activeSubscriptionInfo.slotIndex = phoneId;
            activeSubscriptionInfo.slotIndex = phoneId;