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

Commit b98b56c2 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android Git Automerger
Browse files

am a142512a: Broadcast SIM Refresh to all registered components

* commit 'a142512a':
  Broadcast SIM Refresh to all registered components
parents a3838018 a142512a
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ public abstract class BaseCommands implements CommandsInterface {
    protected RegistrantList mCdmaPrlChangedRegistrants = new RegistrantList();
    protected RegistrantList mExitEmergencyCallbackModeRegistrants = new RegistrantList();
    protected RegistrantList mRilConnectedRegistrants = new RegistrantList();
    protected RegistrantList mIccRefreshRegistrants = new RegistrantList();

    protected Registrant mSMSRegistrant;
    protected Registrant mNITZTimeRegistrant;
@@ -86,7 +87,6 @@ public abstract class BaseCommands implements CommandsInterface {
    protected Registrant mCatCallSetUpRegistrant;
    protected Registrant mIccSmsFullRegistrant;
    protected Registrant mEmergencyCallbackModeRegistrant;
    protected Registrant mIccRefreshRegistrant;
    protected Registrant mRingRegistrant;
    protected Registrant mRestrictedStateRegistrant;
    protected Registrant mGsmBroadcastSmsRegistrant;
@@ -455,16 +455,17 @@ public abstract class BaseCommands implements CommandsInterface {
        mIccSmsFullRegistrant.clear();
    }

    public void setOnIccRefresh(Handler h, int what, Object obj) {
        mIccRefreshRegistrant = new Registrant (h, what, obj);
    public void registerForIccRefresh(Handler h, int what, Object obj) {
        Registrant r = new Registrant (h, what, obj);
        mIccRefreshRegistrants.add(r);
    }

    public void setEmergencyCallbackMode(Handler h, int what, Object obj) {
        mEmergencyCallbackModeRegistrant = new Registrant (h, what, obj);
    }

    public void unSetOnIccRefresh(Handler h) {
        mIccRefreshRegistrant.clear();
    public void unregisterForIccRefresh(Handler h) {
        mIccRefreshRegistrants.remove(h);
    }

    public void setOnCallRing(Handler h, int what, Object obj) {
+2 −3
Original line number Diff line number Diff line
@@ -352,14 +352,13 @@ public interface CommandsInterface {

    /**
     * Sets the handler for SIM Refresh notifications.
     * Unlike the register* methods, there's only one notification handler
     *
     * @param h Handler for notification message.
     * @param what User-defined message code.
     * @param obj User object.
     */
    void setOnIccRefresh(Handler h, int what, Object obj);
    void unSetOnIccRefresh(Handler h);
    void registerForIccRefresh(Handler h, int what, Object obj);
    void unregisterForIccRefresh(Handler h);

    /**
     * Sets the handler for RING notifications.
+2 −2
Original line number Diff line number Diff line
@@ -2602,8 +2602,8 @@ public final class RIL extends BaseCommands implements CommandsInterface {
            case RIL_UNSOL_SIM_REFRESH:
                if (RILJ_LOGD) unsljLogRet(response, ret);

                if (mIccRefreshRegistrant != null) {
                    mIccRefreshRegistrant.notifyRegistrant(
                if (mIccRefreshRegistrants != null) {
                    mIccRefreshRegistrants.notifyRegistrants(
                            new AsyncResult (null, ret, null));
                }
                break;
+2 −2
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ public final class RuimRecords extends IccRecords {
        p.mCM.registerForRUIMReady(this, EVENT_RUIM_READY, null);
        p.mCM.registerForOffOrNotAvailable(this, EVENT_RADIO_OFF_OR_NOT_AVAILABLE, null);
        // NOTE the EVENT_SMS_ON_RUIM is not registered
        p.mCM.setOnIccRefresh(this, EVENT_RUIM_REFRESH, null);
        p.mCM.registerForIccRefresh(this, EVENT_RUIM_REFRESH, null);

        // Start off by setting empty state
        onRadioOffOrNotAvailable();
@@ -102,7 +102,7 @@ public final class RuimRecords extends IccRecords {
        //Unregister for all events
        phone.mCM.unregisterForRUIMReady(this);
        phone.mCM.unregisterForOffOrNotAvailable( this);
        phone.mCM.unSetOnIccRefresh(this);
        phone.mCM.unregisterForIccRefresh(this);
    }

    @Override
+2 −2
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ public final class SIMRecords extends IccRecords {
        p.mCM.registerForOffOrNotAvailable(
                        this, EVENT_RADIO_OFF_OR_NOT_AVAILABLE, null);
        p.mCM.setOnSmsOnSim(this, EVENT_SMS_ON_SIM, null);
        p.mCM.setOnIccRefresh(this, EVENT_SIM_REFRESH, null);
        p.mCM.registerForIccRefresh(this, EVENT_SIM_REFRESH, null);

        // Start off by setting empty state
        onRadioOffOrNotAvailable();
@@ -195,7 +195,7 @@ public final class SIMRecords extends IccRecords {
        //Unregister for all events
        phone.mCM.unregisterForSIMReady(this);
        phone.mCM.unregisterForOffOrNotAvailable( this);
        phone.mCM.unSetOnIccRefresh(this);
        phone.mCM.unregisterForIccRefresh(this);
    }

    protected void finalize() {