From d4abbfbcc16ae3e9bae77573496161ff561f8ced Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Wed, 3 Sep 2014 14:58:27 -0700 Subject: [PATCH] Tweak methods for get/set DefaultOutgoing phone account. + Rename setDefaultOutgoing...() to setUserSelected...(). + Add method for getting the UserSelected outgoing account. Bug: 17179743 Change-Id: I7ae24601ed670d3571acb7ef4f7ffd114d403a99 --- .../android/telecomm/TelecommManager.java | 28 +++++++++++++++++-- .../internal/telecomm/ITelecommService.aidl | 9 ++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/telecomm/java/android/telecomm/TelecommManager.java b/telecomm/java/android/telecomm/TelecommManager.java index 071b719fba1f5..5486be160a6d6 100644 --- a/telecomm/java/android/telecomm/TelecommManager.java +++ b/telecomm/java/android/telecomm/TelecommManager.java @@ -286,17 +286,39 @@ public class TelecommManager { return null; } + /** + * Return the {@link PhoneAccount} which is the user-chosen default for making outgoing phone + * calls. This {@code PhoneAccount} will always be a member of the list which is returned from + * calling {@link #getEnabledPhoneAccounts()} + * + * Apps must be prepared for this method to return {@code null}, indicating that there currently + * exists no user-chosen default {@code PhoneAccount}. + * + * @return The user outgoing phone account selected by the user. + * @hide + */ + public PhoneAccountHandle getUserSelectedOutgoingPhoneAccount() { + try { + if (isServiceConnected()) { + return getTelecommService().getUserSelectedOutgoingPhoneAccount(); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelecommService#getUserSelectedOutgoingPhoneAccount", e); + } + return null; + } + /** * Sets the default account for making outgoing phone calls. * @hide */ - public void setDefaultOutgoingPhoneAccount(PhoneAccountHandle accountHandle) { + public void setUserSelectedOutgoingPhoneAccount(PhoneAccountHandle accountHandle) { try { if (isServiceConnected()) { - getTelecommService().setDefaultOutgoingPhoneAccount(accountHandle); + getTelecommService().setUserSelectedOutgoingPhoneAccount(accountHandle); } } catch (RemoteException e) { - Log.e(TAG, "Error calling ITelecommService#setDefaultOutgoingPhoneAccount"); + Log.e(TAG, "Error calling ITelecommService#setUserSelectedOutgoingPhoneAccount"); } } diff --git a/telecomm/java/com/android/internal/telecomm/ITelecommService.aidl b/telecomm/java/com/android/internal/telecomm/ITelecommService.aidl index a6ab3ac03e2db..6ab78c40cb992 100644 --- a/telecomm/java/com/android/internal/telecomm/ITelecommService.aidl +++ b/telecomm/java/com/android/internal/telecomm/ITelecommService.aidl @@ -40,9 +40,14 @@ interface ITelecommService { PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme); /** - * @see TelecommServiceImpl#setDefaultOutgoingPhoneAccount + * @see TelecommServiceImpl#getUserSelectedOutgoingPhoneAccount */ - void setDefaultOutgoingPhoneAccount(in PhoneAccountHandle account); + PhoneAccountHandle getUserSelectedOutgoingPhoneAccount(); + + /** + * @see TelecommServiceImpl#setUserSelectedOutgoingPhoneAccount + */ + void setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account); /** * @see TelecommServiceImpl#getOutgoingPhoneAccounts