Merge "Handle MMI for multi-SIM (1/3)" into lmp-mr1-dev

This commit is contained in:
Nancy Chen
2014-10-31 22:06:27 +00:00
committed by Android (Google) Code Review
4 changed files with 43 additions and 0 deletions

View File

@@ -28394,6 +28394,7 @@ package android.telecom {
method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle); method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage(); method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
method public boolean handleMmi(java.lang.String); method public boolean handleMmi(java.lang.String);
method public boolean handleMmi(android.telecom.PhoneAccountHandle, java.lang.String);
method public boolean hasMultipleCallCapableAccounts(); method public boolean hasMultipleCallCapableAccounts();
method public boolean isInCall(); method public boolean isInCall();
method public void registerPhoneAccount(android.telecom.PhoneAccount); method public void registerPhoneAccount(android.telecom.PhoneAccount);

View File

@@ -895,6 +895,7 @@ public class TelecomManager {
* Processes the specified dial string as an MMI code. * Processes the specified dial string as an MMI code.
* MMI codes are any sequence of characters entered into the dialpad that contain a "*" or "#". * MMI codes are any sequence of characters entered into the dialpad that contain a "*" or "#".
* Some of these sequences launch special behavior through handled by Telephony. * Some of these sequences launch special behavior through handled by Telephony.
* This method uses the default subscription.
* <p> * <p>
* Requires that the method-caller be set as the system dialer app. * Requires that the method-caller be set as the system dialer app.
* </p> * </p>
@@ -914,6 +915,31 @@ public class TelecomManager {
return false; return false;
} }
/**
* Processes the specified dial string as an MMI code.
* MMI codes are any sequence of characters entered into the dialpad that contain a "*" or "#".
* Some of these sequences launch special behavior through handled by Telephony.
* <p>
* Requires that the method-caller be set as the system dialer app.
* </p>
*
* @param accountHandle The handle for the account the MMI code should apply to.
* @param dialString The digits to dial.
* @return True if the digits were processed as an MMI code, false otherwise.
*
*/
public boolean handleMmi(PhoneAccountHandle accountHandle, String dialString) {
ITelecomService service = getTelecomService();
if (service != null) {
try {
return service.handlePinMmiForPhoneAccount(accountHandle, dialString);
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelecomService#handlePinMmi", e);
}
}
return false;
}
/** /**
* Removes the missed-call notification if one is present. * Removes the missed-call notification if one is present.
* <p> * <p>

View File

@@ -168,6 +168,11 @@ interface ITelecomService {
*/ */
boolean handlePinMmi(String dialString); boolean handlePinMmi(String dialString);
/**
* @see TelecomServiceImpl#handleMmi
*/
boolean handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString);
/** /**
* @see TelecomServiceImpl#isTtySupported * @see TelecomServiceImpl#isTtySupported
*/ */

View File

@@ -3334,6 +3334,17 @@ public class TelephonyManager {
return false; return false;
} }
/** @hide */
@SystemApi
public boolean handlePinMmiForSubscriber(int subId, String dialString) {
try {
return getITelephony().handlePinMmiForSubscriber(subId, dialString);
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelephony#handlePinMmi", e);
}
return false;
}
/** @hide */ /** @hide */
@SystemApi @SystemApi
public void toggleRadioOnOff() { public void toggleRadioOnOff() {