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

Commit ee5ecae2 authored by Chen Xu's avatar Chen Xu Committed by android-build-merger
Browse files

Merge "fix the issue that update carrier id to the wrong subId during switch" into qt-dev

am: 63001992

Change-Id: I3e393b2c1a9d120de8a1144c5f1795977208b2f9
parents 276114b2 63001992
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -132,8 +132,13 @@ public class CarrierResolver extends Handler {
     *  /ACTION_SIM_APPLICATION_STATE_CHANGED
     *  3. ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED
     *
     *  For SIM refresh either reset or file update, SubscriptionInfoUpdater will re-trigger
     *  carrier identification with sim loaded state.
     *  For SIM refresh either reset or init refresh type, SubscriptionInfoUpdater will re-trigger
     *  carrier identification with sim loaded state. Framework today silently handle single file
     *  refresh type.
     *  TODO: check fileId from single file refresh, if the refresh file is IMSI, gid1 or other
     *  records which might change carrier id, framework should trigger sim loaded state just like
     *  other refresh events: INIT or RESET and which will ultimately trigger carrier
     *  re-identification.
     */
    public void resolveSubscriptionCarrierId(String simState) {
        logd("[resolveSubscriptionCarrierId] simState: " + simState);
@@ -224,13 +229,11 @@ public class CarrierResolver extends Handler {
                if (mIccRecords != newIccRecords) {
                    if (mIccRecords != null) {
                        logd("Removing stale icc objects.");
                        mIccRecords.unregisterForRecordsLoaded(this);
                        mIccRecords.unregisterForRecordsOverride(this);
                        mIccRecords = null;
                    }
                    if (newIccRecords != null) {
                        logd("new Icc object");
                        newIccRecords.registerForRecordsLoaded(this, SIM_LOAD_EVENT, null);
                        newIccRecords.registerForRecordsOverride(this, SIM_LOAD_EVENT, null);
                        mIccRecords = newIccRecords;
                    }