am 92cc1d20: Merge "Telephony: Handle Icc Status Changed Event." into honeycomb-LTE
* commit '92cc1d20ae0e3dc7e0618027967145e26c1cb6e2': Telephony: Handle Icc Status Changed Event.
This commit is contained in:
@@ -234,6 +234,9 @@ public interface CommandsInterface {
|
|||||||
void registerForSIMLockedOrAbsent(Handler h, int what, Object obj);
|
void registerForSIMLockedOrAbsent(Handler h, int what, Object obj);
|
||||||
void unregisterForSIMLockedOrAbsent(Handler h);
|
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 registerForCallStateChanged(Handler h, int what, Object obj);
|
||||||
void unregisterForCallStateChanged(Handler h);
|
void unregisterForCallStateChanged(Handler h);
|
||||||
void registerForVoiceNetworkStateChanged(Handler h, int what, Object obj);
|
void registerForVoiceNetworkStateChanged(Handler h, int what, Object obj);
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ public abstract class IccCard {
|
|||||||
private static final int EVENT_CHANGE_ICC_PASSWORD_DONE = 9;
|
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_QUERY_FACILITY_FDN_DONE = 10;
|
||||||
private static final int EVENT_CHANGE_FACILITY_FDN_DONE = 11;
|
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
|
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) {
|
public IccCard(PhoneBase phone, String logTag, Boolean dbg) {
|
||||||
mPhone = phone;
|
mPhone = phone;
|
||||||
|
mPhone.mCM.registerForIccStatusChanged(mHandler, EVENT_ICC_STATUS_CHANGED, null);
|
||||||
mLogTag = logTag;
|
mLogTag = logTag;
|
||||||
mDbg = dbg;
|
mDbg = dbg;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract public void dispose();
|
public void dispose() {
|
||||||
|
mPhone.mCM.unregisterForIccStatusChanged(mHandler);
|
||||||
|
}
|
||||||
|
|
||||||
protected void finalize() {
|
protected void finalize() {
|
||||||
if(mDbg) Log.d(mLogTag, "IccCard finalized");
|
if(mDbg) Log.d(mLogTag, "IccCard finalized");
|
||||||
@@ -601,6 +605,10 @@ public abstract class IccCard {
|
|||||||
= ar.exception;
|
= ar.exception;
|
||||||
((Message)ar.userObj).sendToTarget();
|
((Message)ar.userObj).sendToTarget();
|
||||||
break;
|
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:
|
default:
|
||||||
Log.e(mLogTag, "[IccCard] Unknown Event " + msg.what);
|
Log.e(mLogTag, "[IccCard] Unknown Event " + msg.what);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public final class RuimCard extends IccCard {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
|
super.dispose();
|
||||||
//Unregister for all events
|
//Unregister for all events
|
||||||
mPhone.mCM.unregisterForRUIMLockedOrAbsent(mHandler);
|
mPhone.mCM.unregisterForRUIMLockedOrAbsent(mHandler);
|
||||||
mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
|
mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public final class SimCard extends IccCard {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
|
super.dispose();
|
||||||
//Unregister for all events
|
//Unregister for all events
|
||||||
mPhone.mCM.unregisterForSIMLockedOrAbsent(mHandler);
|
mPhone.mCM.unregisterForSIMLockedOrAbsent(mHandler);
|
||||||
mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
|
mPhone.mCM.unregisterForOffOrNotAvailable(mHandler);
|
||||||
|
|||||||
Reference in New Issue
Block a user