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

Commit 2698ab88 authored by Hunter Knepshield's avatar Hunter Knepshield Committed by android-build-merger
Browse files

Merge "Allow eSIM boot profile to broadcast APP NOT_READY"

am: 58488b1f

Change-Id: I209603b89553a00ae1fa1c04331f475496b573b0
parents d1b696f1 58488b1f
Loading
Loading
Loading
Loading
+8 −4
Original line number Original line Diff line number Diff line
@@ -974,10 +974,14 @@ public class SubscriptionInfoUpdater extends Handler {
    private void broadcastSimApplicationStateChanged(int phoneId, int state) {
    private void broadcastSimApplicationStateChanged(int phoneId, int state) {
        // Broadcast if the state has changed, except if old state was UNKNOWN and new is NOT_READY,
        // Broadcast if the state has changed, except if old state was UNKNOWN and new is NOT_READY,
        // because that's the initial state and a broadcast should be sent only on a transition
        // because that's the initial state and a broadcast should be sent only on a transition
        // after SIM is PRESENT
        // after SIM is PRESENT. The only exception is eSIM boot profile, where NOT_READY is the
        if (!(state == sSimApplicationState[phoneId]
        // terminal state.
                || (state == TelephonyManager.SIM_STATE_NOT_READY
        boolean isUnknownToNotReady =
                && sSimApplicationState[phoneId] == TelephonyManager.SIM_STATE_UNKNOWN))) {
                (sSimApplicationState[phoneId] == TelephonyManager.SIM_STATE_UNKNOWN
                        && state == TelephonyManager.SIM_STATE_NOT_READY);
        IccCard iccCard = mPhone[phoneId].getIccCard();
        boolean emptyProfile = iccCard != null && iccCard.isEmptyProfile();
        if (state != sSimApplicationState[phoneId] && (!isUnknownToNotReady || emptyProfile)) {
            sSimApplicationState[phoneId] = state;
            sSimApplicationState[phoneId] = state;
            Intent i = new Intent(TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED);
            Intent i = new Intent(TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED);
            i.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
            i.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);