dial
is not appropriate).
*
* @param dialString the MMI command to be executed.
* @return true if MMI command is executed.
*/
boolean handlePinMmi(String dialString);
/**
* Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated
* without SEND (so dial
is not appropriate) for
* a particular subId.
* @param dialString the MMI command to be executed.
* @param subId user preferred subId.
* @return true if MMI command is executed.
*/
boolean handlePinMmiForSubscriber(int subId, String dialString);
/**
* Toggles the radio on or off.
*/
void toggleRadioOnOff();
/**
* Toggles the radio on or off on particular subId.
* @param subId user preferred subId.
*/
void toggleRadioOnOffForSubscriber(int subId);
/**
* Set the radio to on or off
*/
boolean setRadio(boolean turnOn);
/**
* Set the radio to on or off on particular subId.
* @param subId user preferred subId.
*/
boolean setRadioForSubscriber(int subId, boolean turnOn);
/**
* Set the radio to on or off unconditionally
*/
boolean setRadioPower(boolean turnOn);
/**
* Request to update location information in service state
*/
void updateServiceLocation();
/**
* Request to update location information for a subscrition in service state
* @param subId user preferred subId.
*/
void updateServiceLocationForSubscriber(int subId);
/**
* Enable location update notifications.
*/
void enableLocationUpdates();
/**
* Enable location update notifications.
* @param subId user preferred subId.
*/
void enableLocationUpdatesForSubscriber(int subId);
/**
* Disable location update notifications.
*/
void disableLocationUpdates();
/**
* Disable location update notifications.
* @param subId user preferred subId.
*/
void disableLocationUpdatesForSubscriber(int subId);
/**
* Allow mobile data connections.
*/
boolean enableDataConnectivity();
/**
* Disallow mobile data connections.
*/
boolean disableDataConnectivity();
/**
* Report whether data connectivity is possible.
*/
boolean isDataConnectivityPossible();
Bundle getCellLocation(String callingPkg);
/**
* Returns the neighboring cell information of the device.
*/
ListRequires Permission: * {@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(int subId, String brand); /** * Override the roaming indicator 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. * *
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(int subId, in List Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
String getDeviceId(String callingPackage);
/**
* Returns the IMEI for the given slot.
*
* @param slotId - device slot.
* @param callingPackage The package making the call.
* Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
String getImeiForSlot(int slotId, String callingPackage);
/**
* Returns the device software version.
*
* @param slotId - device slot.
* @param callingPackage The package making the call.
* Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
String getDeviceSoftwareVersionForSlot(int slotId, String callingPackage);
/**
* Returns the subscription ID associated with the specified PhoneAccount.
*/
int getSubIdForPhoneAccount(in PhoneAccount phoneAccount);
void factoryReset(int subId);
/**
* An estimate of the users's current locale based on the default SIM.
*
* The returned string will be a well formed BCP-47 language tag, or {@code null}
* if no locale could be derived.
*/
String getLocaleFromDefaultSim();
/**
* Requests the modem activity info asynchronously.
* The implementor is expected to reply with the
* {@link android.telephony.ModemActivityInfo} object placed into the Bundle with the key
* {@link android.telephony.TelephonyManager#MODEM_ACTIVITY_RESULT_KEY}.
* The result code is ignored.
*/
oneway void requestModemActivityInfo(in ResultReceiver result);
/**
* Get the service state on specified subscription
* @param subId Subscription id
* @param callingPackage The package making the call
* @return Service state on specified subscription.
*/
ServiceState getServiceStateForSubscriber(int subId, String callingPackage);
/**
* Returns the URI for the per-account voicemail ringtone set in Phone settings.
*
* @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the
* voicemail ringtone.
* @return The URI for the ringtone to play when receiving a voicemail from a specific
* PhoneAccount.
*/
Uri getVoicemailRingtoneUri(in PhoneAccountHandle accountHandle);
/**
* Returns whether vibration is set for voicemail notification in Phone settings.
*
* @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the
* voicemail vibration setting.
* @return {@code true} if the vibration is set for this PhoneAccount, {@code false} otherwise.
*/
boolean isVoicemailVibrationEnabled(in PhoneAccountHandle accountHandle);
/**
* Returns a list of packages that have carrier privileges.
*/
List