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

Commit d449f565 authored by Muralidhar Reddy's avatar Muralidhar Reddy Committed by Muralidhar Reddy Mule
Browse files

Wrong subscription is getting cleared during slot switch

If SLOT_STATUS is the last event, updateSimStateForInactivePort is getting called with wrong logical slot index which is already mapping to different slot-port pair.

Tested use cases:
1. SS: pSIM <-> eSIM
2. DSDS: P+E <-> E+E

Test: Manually verified on C10
Bug: 254388181
Change-Id: I2ba09ac3564b56b86a00308bd8da6e517ac1718a
parent b0ca9f24
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -373,6 +373,9 @@ public class UiccSlot extends Handler {
        }
        // no card present in the slot now; dispose port and then card if needed.
        disposeUiccCardIfNeeded(false /* sim state is not unknown */, portIndex);
        // If SLOT_STATUS is the last event, wrong subscription is getting invalidate during
        // slot switch event. To avoid it, reset the phoneId corresponding to the portIndex.
        mPortIdxToPhoneId.put(portIndex, INVALID_PHONE_ID);
        mLastRadioState.put(portIndex, TelephonyManager.RADIO_POWER_UNAVAILABLE);
    }