diff options
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 38 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 11 |
2 files changed, 45 insertions, 4 deletions
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 7002744..7733222 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1773,12 +1773,15 @@ public class TelephonyManager { * * Input parameters equivalent to TS 27.007 AT+CCHO command. * + * <p>Requires Permission: + * {@link android.Manifest.permission#SIM_COMMUNICATION SIM_COMMUNICATION} + * * @param AID Application id. See ETSI 102.221 and 101.220. * @return The logical channel id which is negative on error. */ public int iccOpenLogicalChannel(String AID) { try { - return getITelephony().iccOpenLogicalChannel(AID); + return getITelephony().iccOpenLogicalChannel(AID); } catch (RemoteException ex) { } catch (NullPointerException ex) { } @@ -1790,13 +1793,16 @@ public class TelephonyManager { * * Input parameters equivalent to TS 27.007 AT+CCHC command. * + * <p>Requires Permission: + * {@link android.Manifest.permission#SIM_COMMUNICATION SIM_COMMUNICATION} + * * @param channel is the channel id to be closed as retruned by a successful * iccOpenLogicalChannel. * @return true if the channel was closed successfully. */ public boolean iccCloseLogicalChannel(int channel) { try { - return getITelephony().iccCloseLogicalChannel(channel); + return getITelephony().iccCloseLogicalChannel(channel); } catch (RemoteException ex) { } catch (NullPointerException ex) { } @@ -1808,6 +1814,9 @@ public class TelephonyManager { * * Input parameters equivalent to TS 27.007 AT+CGLA command. * + * <p>Requires Permission: + * {@link android.Manifest.permission#SIM_COMMUNICATION SIM_COMMUNICATION} + * * @param channel is the channel id to be closed as returned by a successful * iccOpenLogicalChannel. * @param cla Class of the APDU command. @@ -1823,8 +1832,29 @@ public class TelephonyManager { public String iccTransmitApduLogicalChannel(int channel, int cla, int instruction, int p1, int p2, int p3, String data) { try { - return getITelephony().iccTransmitApduLogicalChannel(channel, cla, - instruction, p1, p2, p3, data); + return getITelephony().iccTransmitApduLogicalChannel(channel, cla, + instruction, p1, p2, p3, data); + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + return ""; + } + + /** + * Send ENVELOPE to the SIM, after processing a proactive command sent by + * the SIM. + * + * <p>Requires Permission: + * {@link android.Manifest.permission#SIM_COMMUNICATION SIM_COMMUNICATION} + * + * @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. + */ + public String sendEnvelope(String content) { + try { + return getITelephony().sendEnvelope(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 72398ad..9cbf66e 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -373,6 +373,17 @@ interface ITelephony { int p1, int p2, int p3, String data); /** + * Send ENVELOPE to the SIM, after processing a proactive command sent by + * the SIM. + * + * @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. + */ + String sendEnvelope(String content); + + /** * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. * Used for device configuration by some CDMA operators. * |