diff options
author | Wink Saville <wink@google.com> | 2011-05-15 14:43:49 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-05-15 14:43:49 -0700 |
commit | 58779700df18d52edf1102c6fcb3731f28d37a94 (patch) | |
tree | 337f4f33ca2c5e338cf0ee965bc3a1c0f5ac301f | |
parent | a71a81b69a6e5757ff29f083783a4b704b6a9ae9 (diff) | |
parent | 92cc1d20ae0e3dc7e0618027967145e26c1cb6e2 (diff) | |
download | frameworks_base-58779700df18d52edf1102c6fcb3731f28d37a94.zip frameworks_base-58779700df18d52edf1102c6fcb3731f28d37a94.tar.gz frameworks_base-58779700df18d52edf1102c6fcb3731f28d37a94.tar.bz2 |
am 92cc1d20: Merge "Telephony: Handle Icc Status Changed Event." into honeycomb-LTE
* commit '92cc1d20ae0e3dc7e0618027967145e26c1cb6e2':
Telephony: Handle Icc Status Changed Event.
4 files changed, 14 insertions, 1 deletions
diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java index bd549ea..b68cbe9 100644 --- a/telephony/java/com/android/internal/telephony/CommandsInterface.java +++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java @@ -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); diff --git a/telephony/java/com/android/internal/telephony/IccCard.java b/telephony/java/com/android/internal/telephony/IccCard.java index 9956ae8..1b49d2d 100644 --- a/telephony/java/com/android/internal/telephony/IccCard.java +++ b/telephony/java/com/android/internal/telephony/IccCard.java @@ -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); } diff --git a/telephony/java/com/android/internal/telephony/cdma/RuimCard.java b/telephony/java/com/android/internal/telephony/cdma/RuimCard.java index cfe7df7..11f44d4 100644 --- a/telephony/java/com/android/internal/telephony/cdma/RuimCard.java +++ b/telephony/java/com/android/internal/telephony/cdma/RuimCard.java @@ -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); diff --git a/telephony/java/com/android/internal/telephony/gsm/SimCard.java b/telephony/java/com/android/internal/telephony/gsm/SimCard.java index b63c1d7..b7b0af3 100644 --- a/telephony/java/com/android/internal/telephony/gsm/SimCard.java +++ b/telephony/java/com/android/internal/telephony/gsm/SimCard.java @@ -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); |