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

Commit 0d91dd5e 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

am: caf93b3b

Change-Id: I0068be9667f0f34b20e73277371f7cf47da35904
parents e5c5b496 caf93b3b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -309,7 +309,8 @@ public class SubscriptionController extends ISub.Stub {

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

    /**
+2 −2
Original line number Diff line number Diff line
@@ -724,14 +724,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;