diff options
author | Shishir Agrawal <shishir@google.com> | 2014-03-14 09:32:22 -0700 |
---|---|---|
committer | Shishir Agrawal <shishir@google.com> | 2014-03-14 09:38:03 -0700 |
commit | 37384dedab38239433a41641fe87fc3e51bb6976 (patch) | |
tree | 1797d430d9abe5065bb9f5a51f724aeb2ffb24f7 | |
parent | 121114abe4b17c9515ebdfb2953576f8245199d6 (diff) | |
download | frameworks_base-37384dedab38239433a41641fe87fc3e51bb6976.zip frameworks_base-37384dedab38239433a41641fe87fc3e51bb6976.tar.gz frameworks_base-37384dedab38239433a41641fe87fc3e51bb6976.tar.bz2 |
Modify TelephonyManager to expose sendEnvelopeWithStatus instead of sendEnvelope.
The RIL sendEnvelope command does not return the response from the SIM while
the sendEnvelopeWithStatus does. Since the response is required for certain
envelope commands, its better to expose sendEnvelopeWithStatus.
Change-Id: I209bfc59e396bb6f91345d6f99c51cfa35f2d650
-rw-r--r-- | api/current.txt | 2 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 11 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 9 |
3 files changed, 12 insertions, 10 deletions
diff --git a/api/current.txt b/api/current.txt index 333bb73..ec25996 100644 --- a/api/current.txt +++ b/api/current.txt @@ -24847,7 +24847,7 @@ package android.telephony { method public boolean isNetworkRoaming(); method public void listen(android.telephony.PhoneStateListener, int); method public void newIncomingThirdPartyCall(android.content.ComponentName, java.lang.String, java.lang.String); - method public java.lang.String sendEnvelope(java.lang.String); + method public java.lang.String sendEnvelopeWithStatus(java.lang.String); field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; field public static final int CALL_STATE_IDLE = 0; // 0x0 diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index f621fa4..413f9e50 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1806,8 +1806,7 @@ public class TelephonyManager { } /** - * Send ENVELOPE to the SIM, after processing a proactive command sent by - * the SIM. + * Send ENVELOPE to the SIM and return the response. * * <p>Requires Permission: * {@link android.Manifest.permission#SIM_COMMUNICATION SIM_COMMUNICATION} @@ -1815,11 +1814,13 @@ public class TelephonyManager { * @param content String containing SAT/USAT response in hexadecimal * format starting with command tag. See TS 102 223 for * details. - * @return The APDU response from the ICC card. + * @return The APDU response from the ICC card, with the last 4 bytes + * being the status word. If the command fails, returns an empty + * string. */ - public String sendEnvelope(String content) { + public String sendEnvelopeWithStatus(String content) { try { - return getITelephony().sendEnvelope(content); + return getITelephony().sendEnvelopeWithStatus(content); } catch (RemoteException ex) { } catch (NullPointerException ex) { } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 4c0f259..e2abb9a 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -369,15 +369,16 @@ interface ITelephony { int p1, int p2, int p3, String data); /** - * Send ENVELOPE to the SIM, after processing a proactive command sent by - * the SIM. + * Send ENVELOPE to the SIM and returns the response. * * @param contents String containing SAT/USAT response in hexadecimal * format starting with command tag. See TS 102 223 for * details. - * @return The APDU response from the ICC card. + * @return The APDU response from the ICC card, with the last 4 bytes + * being the status word. If the command fails, returns an empty + * string. */ - String sendEnvelope(String content); + String sendEnvelopeWithStatus(String content); /** * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. |