Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5cf27847 authored by Nancy Chen's avatar Nancy Chen
Browse files

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
parent a2fa3d21
Loading
Loading
Loading
Loading
+23 −3
Original line number Diff line number Diff line
@@ -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,11 +746,31 @@ 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).
+5 −0
Original line number Diff line number Diff line
@@ -125,6 +125,11 @@ interface ITelecomService {
     */
    boolean hasVoiceMailNumber(in PhoneAccountHandle accountHandle);

    /**
     * @see TelecomServiceImpl#getLine1Number
     */
    String getLine1Number(in PhoneAccountHandle accountHandle);

    /**
     * @see TelecomServiceImpl#getDefaultPhoneApp
     */