Merge "Add subscription specific TelephonyManager calls." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7aa999143f
@@ -37135,12 +37135,18 @@ package android.telephony {
|
||||
method public int getVoiceNetworkType(int);
|
||||
method public android.net.Uri getVoicemailRingtoneUri(android.telecom.PhoneAccountHandle);
|
||||
method public boolean hasCarrierPrivileges();
|
||||
method public boolean hasCarrierPrivileges(int);
|
||||
method public boolean hasIccCard();
|
||||
method public boolean iccCloseLogicalChannel(int);
|
||||
method public boolean iccCloseLogicalChannel(int, int);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, java.lang.String);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, int, java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, int, java.lang.String);
|
||||
method public boolean isHearingAidCompatibilitySupported();
|
||||
method public boolean isNetworkRoaming();
|
||||
method public boolean isNetworkRoaming(int);
|
||||
@@ -37151,10 +37157,13 @@ package android.telephony {
|
||||
method public boolean isWorldPhone();
|
||||
method public void listen(android.telephony.PhoneStateListener, int);
|
||||
method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
|
||||
method public java.lang.String sendEnvelopeWithStatus(int, java.lang.String);
|
||||
method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
|
||||
method public boolean setLine1NumberForDisplay(int, java.lang.String, java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(int, java.lang.String);
|
||||
method public boolean setPreferredNetworkTypeToGlobal();
|
||||
method public boolean setPreferredNetworkTypeToGlobal(int);
|
||||
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
|
||||
method public boolean setVoiceMailNumber(int, java.lang.String, java.lang.String);
|
||||
field public static final java.lang.String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL";
|
||||
|
||||
@@ -39873,12 +39873,18 @@ package android.telephony {
|
||||
method public boolean handlePinMmi(java.lang.String);
|
||||
method public boolean handlePinMmiForSubscriber(int, java.lang.String);
|
||||
method public boolean hasCarrierPrivileges();
|
||||
method public boolean hasCarrierPrivileges(int);
|
||||
method public boolean hasIccCard();
|
||||
method public boolean iccCloseLogicalChannel(int);
|
||||
method public boolean iccCloseLogicalChannel(int, int);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, java.lang.String);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, int, java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, int, java.lang.String);
|
||||
method public boolean isDataConnectivityPossible();
|
||||
method public boolean isHearingAidCompatibilitySupported();
|
||||
method public boolean isIdle();
|
||||
@@ -39896,12 +39902,15 @@ package android.telephony {
|
||||
method public void listen(android.telephony.PhoneStateListener, int);
|
||||
method public boolean needsOtaServiceProvisioning();
|
||||
method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
|
||||
method public java.lang.String sendEnvelopeWithStatus(int, java.lang.String);
|
||||
method public void setDataEnabled(boolean);
|
||||
method public void setDataEnabled(int, boolean);
|
||||
method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
|
||||
method public boolean setLine1NumberForDisplay(int, java.lang.String, java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(int, java.lang.String);
|
||||
method public boolean setPreferredNetworkTypeToGlobal();
|
||||
method public boolean setPreferredNetworkTypeToGlobal(int);
|
||||
method public boolean setRadio(boolean);
|
||||
method public boolean setRadioPower(boolean);
|
||||
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
|
||||
|
||||
@@ -37150,12 +37150,18 @@ package android.telephony {
|
||||
method public int getVoiceNetworkType(int);
|
||||
method public android.net.Uri getVoicemailRingtoneUri(android.telecom.PhoneAccountHandle);
|
||||
method public boolean hasCarrierPrivileges();
|
||||
method public boolean hasCarrierPrivileges(int);
|
||||
method public boolean hasIccCard();
|
||||
method public boolean iccCloseLogicalChannel(int);
|
||||
method public boolean iccCloseLogicalChannel(int, int);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, java.lang.String);
|
||||
method public byte[] iccExchangeSimIO(int, int, int, int, int, int, java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(java.lang.String);
|
||||
method public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduBasicChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String);
|
||||
method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, int, java.lang.String);
|
||||
method public boolean isHearingAidCompatibilitySupported();
|
||||
method public boolean isNetworkRoaming();
|
||||
method public boolean isNetworkRoaming(int);
|
||||
@@ -37166,10 +37172,13 @@ package android.telephony {
|
||||
method public boolean isWorldPhone();
|
||||
method public void listen(android.telephony.PhoneStateListener, int);
|
||||
method public java.lang.String sendEnvelopeWithStatus(java.lang.String);
|
||||
method public java.lang.String sendEnvelopeWithStatus(int, java.lang.String);
|
||||
method public boolean setLine1NumberForDisplay(java.lang.String, java.lang.String);
|
||||
method public boolean setLine1NumberForDisplay(int, java.lang.String, java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(java.lang.String);
|
||||
method public boolean setOperatorBrandOverride(int, java.lang.String);
|
||||
method public boolean setPreferredNetworkTypeToGlobal();
|
||||
method public boolean setPreferredNetworkTypeToGlobal(int);
|
||||
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
|
||||
method public boolean setVoiceMailNumber(int, java.lang.String, java.lang.String);
|
||||
field public static final java.lang.String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL";
|
||||
|
||||
@@ -2931,10 +2931,27 @@ public class TelephonyManager {
|
||||
* @return an IccOpenLogicalChannelResponse object.
|
||||
*/
|
||||
public IccOpenLogicalChannelResponse iccOpenLogicalChannel(String AID) {
|
||||
return iccOpenLogicalChannel(getDefaultSubscription(), AID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a logical channel to the ICC card.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CCHO command.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param AID Application id. See ETSI 102.221 and 101.220.
|
||||
* @return an IccOpenLogicalChannelResponse object.
|
||||
*/
|
||||
public IccOpenLogicalChannelResponse iccOpenLogicalChannel(int subId, String AID) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.iccOpenLogicalChannel(AID);
|
||||
return telephony.iccOpenLogicalChannel(subId, AID);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
}
|
||||
@@ -2955,10 +2972,28 @@ public class TelephonyManager {
|
||||
* @return true if the channel was closed successfully.
|
||||
*/
|
||||
public boolean iccCloseLogicalChannel(int channel) {
|
||||
return iccCloseLogicalChannel(getDefaultSubscription(), channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes a previously opened logical channel to the ICC card.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CCHC command.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @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 subId, int channel) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.iccCloseLogicalChannel(channel);
|
||||
return telephony.iccCloseLogicalChannel(subId, channel);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
}
|
||||
@@ -2988,10 +3023,38 @@ public class TelephonyManager {
|
||||
*/
|
||||
public String iccTransmitApduLogicalChannel(int channel, int cla,
|
||||
int instruction, int p1, int p2, int p3, String data) {
|
||||
return iccTransmitApduLogicalChannel(getDefaultSubscription(), channel, cla,
|
||||
instruction, p1, p2, p3, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transmit an APDU to the ICC card over a logical channel.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CGLA command.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param channel is the channel id to be closed as returned by a successful
|
||||
* iccOpenLogicalChannel.
|
||||
* @param cla Class of the APDU command.
|
||||
* @param instruction Instruction of the APDU command.
|
||||
* @param p1 P1 value of the APDU command.
|
||||
* @param p2 P2 value of the APDU command.
|
||||
* @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
|
||||
* is sent to the SIM.
|
||||
* @param data Data to be sent with the APDU.
|
||||
* @return The APDU response from the ICC card with the status appended at
|
||||
* the end.
|
||||
*/
|
||||
public String iccTransmitApduLogicalChannel(int subId, int channel, int cla,
|
||||
int instruction, int p1, int p2, int p3, String data) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.iccTransmitApduLogicalChannel(channel, cla,
|
||||
return telephony.iccTransmitApduLogicalChannel(subId, channel, cla,
|
||||
instruction, p1, p2, p3, data);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
@@ -3020,10 +3083,36 @@ public class TelephonyManager {
|
||||
*/
|
||||
public String iccTransmitApduBasicChannel(int cla,
|
||||
int instruction, int p1, int p2, int p3, String data) {
|
||||
return iccTransmitApduBasicChannel(getDefaultSubscription(), cla,
|
||||
instruction, p1, p2, p3, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transmit an APDU to the ICC card over the basic channel.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CSIM command.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param cla Class of the APDU command.
|
||||
* @param instruction Instruction of the APDU command.
|
||||
* @param p1 P1 value of the APDU command.
|
||||
* @param p2 P2 value of the APDU command.
|
||||
* @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
|
||||
* is sent to the SIM.
|
||||
* @param data Data to be sent with the APDU.
|
||||
* @return The APDU response from the ICC card with the status appended at
|
||||
* the end.
|
||||
*/
|
||||
public String iccTransmitApduBasicChannel(int subId, int cla,
|
||||
int instruction, int p1, int p2, int p3, String data) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.iccTransmitApduBasicChannel(cla,
|
||||
return telephony.iccTransmitApduBasicChannel(subId, cla,
|
||||
instruction, p1, p2, p3, data);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
@@ -3048,10 +3137,31 @@ public class TelephonyManager {
|
||||
*/
|
||||
public byte[] iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3,
|
||||
String filePath) {
|
||||
return iccExchangeSimIO(getDefaultSubscription(), fileID, command, p1, p2, p3, filePath);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the response APDU for a command APDU sent through SIM_IO.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param fileID
|
||||
* @param command
|
||||
* @param p1 P1 value of the APDU command.
|
||||
* @param p2 P2 value of the APDU command.
|
||||
* @param p3 P3 value of the APDU command.
|
||||
* @param filePath
|
||||
* @return The APDU response.
|
||||
*/
|
||||
public byte[] iccExchangeSimIO(int subId, int fileID, int command, int p1, int p2,
|
||||
int p3, String filePath) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.iccExchangeSimIO(fileID, command, p1, p2, p3, filePath);
|
||||
return telephony.iccExchangeSimIO(subId, fileID, command, p1, p2, p3, filePath);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
}
|
||||
@@ -3073,10 +3183,29 @@ public class TelephonyManager {
|
||||
* returns an empty string.
|
||||
*/
|
||||
public String sendEnvelopeWithStatus(String content) {
|
||||
return sendEnvelopeWithStatus(getDefaultSubscription(), content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send ENVELOPE to the SIM and return the response.
|
||||
*
|
||||
* <p>Requires Permission:
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* Or the calling app has carrier privileges. @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @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 in hexadecimal format
|
||||
* with the last 4 bytes being the status word. If the command fails,
|
||||
* returns an empty string.
|
||||
*/
|
||||
public String sendEnvelopeWithStatus(int subId, String content) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.sendEnvelopeWithStatus(content);
|
||||
return telephony.sendEnvelopeWithStatus(subId, content);
|
||||
} catch (RemoteException ex) {
|
||||
} catch (NullPointerException ex) {
|
||||
}
|
||||
@@ -3637,8 +3766,20 @@ public class TelephonyManager {
|
||||
* @return true on success; false on any failure.
|
||||
*/
|
||||
public boolean setPreferredNetworkTypeToGlobal() {
|
||||
return setPreferredNetworkType(getDefaultSubscription(),
|
||||
RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
|
||||
return setPreferredNetworkTypeToGlobal(getDefaultSubscription());
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the preferred network type to global mode which includes LTE, CDMA, EvDo and GSM/WCDMA.
|
||||
*
|
||||
* <p>
|
||||
* Requires that the calling app has carrier privileges.
|
||||
* @see #hasCarrierPrivileges
|
||||
*
|
||||
* @return true on success; false on any failure.
|
||||
*/
|
||||
public boolean setPreferredNetworkTypeToGlobal(int subId) {
|
||||
return setPreferredNetworkType(subId, RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3685,10 +3826,26 @@ public class TelephonyManager {
|
||||
* @return true if the app has carrier privileges.
|
||||
*/
|
||||
public boolean hasCarrierPrivileges() {
|
||||
return hasCarrierPrivileges(getDefaultSubscription());
|
||||
}
|
||||
|
||||
/**
|
||||
* Has the calling application been granted carrier privileges by the carrier.
|
||||
*
|
||||
* If any of the packages in the calling UID has carrier privileges, the
|
||||
* call will return true. This access is granted by the owner of the UICC
|
||||
* card and does not depend on the registered carrier.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @return true if the app has carrier privileges.
|
||||
*/
|
||||
public boolean hasCarrierPrivileges(int subId) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.getCarrierPrivilegeStatus() == CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
|
||||
if (telephony != null) {
|
||||
return telephony.getCarrierPrivilegeStatus(subId) ==
|
||||
CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
Rlog.e(TAG, "hasCarrierPrivileges RemoteException", ex);
|
||||
} catch (NullPointerException ex) {
|
||||
@@ -3712,10 +3869,29 @@ public class TelephonyManager {
|
||||
* @return true if the operation was executed correctly.
|
||||
*/
|
||||
public boolean setOperatorBrandOverride(String brand) {
|
||||
return setOperatorBrandOverride(getDefaultSubscription(), brand);
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the branding for the current ICCID.
|
||||
*
|
||||
* Once set, whenever the SIM is present in the device, the service
|
||||
* provider name (SPN) and the operator name will both be replaced by the
|
||||
* brand value input. To unset the value, the same function should be
|
||||
* called with a null brand value.
|
||||
*
|
||||
* <p>Requires that the calling app has carrier privileges.
|
||||
* @see #hasCarrierPrivileges
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param brand The brand name to display/set.
|
||||
* @return true if the operation was executed correctly.
|
||||
*/
|
||||
public boolean setOperatorBrandOverride(int subId, String brand) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.setOperatorBrandOverride(brand);
|
||||
return telephony.setOperatorBrandOverride(subId, brand);
|
||||
} catch (RemoteException ex) {
|
||||
Rlog.e(TAG, "setOperatorBrandOverride RemoteException", ex);
|
||||
} catch (NullPointerException ex) {
|
||||
@@ -3746,10 +3922,37 @@ public class TelephonyManager {
|
||||
public boolean setRoamingOverride(List<String> gsmRoamingList,
|
||||
List<String> gsmNonRoamingList, List<String> cdmaRoamingList,
|
||||
List<String> cdmaNonRoamingList) {
|
||||
return setRoamingOverride(getDefaultSubscription(), gsmRoamingList, gsmNonRoamingList,
|
||||
cdmaRoamingList, cdmaNonRoamingList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the roaming preference for the current ICCID.
|
||||
*
|
||||
* Using this call, the carrier app (see #hasCarrierPrivileges) can override
|
||||
* the platform's notion of a network operator being considered roaming or not.
|
||||
* The change only affects the ICCID that was active when this call was made.
|
||||
*
|
||||
* If null is passed as any of the input, the corresponding value is deleted.
|
||||
*
|
||||
* <p>Requires that the caller have carrier privilege. See #hasCarrierPrivileges.
|
||||
*
|
||||
* @param subId for which the roaming overrides apply.
|
||||
* @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs.
|
||||
* @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs.
|
||||
* @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs.
|
||||
* @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs.
|
||||
* @return true if the operation was executed correctly.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public boolean setRoamingOverride(int subId, List<String> gsmRoamingList,
|
||||
List<String> gsmNonRoamingList, List<String> cdmaRoamingList,
|
||||
List<String> cdmaNonRoamingList) {
|
||||
try {
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null)
|
||||
return telephony.setRoamingOverride(gsmRoamingList, gsmNonRoamingList,
|
||||
return telephony.setRoamingOverride(subId, gsmRoamingList, gsmNonRoamingList,
|
||||
cdmaRoamingList, cdmaNonRoamingList);
|
||||
} catch (RemoteException ex) {
|
||||
Rlog.e(TAG, "setRoamingOverride RemoteException", ex);
|
||||
|
||||
@@ -538,27 +538,30 @@ interface ITelephony {
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CCHO command.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param AID Application id. See ETSI 102.221 and 101.220.
|
||||
* @return an IccOpenLogicalChannelResponse object.
|
||||
*/
|
||||
IccOpenLogicalChannelResponse iccOpenLogicalChannel(String AID);
|
||||
IccOpenLogicalChannelResponse iccOpenLogicalChannel(int subId, String AID);
|
||||
|
||||
/**
|
||||
* Closes a previously opened logical channel to the ICC card.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CCHC command.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param channel is the channel id to be closed as retruned by a
|
||||
* successful iccOpenLogicalChannel.
|
||||
* @return true if the channel was closed successfully.
|
||||
*/
|
||||
boolean iccCloseLogicalChannel(int channel);
|
||||
boolean iccCloseLogicalChannel(int subId, int channel);
|
||||
|
||||
/**
|
||||
* Transmit an APDU to the ICC card over a logical channel.
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CGLA command.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param channel is the channel id to be closed as retruned by a
|
||||
* successful iccOpenLogicalChannel.
|
||||
* @param cla Class of the APDU command.
|
||||
@@ -571,7 +574,7 @@ interface ITelephony {
|
||||
* @return The APDU response from the ICC card with the status appended at
|
||||
* the end.
|
||||
*/
|
||||
String iccTransmitApduLogicalChannel(int channel, int cla, int instruction,
|
||||
String iccTransmitApduLogicalChannel(int subId, int channel, int cla, int instruction,
|
||||
int p1, int p2, int p3, String data);
|
||||
|
||||
/**
|
||||
@@ -579,6 +582,7 @@ interface ITelephony {
|
||||
*
|
||||
* Input parameters equivalent to TS 27.007 AT+CSIM command.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param cla Class of the APDU command.
|
||||
* @param instruction Instruction of the APDU command.
|
||||
* @param p1 P1 value of the APDU command.
|
||||
@@ -589,12 +593,13 @@ interface ITelephony {
|
||||
* @return The APDU response from the ICC card with the status appended at
|
||||
* the end.
|
||||
*/
|
||||
String iccTransmitApduBasicChannel(int cla, int instruction,
|
||||
String iccTransmitApduBasicChannel(int subId, int cla, int instruction,
|
||||
int p1, int p2, int p3, String data);
|
||||
|
||||
/**
|
||||
* Returns the response APDU for a command APDU sent through SIM_IO.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param fileID
|
||||
* @param command
|
||||
* @param p1 P1 value of the APDU command.
|
||||
@@ -603,12 +608,13 @@ interface ITelephony {
|
||||
* @param filePath
|
||||
* @return The APDU response.
|
||||
*/
|
||||
byte[] iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3,
|
||||
byte[] iccExchangeSimIO(int subId, int fileID, int command, int p1, int p2, int p3,
|
||||
String filePath);
|
||||
|
||||
/**
|
||||
* Send ENVELOPE to the SIM and returns the response.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param contents String containing SAT/USAT response in hexadecimal
|
||||
* format starting with command tag. See TS 102 223 for
|
||||
* details.
|
||||
@@ -616,7 +622,7 @@ interface ITelephony {
|
||||
* being the status word. If the command fails, returns an empty
|
||||
* string.
|
||||
*/
|
||||
String sendEnvelopeWithStatus(String content);
|
||||
String sendEnvelopeWithStatus(int subId, String content);
|
||||
|
||||
/**
|
||||
* Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}.
|
||||
@@ -768,9 +774,10 @@ interface ITelephony {
|
||||
*
|
||||
* TODO: Add a link to documentation.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @return carrier privilege status defined in TelephonyManager.
|
||||
*/
|
||||
int getCarrierPrivilegeStatus();
|
||||
int getCarrierPrivilegeStatus(int subId);
|
||||
|
||||
/**
|
||||
* Similar to above, but check for the package whose name is pkgName.
|
||||
@@ -842,10 +849,11 @@ interface ITelephony {
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
|
||||
* or has to be carrier app - see #hasCarrierPrivileges.
|
||||
*
|
||||
* @param subId The subscription to use.
|
||||
* @param brand The brand name to display/set.
|
||||
* @return true if the operation was executed correctly.
|
||||
*/
|
||||
boolean setOperatorBrandOverride(String brand);
|
||||
boolean setOperatorBrandOverride(int subId, String brand);
|
||||
|
||||
/**
|
||||
* Override the roaming indicator for the current ICCID.
|
||||
@@ -858,13 +866,14 @@ interface ITelephony {
|
||||
*
|
||||
* <p>Requires that the caller have carrier privilege. See #hasCarrierPrivileges.
|
||||
*
|
||||
* @param subId for which the roaming overrides apply.
|
||||
* @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs.
|
||||
* @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs.
|
||||
* @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs.
|
||||
* @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs.
|
||||
* @return true if the operation was executed correctly.
|
||||
*/
|
||||
boolean setRoamingOverride(in List<String> gsmRoamingList,
|
||||
boolean setRoamingOverride(int subId, in List<String> gsmRoamingList,
|
||||
in List<String> gsmNonRoamingList, in List<String> cdmaRoamingList,
|
||||
in List<String> cdmaNonRoamingList);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user