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

Commit 58779700 authored by Wink Saville's avatar Wink Saville Committed by Android Git Automerger
Browse files

am 92cc1d20: Merge "Telephony: Handle Icc Status Changed Event." into honeycomb-LTE

* commit '92cc1d20':
  Telephony: Handle Icc Status Changed Event.
parents a71a81b6 92cc1d20
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -234,6 +234,9 @@ public interface CommandsInterface {
    void registerForSIMLockedOrAbsent(Handler h, int what, Object obj);
    void unregisterForSIMLockedOrAbsent(Handler h);

    void registerForIccStatusChanged(Handler h, int what, Object obj);
    void unregisterForIccStatusChanged(Handler h);

    void registerForCallStateChanged(Handler h, int what, Object obj);
    void unregisterForCallStateChanged(Handler h);
    void registerForVoiceNetworkStateChanged(Handler h, int what, Object obj);
+9 −1
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ public abstract class IccCard {
    private static final int EVENT_CHANGE_ICC_PASSWORD_DONE = 9;
    private static final int EVENT_QUERY_FACILITY_FDN_DONE = 10;
    private static final int EVENT_CHANGE_FACILITY_FDN_DONE = 11;
    private static final int EVENT_ICC_STATUS_CHANGED = 12;

    /*
      UNKNOWN is a transient state, for example, after uesr inputs ICC pin under
@@ -140,11 +141,14 @@ public abstract class IccCard {

    public IccCard(PhoneBase phone, String logTag, Boolean dbg) {
        mPhone = phone;
        mPhone.mCM.registerForIccStatusChanged(mHandler, EVENT_ICC_STATUS_CHANGED, null);
        mLogTag = logTag;
        mDbg = dbg;
    }

    abstract public void dispose();
    public void dispose() {
        mPhone.mCM.unregisterForIccStatusChanged(mHandler);
    }

    protected void finalize() {
        if(mDbg) Log.d(mLogTag, "IccCard finalized");
@@ -601,6 +605,10 @@ public abstract class IccCard {
                                                        = ar.exception;
                    ((Message)ar.userObj).sendToTarget();
                    break;
                case EVENT_ICC_STATUS_CHANGED:
                    Log.d(mLogTag, "Received Event EVENT_ICC_STATUS_CHANGED");
                    mPhone.mCM.getIccCardStatus(obtainMessage(EVENT_GET_ICC_STATUS_DONE));
                    break;
                default:
                    Log.e(mLogTag, "[IccCard] Unknown Event " + msg.what);
            }
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ public final class RuimCard extends IccCard {

    @Override
    public void dispose() {
        super.dispose();
        //Unregister for all events
        mPhone.mCM.unregisterForRUIMLockedOrAbsent(mHandler);
        mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ public final class SimCard extends IccCard {

    @Override
    public void dispose() {
        super.dispose();
        //Unregister for all events
        mPhone.mCM.unregisterForSIMLockedOrAbsent(mHandler);
        mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);