summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-05-15 14:43:49 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-05-15 14:43:49 -0700
commit58779700df18d52edf1102c6fcb3731f28d37a94 (patch)
tree337f4f33ca2c5e338cf0ee965bc3a1c0f5ac301f
parenta71a81b69a6e5757ff29f083783a4b704b6a9ae9 (diff)
parent92cc1d20ae0e3dc7e0618027967145e26c1cb6e2 (diff)
downloadframeworks_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.
-rw-r--r--telephony/java/com/android/internal/telephony/CommandsInterface.java3
-rw-r--r--telephony/java/com/android/internal/telephony/IccCard.java10
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/RuimCard.java1
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/SimCard.java1
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);