am 8e15e306: am 93c75e45: Merge "Replace get*PhoneAccounts* public API methods with new method (1/3)" into lmp-dev

* commit '8e15e3060db3982adadc917dfccc4b144982dd6d':
  Replace get*PhoneAccounts* public API methods with new method (1/3)
This commit is contained in:
Nancy Chen
2014-09-18 20:56:28 +00:00
committed by Android Git Automerger
4 changed files with 60 additions and 33 deletions

View File

@@ -28355,11 +28355,9 @@ package android.telecom {
method public void addNewIncomingCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
method public void cancelMissedCallsNotification();
method public void clearAccounts();
method public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
method public android.telecom.PhoneAccountHandle getConnectionManager();
method public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(java.lang.String);
method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(java.lang.String);
method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
method public boolean handleMmi(java.lang.String);
method public boolean hasMultipleCallCapableAccounts();
method public boolean isInCall();

View File

@@ -80,6 +80,15 @@ public final class Call {
*/
public static final int STATE_CONNECTING = 9;
/**
* The key to retrieve the optional {@code PhoneAccount}s Telecom can bundle with its Call
* extras. Used to pass the phone accounts to display on the front end to the user in order to
* select phone accounts to (for example) place a call.
*
* @hide
*/
public static final String AVAILABLE_PHONE_ACCOUNTS = "selectPhoneAccountAccounts";
public static class Details {
private final Uri mHandle;
private final int mHandlePresentation;

View File

@@ -306,22 +306,16 @@ public class TelecomManager {
/**
* Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone
* calls with a specified URI scheme. This {@code PhoneAccount} will always be a member of the
* list which is returned from calling {@link #getCallCapablePhoneAccounts()}.
* calls with a specified URI scheme.
* <p>
* Apps must be prepared for this method to return {@code null}, indicating that there currently
* exists no user-chosen default {@code PhoneAccount}. In this case, apps wishing to initiate a
* phone call must either create their {@link android.content.Intent#ACTION_CALL} or
* {@link android.content.Intent#ACTION_DIAL} {@code Intent} with no
* {@link TelecomManager#EXTRA_PHONE_ACCOUNT_HANDLE}, or present the user with an affordance to
* select one of the elements of {@link #getCallCapablePhoneAccounts()}.
* exists no user-chosen default {@code PhoneAccount}.
* <p>
* An {@link android.content.Intent#ACTION_CALL} or {@link android.content.Intent#ACTION_DIAL}
* {@code Intent} with no {@link TelecomManager#EXTRA_PHONE_ACCOUNT_HANDLE} is valid, and
* subsequent steps in the phone call flow are responsible for presenting the user with an
* affordance, if necessary, to choose a {@code PhoneAccount}.
*
* @param uriScheme The URI scheme.
* @return The {@link PhoneAccountHandle} corresponding to the user-chosen default for outgoing
* phone calls for a specified URI scheme.
*
* @hide
*/
public PhoneAccountHandle getDefaultOutgoingPhoneAccount(String uriScheme) {
try {
@@ -370,24 +364,6 @@ public class TelecomManager {
}
}
/**
* Return a list of {@link PhoneAccountHandle}s which can be used to make and receive phone
* calls.
*
* @see #EXTRA_PHONE_ACCOUNT_HANDLE
* @return A list of {@code PhoneAccountHandle} objects.
*/
public List<PhoneAccountHandle> getCallCapablePhoneAccounts() {
try {
if (isServiceConnected()) {
return getTelecomService().getCallCapablePhoneAccounts();
}
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts", e);
}
return new ArrayList<>();
}
/**
* Returns the current SIM call manager. Apps must be prepared for this method to return
* {@code null}, indicating that there currently exists no user-chosen default
@@ -459,6 +435,8 @@ public class TelecomManager {
*
* @param uriScheme The URI scheme.
* @return A list of {@code PhoneAccountHandle} objects supporting the URI scheme.
*
* @hide
*/
public List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(String uriScheme) {
try {
@@ -471,6 +449,27 @@ public class TelecomManager {
return new ArrayList<>();
}
/**
* Return a list of {@link PhoneAccountHandle}s which can be used to make and receive phone
* calls.
*
* @see #EXTRA_PHONE_ACCOUNT_HANDLE
* @return A list of {@code PhoneAccountHandle} objects.
*
* @hide
*/
public List<PhoneAccountHandle> getCallCapablePhoneAccounts() {
try {
if (isServiceConnected()) {
return getTelecomService().getCallCapablePhoneAccounts();
}
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelecomService#getCallCapablePhoneAccounts", e);
}
return new ArrayList<>();
}
/**
* Determine whether the device has more than one account registered that can make and receive
* phone calls.
@@ -482,6 +481,22 @@ public class TelecomManager {
return getCallCapablePhoneAccounts().size() > 1;
}
/**
* Returns a list of all {@link PhoneAccount}s registered for the calling package.
*
* @return A list of {@code PhoneAccountHandle} objects.
*/
public List<PhoneAccountHandle> getPhoneAccountsForPackage() {
try {
if (isServiceConnected()) {
return getTelecomService().getPhoneAccountsForPackage(mContext.getPackageName());
}
} catch (RemoteException e) {
Log.e(TAG, "Error calling ITelecomService#getPhoneAccountsForPackage", e);
}
return null;
}
/**
* Return the {@link PhoneAccount} for a specified {@link PhoneAccountHandle}. Object includes
* resources which can be used in a user interface.

View File

@@ -59,6 +59,11 @@ interface ITelecomService {
*/
List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(in String uriScheme);
/**
* @see TelecomManager#getPhoneAccountsForPackage
*/
List<PhoneAccountHandle> getPhoneAccountsForPackage(in String packageName);
/**
* @see TelecomManager#getPhoneAccount
*/