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

Commit 4e53db55 authored by Pengquan Meng's avatar Pengquan Meng Committed by Gerrit Code Review
Browse files

Merge "Fixed invalid phone id for active subscription change event"

parents 8792c505 04b79910
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -307,7 +307,8 @@ public class SubscriptionController extends ISub.Stub {
        broadcastSimInfoContentChanged();

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

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

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

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