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

Commit 75245f68 authored by Christine Chen's avatar Christine Chen
Browse files

Fixes how voicemail looks up contact names

Bug: 10966248
Change-Id: I6532e71c3a63104587e5f9bdba59ce2eb3423bb4
parent 769ad7e0
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -118,12 +118,12 @@ public class DefaultVoicemailNotifier implements VoicemailNotifier {
            // Check if we already know the name associated with this number.
            String name = names.get(newCall.number);
            if (name == null) {
                name = mPhoneNumberHelper.getDisplayName(newCall.number,
                        newCall.numberPresentation).toString();
                // If we cannot lookup the contact, use the number instead.
                if (TextUtils.isEmpty(name)) {
                    // Look it up in the database.
                    name = mNameLookupQuery.query(newCall.number);
                // If we cannot lookup the contact, use the number instead.
                if (name == null) {
                    name = mPhoneNumberHelper.getDisplayNumber(newCall.number,
                            newCall.numberPresentation, "").toString();
                    if (TextUtils.isEmpty(name)) {
                        name = newCall.number;
                    }
+23 −11
Original line number Diff line number Diff line
@@ -33,14 +33,7 @@ public class PhoneNumberHelper {
        mResources = resources;
    }

    /**
     * Returns the string to display for the given phone number.
     *
     * @param number the number to display
     * @param formattedNumber the formatted number if available, may be null
     */
    public CharSequence getDisplayNumber(CharSequence number,
            int presentation, CharSequence formattedNumber) {
    /* package */ CharSequence getDisplayName(CharSequence number, int presentation) {
        if (presentation == Calls.PRESENTATION_UNKNOWN) {
            return mResources.getString(R.string.unknown);
        }
@@ -50,15 +43,34 @@ public class PhoneNumberHelper {
        if (presentation == Calls.PRESENTATION_PAYPHONE) {
            return mResources.getString(R.string.payphone);
        }
        if (TextUtils.isEmpty(number)) {
            return "";
        }
        if (new PhoneNumberUtilsWrapper().isVoicemailNumber(number)) {
            return mResources.getString(R.string.voicemail);
        }
        if (PhoneNumberUtilsWrapper.isLegacyUnknownNumbers(number)) {
            return mResources.getString(R.string.unknown);
        }
        return "";
    }

    /**
     * Returns the string to display for the given phone number.
     *
     * @param number the number to display
     * @param formattedNumber the formatted number if available, may be null
     */
    public CharSequence getDisplayNumber(CharSequence number,
            int presentation, CharSequence formattedNumber) {

        final CharSequence displayName = getDisplayName(number, presentation);

        if (!TextUtils.isEmpty(displayName)) {
            return displayName;
        }

        if (TextUtils.isEmpty(number)) {
            return "";
        }

        if (TextUtils.isEmpty(formattedNumber)) {
            return number;
        } else {