From 5cf27847b011b115afa4a2e05f8c9aaa6c77ad01 Mon Sep 17 00:00:00 2001 From: Nancy Chen Date: Sat, 24 Jan 2015 23:30:27 -0800 Subject: Add method in TelecomManager to return line1Number for a PhoneAccount. Since we do not want to expose SubIds in the app layer, we need a wrapper to extra the subId from a PhoneAccount and return the value of TelephonyManager#line1Number. Also update error strings to be more consistent. Bug: 19087382 Change-Id: Ie5a474d45336921d1007b36a4d26cd4da68f8b91 --- telecomm/java/android/telecom/TelecomManager.java | 26 +++++++++++++++++++--- .../android/internal/telecom/ITelecomService.aidl | 5 +++++ 2 files changed, 28 insertions(+), 3 deletions(-) (limited to 'telecomm') diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 6621726..1a6b292 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -691,7 +691,7 @@ public class TelecomManager { getTelecomService().clearAccounts(packageName); } } catch (RemoteException e) { - Log.e(TAG, "Error calling ITelecomService#clearAccountsForPackage()", e); + Log.e(TAG, "Error calling ITelecomService#clearAccountsForPackage", e); } } @@ -726,7 +726,7 @@ public class TelecomManager { return getTelecomService().isVoiceMailNumber(accountHandle, number); } } catch (RemoteException e) { - Log.e(TAG, "RemoteException calling isInCall().", e); + Log.e(TAG, "RemoteException calling ITelecomService#isVoiceMailNumber.", e); } return false; } @@ -746,12 +746,32 @@ public class TelecomManager { return getTelecomService().hasVoiceMailNumber(accountHandle); } } catch (RemoteException e) { - Log.e(TAG, "RemoteException calling isInCall().", e); + Log.e(TAG, "RemoteException calling ITelecomService#hasVoiceMailNumber.", e); } return false; } /** + * Return the line 1 phone number for given phone account. + * + * @param accountHandle The handle for the account retrieve a number for. + * @return A string representation of the line 1 phone number. + * + * @hide + */ + @SystemApi + public String getLine1Number(PhoneAccountHandle accountHandle) { + try { + if (isServiceConnected()) { + return getTelecomService().getLine1Number(accountHandle); + } + } catch (RemoteException e) { + Log.e(TAG, "RemoteException calling ITelecomService#getLine1Number.", e); + } + return null; + } + + /** * Returns whether there is an ongoing phone call (can be in dialing, ringing, active or holding * states). *

diff --git a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl index f8d7539..d2030f2 100644 --- a/telecomm/java/com/android/internal/telecom/ITelecomService.aidl +++ b/telecomm/java/com/android/internal/telecom/ITelecomService.aidl @@ -126,6 +126,11 @@ interface ITelecomService { boolean hasVoiceMailNumber(in PhoneAccountHandle accountHandle); /** + * @see TelecomServiceImpl#getLine1Number + */ + String getLine1Number(in PhoneAccountHandle accountHandle); + + /** * @see TelecomServiceImpl#getDefaultPhoneApp */ ComponentName getDefaultPhoneApp(); -- cgit v1.1